From 697357e693a805270942754c86a2a4aabb3f73a6 Mon Sep 17 00:00:00 2001 From: Chohyuntae Date: Tue, 31 Oct 2023 11:50:28 +0900 Subject: [PATCH 1/8] =?UTF-8?q?=ED=94=84=EB=A1=9C=ED=86=A0=20=ED=83=80?= =?UTF-8?q?=EC=9D=B4=ED=95=91=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- OneTwoThree/1882372.json | 1 - OneTwoThree/OneTwoThree/1882372.json | 1 + OneTwoThree/OneTwoThree/__game-scripts.js | 1 + OneTwoThree/{ => OneTwoThree}/__loading__.js | 0 OneTwoThree/{ => OneTwoThree}/__modules__.js | 0 OneTwoThree/{ => OneTwoThree}/__settings__.js | 2 +- OneTwoThree/{ => OneTwoThree}/__start__.js | 0 .../files/assets/154122815/1/win_m.mp3 | Bin .../files/assets/154122816/1/click3.mp3 | Bin .../files/assets/154122818/1/lose.mp3 | Bin .../files/assets/154122827/1/vitro_core.png | Bin .../files/assets/154122830/1/win.mp3 | Bin .../154122838/1/superstar_memesbruh03.png | Bin .../files/assets/154122841/1/Ok.png | Bin .../files/assets/154122845/1/up_Money.png | Bin .../files/assets/154122847/1/Clear_copy.png | Bin .../files/assets/154122852/1/open.mp3 | Bin .../files/assets/154122862/1/cardMove_m.mp3 | Bin .../files/assets/154122882/1/cardFlip_m.mp3 | Bin .../files/assets/154122886/1/draw_m.mp3 | Bin .../files/assets/154122887/1/Cancel.png | Bin .../assets/154122889/1/Layer_5_copy_5.png | Bin .../files/assets/154122890/1/lose_m.mp3 | Bin .../files/assets/155554346/1/s_on.png | Bin 0 -> 2445 bytes .../files/assets/155554347/1/s_off.png | Bin 0 -> 2443 bytes OneTwoThree/{ => OneTwoThree}/index.html | 0 OneTwoThree/{ => OneTwoThree}/logo.png | Bin OneTwoThree/{ => OneTwoThree}/manifest.json | 0 .../{ => OneTwoThree}/playcanvas-stable.min.js | 0 OneTwoThree/{ => OneTwoThree}/styles.css | 0 OneTwoThree/__game-scripts.js | 1 - OneTwoThree/files/assets/154122817/1/1.png | Bin 16032 -> 0 bytes .../files/assets/154122821/1/B_gray_off.png | Bin 5032 -> 0 bytes .../files/assets/154122822/1/SoundOff.png | Bin 12531 -> 0 bytes .../files/assets/154122850/1/cardFront.png | Bin 18416 -> 0 bytes .../files/assets/154122851/1/circle.png | Bin 10317 -> 0 bytes .../files/assets/154122854/1/B_green_off.png | Bin 14217 -> 0 bytes OneTwoThree/files/assets/154122855/1/2.png | Bin 15818 -> 0 bytes .../files/assets/154122856/1/B_blue_on.png | Bin 7741 -> 0 bytes .../files/assets/154122857/1/B_red_off.png | Bin 4986 -> 0 bytes OneTwoThree/files/assets/154122858/1/redBG.png | Bin 18475 -> 0 bytes .../files/assets/154122859/1/B_blue_off.png | Bin 5026 -> 0 bytes .../files/assets/154122860/1/border_m.png | Bin 11109 -> 0 bytes .../files/assets/154122868/1/B_gray_on.png | Bin 6839 -> 0 bytes .../files/assets/154122869/1/loseImg.png | Bin 29440 -> 0 bytes .../files/assets/154122870/1/winImg.png | Bin 27603 -> 0 bytes OneTwoThree/files/assets/154122871/1/4.png | Bin 17395 -> 0 bytes OneTwoThree/files/assets/154122872/1/rect.png | Bin 14647 -> 0 bytes .../files/assets/154122873/1/B_red_on.png | Bin 9371 -> 0 bytes .../files/assets/154122874/1/B_green_on.png | Bin 17513 -> 0 bytes .../files/assets/154122875/1/drawImg.png | Bin 27283 -> 0 bytes .../files/assets/154122876/1/SoundOn.png | Bin 17543 -> 0 bytes OneTwoThree/files/assets/154122877/1/3.png | Bin 16418 -> 0 bytes .../files/assets/154122881/1/blueBG.png | Bin 18480 -> 0 bytes .../files/assets/154122888/1/cardBack_2.png | Bin 533486 -> 0 bytes .../files/assets/154122891/1/border.png | Bin 5761 -> 0 bytes 56 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 OneTwoThree/1882372.json create mode 100644 OneTwoThree/OneTwoThree/1882372.json create mode 100644 OneTwoThree/OneTwoThree/__game-scripts.js rename OneTwoThree/{ => OneTwoThree}/__loading__.js (100%) rename OneTwoThree/{ => OneTwoThree}/__modules__.js (100%) rename OneTwoThree/{ => OneTwoThree}/__settings__.js (70%) rename OneTwoThree/{ => OneTwoThree}/__start__.js (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122815/1/win_m.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122816/1/click3.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122818/1/lose.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122827/1/vitro_core.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122830/1/win.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122838/1/superstar_memesbruh03.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122841/1/Ok.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122845/1/up_Money.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122847/1/Clear_copy.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122852/1/open.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122862/1/cardMove_m.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122882/1/cardFlip_m.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122886/1/draw_m.mp3 (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122887/1/Cancel.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122889/1/Layer_5_copy_5.png (100%) rename OneTwoThree/{ => OneTwoThree}/files/assets/154122890/1/lose_m.mp3 (100%) create mode 100644 OneTwoThree/OneTwoThree/files/assets/155554346/1/s_on.png create mode 100644 OneTwoThree/OneTwoThree/files/assets/155554347/1/s_off.png rename OneTwoThree/{ => OneTwoThree}/index.html (100%) rename OneTwoThree/{ => OneTwoThree}/logo.png (100%) rename OneTwoThree/{ => OneTwoThree}/manifest.json (100%) rename OneTwoThree/{ => OneTwoThree}/playcanvas-stable.min.js (100%) rename OneTwoThree/{ => OneTwoThree}/styles.css (100%) delete mode 100644 OneTwoThree/__game-scripts.js delete mode 100644 OneTwoThree/files/assets/154122817/1/1.png delete mode 100644 OneTwoThree/files/assets/154122821/1/B_gray_off.png delete mode 100644 OneTwoThree/files/assets/154122822/1/SoundOff.png delete mode 100644 OneTwoThree/files/assets/154122850/1/cardFront.png delete mode 100644 OneTwoThree/files/assets/154122851/1/circle.png delete mode 100644 OneTwoThree/files/assets/154122854/1/B_green_off.png delete mode 100644 OneTwoThree/files/assets/154122855/1/2.png delete mode 100644 OneTwoThree/files/assets/154122856/1/B_blue_on.png delete mode 100644 OneTwoThree/files/assets/154122857/1/B_red_off.png delete mode 100644 OneTwoThree/files/assets/154122858/1/redBG.png delete mode 100644 OneTwoThree/files/assets/154122859/1/B_blue_off.png delete mode 100644 OneTwoThree/files/assets/154122860/1/border_m.png delete mode 100644 OneTwoThree/files/assets/154122868/1/B_gray_on.png delete mode 100644 OneTwoThree/files/assets/154122869/1/loseImg.png delete mode 100644 OneTwoThree/files/assets/154122870/1/winImg.png delete mode 100644 OneTwoThree/files/assets/154122871/1/4.png delete mode 100644 OneTwoThree/files/assets/154122872/1/rect.png delete mode 100644 OneTwoThree/files/assets/154122873/1/B_red_on.png delete mode 100644 OneTwoThree/files/assets/154122874/1/B_green_on.png delete mode 100644 OneTwoThree/files/assets/154122875/1/drawImg.png delete mode 100644 OneTwoThree/files/assets/154122876/1/SoundOn.png delete mode 100644 OneTwoThree/files/assets/154122877/1/3.png delete mode 100644 OneTwoThree/files/assets/154122881/1/blueBG.png delete mode 100644 OneTwoThree/files/assets/154122888/1/cardBack_2.png delete mode 100644 OneTwoThree/files/assets/154122891/1/border.png diff --git a/OneTwoThree/1882372.json b/OneTwoThree/1882372.json deleted file mode 100644 index cec2b3b..0000000 --- a/OneTwoThree/1882372.json +++ /dev/null @@ -1 +0,0 @@ -{"branch_id":"2056fa1c-9f97-4439-85a3-6377eb48d28c","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true}},"entities":{"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[2,2,-2],"scale":[1,1,1],"name":"Light","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"light":{"castShadows":true,"isStatic":false,"vsmBlurSize":11,"shadowUpdateMode":2,"normalOffsetBias":0.05,"color":[1,1,1],"bakeArea":0,"numCascades":1,"outerConeAngle":45,"bakeNumSamples":1,"affectDynamic":true,"intensity":1,"bakeDir":true,"cookieAngle":0,"affectLightmapped":false,"cookieChannel":"rgb","innerConeAngle":40,"shadowBias":0.2,"bake":false,"falloffMode":0,"cookieAsset":null,"vsmBias":0.01,"layers":[0],"cookieIntensity":1,"cascadeDistribution":0.5,"cookieOffset":[0,0],"shadowResolution":1024,"cookieScale":[1,1],"enabled":true,"shape":0,"range":8,"vsmBlurMode":1,"shadowDistance":16,"type":"directional","cookieFalloff":true,"shadowType":0}},"rotation":[45,135,0],"tags":[],"enabled":true,"children":[]},"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[0,0,0],"scale":[1,1,1],"name":"Root","parent":null,"resource_id":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{},"rotation":[0,0,0],"tags":[],"enabled":true,"children":["80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","a019517d-368f-4ce7-87bb-e99894bcc1e2","6a132463-4065-4029-8123-50daf0892779"]},"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[4,3.5,4],"scale":[1,1,1],"name":"Camera","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"camera":{"projection":0,"farClip":1000,"clearColorBuffer":true,"layers":[0,1,2,3,4],"priority":0,"fov":45,"clearDepthBuffer":true,"frustumCulling":true,"clearColor":[0.118,0.118,0.118,1],"enabled":true,"orthoHeight":4,"nearClip":0.1,"rect":[0,0,1,1]}},"rotation":[-30,45,0],"tags":[],"enabled":true,"children":[]},"a019517d-368f-4ce7-87bb-e99894bcc1e2":{"name":"2D Screen","tags":[],"enabled":true,"resource_id":"a019517d-368f-4ce7-87bb-e99894bcc1e2","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["553caf6c-a2e2-456e-bab1-af926693d0bd","7e408ddb-a1c0-4c54-ad0a-9b33af456156","c98c1544-8c4e-488d-ab9c-d889c34639ad","43776b5d-805c-405d-8a6a-693a0848e585","6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","cf778ab4-4cd6-4c44-a880-8eca997d8fcc"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"screen":{"enabled":true,"screenSpace":true,"scaleMode":"blend","scaleBlend":0.5,"resolution":[1280,720],"referenceResolution":[1000,1600]}}},"553caf6c-a2e2-456e-bab1-af926693d0bd":{"name":"BakcgourndCover","tags":[],"enabled":true,"resource_id":"553caf6c-a2e2-456e-bab1-af926693d0bd","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.38823529411764707,0.38823529411764707,0.38823529411764707],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-800,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c98c1544-8c4e-488d-ab9c-d889c34639ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"c98c1544-8c4e-488d-ab9c-d889c34639ad","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["39d376ac-458e-43c3-8d1e-efab6ddb7a46","5d189437-9722-4cdb-92e0-34304dbe04de"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,1,0.5,1],"pivot":[0.5,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":250,"margin":[-500,-250,-500,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["userBalance"],"scripts":{"userBalance":{"enabled":true,"attributes":{"userBalanceText":"5d189437-9722-4cdb-92e0-34304dbe04de","userName":"39d376ac-458e-43c3-8d1e-efab6ddb7a46"}}}}}},"39d376ac-458e-43c3-8d1e-efab6ddb7a46":{"name":"UserName","tags":[],"enabled":false,"resource_id":"39d376ac-458e-43c3-8d1e-efab6ddb7a46","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[-441.49566322447293,-50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,1,1,1],"pivot":[1,1],"text":"UserName","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":24.375,"margin":[-681.496,-98.75,441.496,50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d189437-9722-4cdb-92e0-34304dbe04de":{"name":"Balance","tags":[],"enabled":true,"resource_id":"5d189437-9722-4cdb-92e0-34304dbe04de","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[616.07,-50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,1,0,1],"pivot":[0,1],"text":"100","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":37.5,"height":24.375,"margin":[616.07,-98.75,-691.07,50],"alignment":[1,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"43776b5d-805c-405d-8a6a-693a0848e585":{"name":"Middle","tags":[],"enabled":true,"resource_id":"43776b5d-805c-405d-8a6a-693a0848e585","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["135a77e4-4e92-4615-beaf-63f2fddacb6d"],"position":[0,91.35106736896113,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-708.649,-500,-891.351],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["middle"],"scripts":{"middle":{"enabled":true,"attributes":{"players":[null,null,null,null]}}}}}},"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["717f1daa-0043-4f79-90ec-85deecdc5e73","480c18f6-d3b8-478a-b573-4889b0154e56","4a5d316b-7653-4505-b82f-693edb49b6a2","85b17c53-513d-4bfa-871d-1e0e273b8786"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,0,-500,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bottom"],"scripts":{"bottom":{"enabled":true,"attributes":{"startButton":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a","playerButtons":["d83c1c56-1349-4036-806f-bbb897f2a8e8",null,null,null],"start_active":154122868,"start_deactive":154122821}}}}}},"717f1daa-0043-4f79-90ec-85deecdc5e73":{"name":"Idle","tags":[],"enabled":true,"resource_id":"717f1daa-0043-4f79-90ec-85deecdc5e73","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["ac86bc84-6e51-4fca-9e3c-eb36f48b4a86"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"480c18f6-d3b8-478a-b573-4889b0154e56":{"name":"InGame","tags":[],"enabled":true,"resource_id":"480c18f6-d3b8-478a-b573-4889b0154e56","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["babda804-3f6c-474d-a096-ad9493a4b0db","9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","eb1638ea-e3d1-4720-bcba-99cf9e5b9179","ddfcaac5-819a-4dfb-8147-b815f0a569fa"],"position":[30.89599907398224,78.02531558039027,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-469.104,-121.975,-530.896,-278.025],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":1,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,20],"widthFitting":0,"heightFitting":0,"wrap":false},"script":{"enabled":true,"order":["betButtonController"],"scripts":{"betButtonController":{"enabled":true,"attributes":{}}}}}},"4a5d316b-7653-4505-b82f-693edb49b6a2":{"name":"Result","tags":[],"enabled":true,"resource_id":"4a5d316b-7653-4505-b82f-693edb49b6a2","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5665afa5-5303-4c36-90aa-082859636427","8d022bf0-009d-4913-9cba-07b973de155d"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["result"],"scripts":{"result":{"enabled":true,"attributes":{"win":"5665afa5-5303-4c36-90aa-082859636427","lose":"8d022bf0-009d-4913-9cba-07b973de155d"}}}}}},"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86":{"name":"StartButton","tags":[],"enabled":true,"resource_id":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","parent":"717f1daa-0043-4f79-90ec-85deecdc5e73","children":["ef9eb80a-dac0-413c-8134-6174cd11f061"],"position":[0,122.50206641348376,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,71.002,-155,-174.002],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"contain","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef9eb80a-dac0-413c-8134-6174cd11f061":{"name":"Text","tags":[],"enabled":true,"resource_id":"ef9eb80a-dac0-413c-8134-6174cd11f061","parent":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","children":[],"position":[0,10,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"START","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":106.875,"height":36.563,"margin":[-95,-22.5,-95,-42.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a132463-4065-4029-8123-50daf0892779":{"name":"Controller","tags":[],"enabled":true,"resource_id":"6a132463-4065-4029-8123-50daf0892779","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["3789b06d-2fd1-4703-9075-6b91a609741b","3d2631fa-a332-4c94-85d0-9e6aed3a924a","1b0059ce-7c72-4a34-aef1-b2b0d6cd2136"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{}},"3789b06d-2fd1-4703-9075-6b91a609741b":{"name":"DummyServer","tags":[],"enabled":true,"resource_id":"3789b06d-2fd1-4703-9075-6b91a609741b","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["dummyServer"],"scripts":{"dummyServer":{"enabled":true,"attributes":{}}}}}},"3d2631fa-a332-4c94-85d0-9e6aed3a924a":{"name":"GameController","tags":[],"enabled":true,"resource_id":"3d2631fa-a332-4c94-85d0-9e6aed3a924a","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["gameController"],"scripts":{"gameController":{"enabled":true,"attributes":{}}}}}},"d83c1c56-1349-4036-806f-bbb897f2a8e8":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"d83c1c56-1349-4036-806f-bbb897f2a8e8","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["d4dfcb09-29cc-4508-8601-c4e680a3c495","22297a68-64e0-4077-81b8-7630e60a3086"],"position":[-332.99,278.019,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d83c1c56-1349-4036-806f-bbb897f2a8e8","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[-482.99,228.019,182.99,-328.019],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","tieImage":"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8","buttonText":"22297a68-64e0-4077-81b8-7630e60a3086"}}}}},"template_id":154126713,"template_ent_ids":{"d83c1c56-1349-4036-806f-bbb897f2a8e8":"ef844494-b980-4a56-af07-93bd72590446","d4dfcb09-29cc-4508-8601-c4e680a3c495":"b784e5ee-7e21-434b-808a-6524e8404946","be3b1ce2-fb2a-4864-90c4-05cf9980fbbe":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8":"710e0f98-9884-499c-ab3f-ba6954b4b647","22297a68-64e0-4077-81b8-7630e60a3086":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"5665afa5-5303-4c36-90aa-082859636427":{"name":"Win","tags":[],"enabled":false,"resource_id":"5665afa5-5303-4c36-90aa-082859636427","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["ebb6313e-48b6-4501-b691-2a07fb5a97c7","1844b778-6764-46e5-b3dd-d0f182761b4f","408ea63d-61d1-46e5-a3bc-7c020d2e654e"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1844b778-6764-46e5-b3dd-d0f182761b4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"1844b778-6764-46e5-b3dd-d0f182761b4f","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"You WIN","key":null,"fontAsset":154122838,"fontSize":240,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":637.5,"height":162.5,"margin":[-382.5,-97.5,-382.5,-97.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8d022bf0-009d-4913-9cba-07b973de155d":{"name":"Lose","tags":[],"enabled":false,"resource_id":"8d022bf0-009d-4913-9cba-07b973de155d","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["3991f2d5-a805-42ab-99f8-c62a990ccd97","1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,-25,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"you Lost","key":null,"fontAsset":154122838,"fontSize":240,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":885,"height":269.76,"margin":[-442.5,-122.5,-442.5,-72.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136":{"name":"AudioController","tags":[],"enabled":true,"resource_id":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","parent":"6a132463-4065-4029-8123-50daf0892779","children":["3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","81a10236-090f-4364-b5ad-8e296a5eb78e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["audioController"],"scripts":{"audioController":{"enabled":true,"attributes":{"soundSource":"81a10236-090f-4364-b5ad-8e296a5eb78e"}}}}}},"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc":{"name":"Audio Listener","tags":[],"enabled":true,"resource_id":"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"audiolistener":{"enabled":true}}},"81a10236-090f-4364-b5ad-8e296a5eb78e":{"name":"Sound","tags":[],"enabled":true,"resource_id":"81a10236-090f-4364-b5ad-8e296a5eb78e","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"sound":{"enabled":true,"volume":1,"pitch":1,"positional":true,"refDistance":1,"maxDistance":10000,"rollOffFactor":1,"distanceModel":"linear","slots":{"2":{"name":"Click","loop":false,"autoPlay":false,"overlap":false,"asset":154122816,"startTime":0,"duration":null,"volume":1,"pitch":1},"3":{"name":"Lose","loop":false,"autoPlay":false,"overlap":false,"asset":154122818,"startTime":0,"duration":null,"volume":1,"pitch":1},"4":{"name":"Open","loop":false,"autoPlay":false,"overlap":false,"asset":154122852,"startTime":0,"duration":null,"volume":1,"pitch":1},"5":{"name":"Win","loop":false,"autoPlay":false,"overlap":false,"asset":154122830,"startTime":0,"duration":null,"volume":1,"pitch":1},"6":{"name":"moveCard","loop":false,"autoPlay":false,"overlap":true,"asset":154122862,"startTime":0,"duration":null,"volume":1,"pitch":1},"7":{"name":"flipCard","loop":false,"autoPlay":false,"overlap":true,"asset":154122882,"startTime":0,"duration":null,"volume":0.36,"pitch":1},"8":{"name":"pWin","loop":false,"autoPlay":false,"overlap":true,"asset":154122815,"startTime":0,"duration":null,"volume":1,"pitch":1},"9":{"name":"pDraw","loop":false,"autoPlay":false,"overlap":true,"asset":154122886,"startTime":0,"duration":null,"volume":1,"pitch":1},"10":{"name":"pLose","loop":false,"autoPlay":false,"overlap":true,"asset":154122890,"startTime":0,"duration":null,"volume":1,"pitch":1}}}}},"cf778ab4-4cd6-4c44-a880-8eca997d8fcc":{"name":"SoundButton","tags":[],"enabled":true,"resource_id":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["50ad00e6-271c-4756-b28d-11e6b1ef52eb"],"position":[20,-20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[20,-140,-140,20],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"50ad00e6-271c-4756-b28d-11e6b1ef52eb":{"name":"Button","tags":[],"enabled":true,"resource_id":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","parent":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","children":["1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","2753f9e8-255b-4725-84a2-16795c7174e6"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122851,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[-60,-60,-60,-60],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["soundButton"],"scripts":{"soundButton":{"enabled":true,"attributes":{"onImg":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","offImg":"2753f9e8-255b-4725-84a2-16795c7174e6"}}}}}},"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58":{"name":"On","tags":[],"enabled":false,"resource_id":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122876,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2753f9e8-255b-4725-84a2-16795c7174e6":{"name":"Off","tags":[],"enabled":true,"resource_id":"2753f9e8-255b-4725-84a2-16795c7174e6","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122822,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85b17c53-513d-4bfa-871d-1e0e273b8786":{"name":"BetController","tags":[],"enabled":true,"resource_id":"85b17c53-513d-4bfa-871d-1e0e273b8786","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5a034e63-1b15-486b-96fc-2b2e2847420a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,0,-500,-600],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betController"],"scripts":{"betController":{"enabled":true,"attributes":{"betButton":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892"],"okButton":"e905deb6-b6db-4c52-acbf-f678b6491e58","cancelButton":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","clearButton":"520409b8-ff1b-4179-92e0-317a07036fd4","betAmountText":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","errorText":"0482f254-0b73-45a9-8881-807ee55524be"}}}}}},"5a034e63-1b15-486b-96fc-2b2e2847420a":{"name":"BackGround","tags":[],"enabled":false,"resource_id":"5a034e63-1b15-486b-96fc-2b2e2847420a","parent":"85b17c53-513d-4bfa-871d-1e0e273b8786","children":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892","d24500da-4b2a-4d7c-9215-53b4fb6bd76e","e905deb6-b6db-4c52-acbf-f678b6491e58","87973658-53ec-488e-aef0-a8f678900356","520409b8-ff1b-4179-92e0-317a07036fd4","0482f254-0b73-45a9-8881-807ee55524be"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.16470588235294117,0.16470588235294117,0.16470588235294117],"opacity":0.367,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,-300,-500,-300],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1cf8d121-4dba-4338-8004-c37c5648d1ac":{"name":"Button","tags":[],"enabled":true,"resource_id":"1cf8d121-4dba-4338-8004-c37c5648d1ac","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["8b15b958-beb8-43ea-b8f6-5fb59cc50677"],"position":[-319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1cf8d121-4dba-4338-8004-c37c5648d1ac","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,63.247,165,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1}}}}}},"8b15b958-beb8-43ea-b8f6-5fb59cc50677":{"name":"Text","tags":[],"enabled":true,"resource_id":"8b15b958-beb8-43ea-b8f6-5fb59cc50677","parent":"1cf8d121-4dba-4338-8004-c37c5648d1ac","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85736018-f6da-4142-b0da-753be93796e0":{"name":"Button","tags":[],"enabled":true,"resource_id":"85736018-f6da-4142-b0da-753be93796e0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["eafbf68e-a08d-439e-9c08-e1f0c393b867"],"position":[0,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"85736018-f6da-4142-b0da-753be93796e0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,63.247,-155,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10}}}}}},"eafbf68e-a08d-439e-9c08-e1f0c393b867":{"name":"Text","tags":[],"enabled":true,"resource_id":"eafbf68e-a08d-439e-9c08-e1f0c393b867","parent":"85736018-f6da-4142-b0da-753be93796e0","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0f9874ca-b06b-4b03-a7fa-e8cc04692bde":{"name":"Button","tags":[],"enabled":true,"resource_id":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["c5508cc8-5056-422d-b761-052b3a319b99"],"position":[319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,63.247,-475,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100}}}}}},"c5508cc8-5056-422d-b761-052b3a319b99":{"name":"Text","tags":[],"enabled":true,"resource_id":"c5508cc8-5056-422d-b761-052b3a319b99","parent":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0":{"name":"Button","tags":[],"enabled":true,"resource_id":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c"],"position":[-319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,-56.753,165,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1000}}}}}},"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c":{"name":"Text","tags":[],"enabled":true,"resource_id":"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c","parent":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf2a2801-e64c-471c-9c01-8b87b2550734":{"name":"Button","tags":[],"enabled":true,"resource_id":"cf2a2801-e64c-471c-9c01-8b87b2550734","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["61bcedac-217b-4855-9e44-de5fc08a3f1f"],"position":[0,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"cf2a2801-e64c-471c-9c01-8b87b2550734","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,-56.753,-155,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10000}}}}}},"61bcedac-217b-4855-9e44-de5fc08a3f1f":{"name":"Text","tags":[],"enabled":true,"resource_id":"61bcedac-217b-4855-9e44-de5fc08a3f1f","parent":"cf2a2801-e64c-471c-9c01-8b87b2550734","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"88edaf23-57fb-4d4c-8499-37b285e47892":{"name":"Button","tags":[],"enabled":true,"resource_id":"88edaf23-57fb-4d4c-8499-37b285e47892","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["04788a9b-8bdc-48e3-9b88-3d484f890d82"],"position":[319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"88edaf23-57fb-4d4c-8499-37b285e47892","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,-56.753,-475,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100000}}}}}},"04788a9b-8bdc-48e3-9b88-3d484f890d82":{"name":"Text","tags":[],"enabled":true,"resource_id":"04788a9b-8bdc-48e3-9b88-3d484f890d82","parent":"88edaf23-57fb-4d4c-8499-37b285e47892","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"+100,000","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d24500da-4b2a-4d7c-9215-53b4fb6bd76e":{"name":"CancelButton","tags":[],"enabled":true,"resource_id":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122887,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[45,-291.164,-355,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e905deb6-b6db-4c52-acbf-f678b6491e58":{"name":"OkButton","tags":[],"enabled":true,"resource_id":"e905deb6-b6db-4c52-acbf-f678b6491e58","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[-200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"e905deb6-b6db-4c52-acbf-f678b6491e58","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122841,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-355,-291.164,45,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"408ea63d-61d1-46e5-a3bc-7c020d2e654e":{"name":"Profit","tags":[],"enabled":true,"resource_id":"408ea63d-61d1-46e5-a3bc-7c020d2e654e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[-19.99949961900711,-151.75615342682747,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100","key":null,"fontAsset":154122838,"fontSize":150,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":150,"wrapLines":true,"spacing":1,"color":[1,0.8,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":202.5,"height":97.5,"margin":[-146.562,-212.694,-106.563,90.819],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e408ddb-a1c0-4c54-ad0a-9b33af456156":{"name":"BakcgourndCover","tags":[],"enabled":false,"resource_id":"7e408ddb-a1c0-4c54-ad0a-9b33af456156","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[-1,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-501,-800,-499,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"87973658-53ec-488e-aef0-a8f678900356":{"name":"Image","tags":[],"enabled":true,"resource_id":"87973658-53ec-488e-aef0-a8f678900356","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["d9ac37ec-0f58-4e1e-8e3a-493afae8f818"],"position":[-153,-124.249,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122889,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-474.5,-175.749,-168.5,72.749],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"520409b8-ff1b-4179-92e0-317a07036fd4":{"name":"ClearButton","tags":[],"enabled":true,"resource_id":"520409b8-ff1b-4179-92e0-317a07036fd4","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[328,-125.2151452236294,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"520409b8-ff1b-4179-92e0-317a07036fd4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122847,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[181,-176.715,-475,73.715],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d9ac37ec-0f58-4e1e-8e3a-493afae8f818":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","parent":"87973658-53ec-488e-aef0-a8f678900356","children":[],"position":[-20,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":52,"margin":[-60,-32.5,20,-32.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0482f254-0b73-45a9-8881-807ee55524be":{"name":"errorText","tags":[],"enabled":true,"resource_id":"0482f254-0b73-45a9-8881-807ee55524be","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[0,225.18919542295134,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Not enough balance.","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":700,"height":65,"margin":[-350,192.689,-350,-257.689],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.59,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"22297a68-64e0-4077-81b8-7630e60a3086":{"name":"Text","tags":[],"enabled":true,"resource_id":"22297a68-64e0-4077-81b8-7630e60a3086","parent":"d83c1c56-1349-4036-806f-bbb897f2a8e8","children":[],"position":[0.000019073486328125,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":153.125,"height":126.875,"margin":[-76.563,-63.438,-76.563,-63.438],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ebb6313e-48b6-4501-b691-2a07fb5a97c7":{"name":"Text","tags":[],"enabled":true,"resource_id":"ebb6313e-48b6-4501-b691-2a07fb5a97c7","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,130.57714720356444,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"The Winner is Ace of Diamonds","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":798.75,"height":48.75,"margin":[-399.375,106.202,-399.375,-154.952],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3991f2d5-a805-42ab-99f8-c62a990ccd97":{"name":"Text","tags":[],"enabled":true,"resource_id":"3991f2d5-a805-42ab-99f8-c62a990ccd97","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,110,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"The Winner is Ace of Diamonds","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":798.75,"height":48.75,"margin":[-399.375,85.625,-399.375,-134.375],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","parent":"d4dfcb09-29cc-4508-8601-c4e680a3c495","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[-2.5,-58,-192.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8","parent":"d4dfcb09-29cc-4508-8601-c4e680a3c495","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"babda804-3f6c-474d-a096-ad9493a4b0db":{"name":"Group","tags":[],"enabled":false,"resource_id":"babda804-3f6c-474d-a096-ad9493a4b0db","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["d83c1c56-1349-4036-806f-bbb897f2a8e8","3b31d70b-7a05-40f8-9216-f967d264b5ab","4d92cd8b-f247-48a1-b0ac-20dff1f39728"],"position":[32,350,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,300,-32,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":1,"wrap":false}}},"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be":{"name":"Group","tags":[],"enabled":false,"resource_id":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["0af80841-9d2b-4e69-96e8-fdd7e87a885c","aadeea15-8666-4959-be18-443f4fed8a2a"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,302,-32,-402],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"eb1638ea-e3d1-4720-bcba-99cf9e5b9179":{"name":"Group","tags":[],"enabled":false,"resource_id":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["1a326955-e955-477b-8bab-a60b2863e99e","b37459e5-7e09-4113-8c37-00a67664ef33"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,270,-32,-370],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"ddfcaac5-819a-4dfb-8147-b815f0a569fa":{"name":"Group","tags":[],"enabled":false,"resource_id":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["f7f0620f-be00-4527-9a73-4b7067cb3ede","4755d240-499d-40e6-ad27-560b420ac083"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,238,-32,-338],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"d4dfcb09-29cc-4508-8601-c4e680a3c495":{"name":"Group","tags":[],"enabled":true,"resource_id":"d4dfcb09-29cc-4508-8601-c4e680a3c495","parent":"d83c1c56-1349-4036-806f-bbb897f2a8e8","children":["be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"3b31d70b-7a05-40f8-9216-f967d264b5ab":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"3b31d70b-7a05-40f8-9216-f967d264b5ab","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["398082a0-0d95-4caf-9913-fcfc7a976069","d2343b65-6705-4290-b6b5-eda5a76875d6"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3b31d70b-7a05-40f8-9216-f967d264b5ab","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[0,0,-300,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","tieImage":"b79762ee-0d78-453e-93e1-7f3f870632c6","buttonText":"d2343b65-6705-4290-b6b5-eda5a76875d6"}}}}},"template_id":154126713,"template_ent_ids":{"3b31d70b-7a05-40f8-9216-f967d264b5ab":"ef844494-b980-4a56-af07-93bd72590446","398082a0-0d95-4caf-9913-fcfc7a976069":"b784e5ee-7e21-434b-808a-6524e8404946","34328dd0-ef0f-4e97-a3e6-adf6cfad22e5":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","b79762ee-0d78-453e-93e1-7f3f870632c6":"710e0f98-9884-499c-ab3f-ba6954b4b647","d2343b65-6705-4290-b6b5-eda5a76875d6":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"398082a0-0d95-4caf-9913-fcfc7a976069":{"name":"Group","tags":[],"enabled":true,"resource_id":"398082a0-0d95-4caf-9913-fcfc7a976069","parent":"3b31d70b-7a05-40f8-9216-f967d264b5ab","children":["34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","b79762ee-0d78-453e-93e1-7f3f870632c6"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","parent":"398082a0-0d95-4caf-9913-fcfc7a976069","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[0,-58,-195,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b79762ee-0d78-453e-93e1-7f3f870632c6":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"b79762ee-0d78-453e-93e1-7f3f870632c6","parent":"398082a0-0d95-4caf-9913-fcfc7a976069","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d2343b65-6705-4290-b6b5-eda5a76875d6":{"name":"Text","tags":[],"enabled":true,"resource_id":"d2343b65-6705-4290-b6b5-eda5a76875d6","parent":"3b31d70b-7a05-40f8-9216-f967d264b5ab","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4d92cd8b-f247-48a1-b0ac-20dff1f39728":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["577d50ca-ece7-4262-bc94-8ff4e4305ef1","1c6cd7a3-f948-470b-b78f-b27862e2a753"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[0,0,-300,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"f74383da-8f15-4907-bc1a-6ec951874dba","tieImage":"ea080d52-4fb0-4724-8970-95a8543f0970","buttonText":"1c6cd7a3-f948-470b-b78f-b27862e2a753"}}}}},"template_id":154126713,"template_ent_ids":{"4d92cd8b-f247-48a1-b0ac-20dff1f39728":"ef844494-b980-4a56-af07-93bd72590446","577d50ca-ece7-4262-bc94-8ff4e4305ef1":"b784e5ee-7e21-434b-808a-6524e8404946","f74383da-8f15-4907-bc1a-6ec951874dba":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","ea080d52-4fb0-4724-8970-95a8543f0970":"710e0f98-9884-499c-ab3f-ba6954b4b647","1c6cd7a3-f948-470b-b78f-b27862e2a753":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"577d50ca-ece7-4262-bc94-8ff4e4305ef1":{"name":"Group","tags":[],"enabled":true,"resource_id":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","parent":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","children":["f74383da-8f15-4907-bc1a-6ec951874dba","ea080d52-4fb0-4724-8970-95a8543f0970"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"f74383da-8f15-4907-bc1a-6ec951874dba":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"f74383da-8f15-4907-bc1a-6ec951874dba","parent":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[0,-58,-195,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ea080d52-4fb0-4724-8970-95a8543f0970":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"ea080d52-4fb0-4724-8970-95a8543f0970","parent":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c6cd7a3-f948-470b-b78f-b27862e2a753":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c6cd7a3-f948-470b-b78f-b27862e2a753","parent":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0af80841-9d2b-4e69-96e8-fdd7e87a885c":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","parent":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","children":["b1e55ad7-c077-463e-b88b-204a96c8b0e0","b9c64cbd-08c3-456b-8e5f-3b928c294c76"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[-80,0,-380,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"dcb821cd-79b9-4cfb-bb4e-44573873f46e","tieImage":"63e8f654-1482-4f8c-8eed-b06c728b84d5","buttonText":"b9c64cbd-08c3-456b-8e5f-3b928c294c76"}}}}},"template_id":154126713,"template_ent_ids":{"0af80841-9d2b-4e69-96e8-fdd7e87a885c":"ef844494-b980-4a56-af07-93bd72590446","b1e55ad7-c077-463e-b88b-204a96c8b0e0":"b784e5ee-7e21-434b-808a-6524e8404946","dcb821cd-79b9-4cfb-bb4e-44573873f46e":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","63e8f654-1482-4f8c-8eed-b06c728b84d5":"710e0f98-9884-499c-ab3f-ba6954b4b647","b9c64cbd-08c3-456b-8e5f-3b928c294c76":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"b1e55ad7-c077-463e-b88b-204a96c8b0e0":{"name":"Group","tags":[],"enabled":true,"resource_id":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","parent":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","children":["dcb821cd-79b9-4cfb-bb4e-44573873f46e","63e8f654-1482-4f8c-8eed-b06c728b84d5"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"dcb821cd-79b9-4cfb-bb4e-44573873f46e":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"dcb821cd-79b9-4cfb-bb4e-44573873f46e","parent":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[10,-58,-370,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"63e8f654-1482-4f8c-8eed-b06c728b84d5":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"63e8f654-1482-4f8c-8eed-b06c728b84d5","parent":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","children":[],"position":[242.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b9c64cbd-08c3-456b-8e5f-3b928c294c76":{"name":"Text","tags":[],"enabled":true,"resource_id":"b9c64cbd-08c3-456b-8e5f-3b928c294c76","parent":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aadeea15-8666-4959-be18-443f4fed8a2a":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"aadeea15-8666-4959-be18-443f4fed8a2a","parent":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","children":["a3c76add-ce44-456a-ac69-907dc4479157","7e3ffdcc-54a7-4103-97af-c03f36ab4c57"],"position":[470,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"aadeea15-8666-4959-be18-443f4fed8a2a","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[240,0,-700,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"a4773123-789e-4563-862a-a853ab2b2cd7","tieImage":"691bd1e6-551e-43c1-a91e-374ef991f669","buttonText":"7e3ffdcc-54a7-4103-97af-c03f36ab4c57"}}}}},"template_id":154126713,"template_ent_ids":{"aadeea15-8666-4959-be18-443f4fed8a2a":"ef844494-b980-4a56-af07-93bd72590446","a3c76add-ce44-456a-ac69-907dc4479157":"b784e5ee-7e21-434b-808a-6524e8404946","a4773123-789e-4563-862a-a853ab2b2cd7":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","691bd1e6-551e-43c1-a91e-374ef991f669":"710e0f98-9884-499c-ab3f-ba6954b4b647","7e3ffdcc-54a7-4103-97af-c03f36ab4c57":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"a3c76add-ce44-456a-ac69-907dc4479157":{"name":"Group","tags":[],"enabled":true,"resource_id":"a3c76add-ce44-456a-ac69-907dc4479157","parent":"aadeea15-8666-4959-be18-443f4fed8a2a","children":["a4773123-789e-4563-862a-a853ab2b2cd7","691bd1e6-551e-43c1-a91e-374ef991f669"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"a4773123-789e-4563-862a-a853ab2b2cd7":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"a4773123-789e-4563-862a-a853ab2b2cd7","parent":"a3c76add-ce44-456a-ac69-907dc4479157","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"691bd1e6-551e-43c1-a91e-374ef991f669":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"691bd1e6-551e-43c1-a91e-374ef991f669","parent":"a3c76add-ce44-456a-ac69-907dc4479157","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e3ffdcc-54a7-4103-97af-c03f36ab4c57":{"name":"Text","tags":[],"enabled":true,"resource_id":"7e3ffdcc-54a7-4103-97af-c03f36ab4c57","parent":"aadeea15-8666-4959-be18-443f4fed8a2a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a326955-e955-477b-8bab-a60b2863e99e":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"1a326955-e955-477b-8bab-a60b2863e99e","parent":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","children":["8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","bd9d8351-97ff-4425-9b0d-143d07517eb5"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1a326955-e955-477b-8bab-a60b2863e99e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[-80,0,-380,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"f36b65b9-a1fd-40dd-b581-e12cc5116b17","tieImage":"fba29c52-bdfb-442a-b373-bc63375404cc","buttonText":"bd9d8351-97ff-4425-9b0d-143d07517eb5"}}}}},"template_id":154126713,"template_ent_ids":{"1a326955-e955-477b-8bab-a60b2863e99e":"ef844494-b980-4a56-af07-93bd72590446","8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f":"b784e5ee-7e21-434b-808a-6524e8404946","f36b65b9-a1fd-40dd-b581-e12cc5116b17":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","fba29c52-bdfb-442a-b373-bc63375404cc":"710e0f98-9884-499c-ab3f-ba6954b4b647","bd9d8351-97ff-4425-9b0d-143d07517eb5":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f":{"name":"Group","tags":[],"enabled":true,"resource_id":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","parent":"1a326955-e955-477b-8bab-a60b2863e99e","children":["f36b65b9-a1fd-40dd-b581-e12cc5116b17","fba29c52-bdfb-442a-b373-bc63375404cc"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"f36b65b9-a1fd-40dd-b581-e12cc5116b17":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"f36b65b9-a1fd-40dd-b581-e12cc5116b17","parent":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fba29c52-bdfb-442a-b373-bc63375404cc":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"fba29c52-bdfb-442a-b373-bc63375404cc","parent":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bd9d8351-97ff-4425-9b0d-143d07517eb5":{"name":"Text","tags":[],"enabled":true,"resource_id":"bd9d8351-97ff-4425-9b0d-143d07517eb5","parent":"1a326955-e955-477b-8bab-a60b2863e99e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b37459e5-7e09-4113-8c37-00a67664ef33":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"b37459e5-7e09-4113-8c37-00a67664ef33","parent":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","children":["7e0c1b34-1084-409c-a038-c9b8d8c96a6c","823ab4ad-bef6-4a1c-a138-8cfb5889da79"],"position":[470,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"b37459e5-7e09-4113-8c37-00a67664ef33","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[240,0,-700,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"c631f6ec-506d-4c74-9a06-51251aa06858","tieImage":"c82e7748-3ff2-4d9f-903e-c3f65156449f","buttonText":"823ab4ad-bef6-4a1c-a138-8cfb5889da79"}}}}},"template_id":154126713,"template_ent_ids":{"b37459e5-7e09-4113-8c37-00a67664ef33":"ef844494-b980-4a56-af07-93bd72590446","7e0c1b34-1084-409c-a038-c9b8d8c96a6c":"b784e5ee-7e21-434b-808a-6524e8404946","c631f6ec-506d-4c74-9a06-51251aa06858":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","c82e7748-3ff2-4d9f-903e-c3f65156449f":"710e0f98-9884-499c-ab3f-ba6954b4b647","823ab4ad-bef6-4a1c-a138-8cfb5889da79":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"7e0c1b34-1084-409c-a038-c9b8d8c96a6c":{"name":"Group","tags":[],"enabled":true,"resource_id":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","parent":"b37459e5-7e09-4113-8c37-00a67664ef33","children":["c631f6ec-506d-4c74-9a06-51251aa06858","c82e7748-3ff2-4d9f-903e-c3f65156449f"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"c631f6ec-506d-4c74-9a06-51251aa06858":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"c631f6ec-506d-4c74-9a06-51251aa06858","parent":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c82e7748-3ff2-4d9f-903e-c3f65156449f":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"c82e7748-3ff2-4d9f-903e-c3f65156449f","parent":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"823ab4ad-bef6-4a1c-a138-8cfb5889da79":{"name":"Text","tags":[],"enabled":true,"resource_id":"823ab4ad-bef6-4a1c-a138-8cfb5889da79","parent":"b37459e5-7e09-4113-8c37-00a67664ef33","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f7f0620f-be00-4527-9a73-4b7067cb3ede":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"f7f0620f-be00-4527-9a73-4b7067cb3ede","parent":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","children":["6c11621a-23be-4ef6-bf32-1fb66db795ef","0087ade9-31a2-4f32-bfbf-f9dee135d785"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f7f0620f-be00-4527-9a73-4b7067cb3ede","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[-80,0,-380,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","tieImage":"34a8c9df-76fd-4291-b237-ff901c91a002","buttonText":"0087ade9-31a2-4f32-bfbf-f9dee135d785"}}}}},"template_id":154126713,"template_ent_ids":{"f7f0620f-be00-4527-9a73-4b7067cb3ede":"ef844494-b980-4a56-af07-93bd72590446","6c11621a-23be-4ef6-bf32-1fb66db795ef":"b784e5ee-7e21-434b-808a-6524e8404946","dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","34a8c9df-76fd-4291-b237-ff901c91a002":"710e0f98-9884-499c-ab3f-ba6954b4b647","0087ade9-31a2-4f32-bfbf-f9dee135d785":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"6c11621a-23be-4ef6-bf32-1fb66db795ef":{"name":"Group","tags":[],"enabled":true,"resource_id":"6c11621a-23be-4ef6-bf32-1fb66db795ef","parent":"f7f0620f-be00-4527-9a73-4b7067cb3ede","children":["dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","34a8c9df-76fd-4291-b237-ff901c91a002"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","parent":"6c11621a-23be-4ef6-bf32-1fb66db795ef","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"34a8c9df-76fd-4291-b237-ff901c91a002":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"34a8c9df-76fd-4291-b237-ff901c91a002","parent":"6c11621a-23be-4ef6-bf32-1fb66db795ef","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0087ade9-31a2-4f32-bfbf-f9dee135d785":{"name":"Text","tags":[],"enabled":true,"resource_id":"0087ade9-31a2-4f32-bfbf-f9dee135d785","parent":"f7f0620f-be00-4527-9a73-4b7067cb3ede","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4755d240-499d-40e6-ad27-560b420ac083":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"4755d240-499d-40e6-ad27-560b420ac083","parent":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","children":["fb9cb516-35b4-4564-a562-34b58859e1e1","59185a0a-fc0f-4a02-b16b-fa21b70bdd08"],"position":[470,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4755d240-499d-40e6-ad27-560b420ac083","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[240,0,-700,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","tieImage":"08ab2148-ca46-4847-a286-3f4260d08e09","buttonText":"59185a0a-fc0f-4a02-b16b-fa21b70bdd08"}}}}},"template_id":154126713,"template_ent_ids":{"4755d240-499d-40e6-ad27-560b420ac083":"ef844494-b980-4a56-af07-93bd72590446","fb9cb516-35b4-4564-a562-34b58859e1e1":"b784e5ee-7e21-434b-808a-6524e8404946","bfb95830-1cfa-4954-ac51-3c0fd4f17c1b":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","08ab2148-ca46-4847-a286-3f4260d08e09":"710e0f98-9884-499c-ab3f-ba6954b4b647","59185a0a-fc0f-4a02-b16b-fa21b70bdd08":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"fb9cb516-35b4-4564-a562-34b58859e1e1":{"name":"Group","tags":[],"enabled":true,"resource_id":"fb9cb516-35b4-4564-a562-34b58859e1e1","parent":"4755d240-499d-40e6-ad27-560b420ac083","children":["bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","08ab2148-ca46-4847-a286-3f4260d08e09"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","parent":"fb9cb516-35b4-4564-a562-34b58859e1e1","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"08ab2148-ca46-4847-a286-3f4260d08e09":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"08ab2148-ca46-4847-a286-3f4260d08e09","parent":"fb9cb516-35b4-4564-a562-34b58859e1e1","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"59185a0a-fc0f-4a02-b16b-fa21b70bdd08":{"name":"Text","tags":[],"enabled":true,"resource_id":"59185a0a-fc0f-4a02-b16b-fa21b70bdd08","parent":"4755d240-499d-40e6-ad27-560b420ac083","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"135a77e4-4e92-4615-beaf-63f2fddacb6d":{"name":"Text","tags":[],"enabled":true,"resource_id":"135a77e4-4e92-4615-beaf-63f2fddacb6d","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":[],"position":[0,199.08891253967408,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":154122838,"fontSize":800,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":800,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":650,"margin":[-100,-125.911,-100,-524.089],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.168,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numberController"],"scripts":{"numberController":{"enabled":true,"attributes":{}}}}}}},"checkpoint_id":"09a5b0ff-d43e-4c84-80d6-1156cdefb12d","id":1882372} \ No newline at end of file diff --git a/OneTwoThree/OneTwoThree/1882372.json b/OneTwoThree/OneTwoThree/1882372.json new file mode 100644 index 0000000..1bac5a6 --- /dev/null +++ b/OneTwoThree/OneTwoThree/1882372.json @@ -0,0 +1 @@ +{"branch_id":"2056fa1c-9f97-4439-85a3-6377eb48d28c","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true}},"entities":{"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[2,2,-2],"scale":[1,1,1],"name":"Light","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"light":{"castShadows":true,"isStatic":false,"vsmBlurSize":11,"shadowUpdateMode":2,"normalOffsetBias":0.05,"color":[1,1,1],"bakeArea":0,"numCascades":1,"outerConeAngle":45,"bakeNumSamples":1,"affectDynamic":true,"intensity":1,"bakeDir":true,"cookieAngle":0,"affectLightmapped":false,"cookieChannel":"rgb","innerConeAngle":40,"shadowBias":0.2,"bake":false,"falloffMode":0,"cookieAsset":null,"vsmBias":0.01,"layers":[0],"cookieIntensity":1,"cascadeDistribution":0.5,"cookieOffset":[0,0],"shadowResolution":1024,"cookieScale":[1,1],"enabled":true,"shape":0,"range":8,"vsmBlurMode":1,"shadowDistance":16,"type":"directional","cookieFalloff":true,"shadowType":0}},"rotation":[45,135,0],"tags":[],"enabled":true,"children":[]},"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[0,0,0],"scale":[1,1,1],"name":"Root","parent":null,"resource_id":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{},"rotation":[0,0,0],"tags":[],"enabled":true,"children":["80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","a019517d-368f-4ce7-87bb-e99894bcc1e2","6a132463-4065-4029-8123-50daf0892779"]},"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[4,3.5,4],"scale":[1,1,1],"name":"Camera","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"camera":{"projection":0,"farClip":1000,"clearColorBuffer":true,"layers":[0,1,2,3,4],"priority":0,"fov":45,"clearDepthBuffer":true,"frustumCulling":true,"clearColor":[0.118,0.118,0.118,1],"enabled":true,"orthoHeight":4,"nearClip":0.1,"rect":[0,0,1,1]}},"rotation":[-30,45,0],"tags":[],"enabled":true,"children":[]},"a019517d-368f-4ce7-87bb-e99894bcc1e2":{"name":"2D Screen","tags":[],"enabled":true,"resource_id":"a019517d-368f-4ce7-87bb-e99894bcc1e2","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["553caf6c-a2e2-456e-bab1-af926693d0bd","7e408ddb-a1c0-4c54-ad0a-9b33af456156","c98c1544-8c4e-488d-ab9c-d889c34639ad","43776b5d-805c-405d-8a6a-693a0848e585","6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","cf778ab4-4cd6-4c44-a880-8eca997d8fcc"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"screen":{"enabled":true,"screenSpace":true,"scaleMode":"blend","scaleBlend":0.5,"resolution":[1280,720],"referenceResolution":[1000,1600]}}},"553caf6c-a2e2-456e-bab1-af926693d0bd":{"name":"BakcgourndCover","tags":[],"enabled":true,"resource_id":"553caf6c-a2e2-456e-bab1-af926693d0bd","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.6862745098039216,0.6862745098039216,0.6862745098039216],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-800,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c98c1544-8c4e-488d-ab9c-d889c34639ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"c98c1544-8c4e-488d-ab9c-d889c34639ad","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["39d376ac-458e-43c3-8d1e-efab6ddb7a46","5d189437-9722-4cdb-92e0-34304dbe04de"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,1,0.5,1],"pivot":[0.5,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":250,"margin":[-500,-250,-500,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["userBalance"],"scripts":{"userBalance":{"enabled":true,"attributes":{"userBalanceText":"5d189437-9722-4cdb-92e0-34304dbe04de","userName":"39d376ac-458e-43c3-8d1e-efab6ddb7a46"}}}}}},"39d376ac-458e-43c3-8d1e-efab6ddb7a46":{"name":"UserName","tags":[],"enabled":false,"resource_id":"39d376ac-458e-43c3-8d1e-efab6ddb7a46","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[-441.49566322447293,-50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,1,1,1],"pivot":[1,1],"text":"UserName","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":24.375,"margin":[-681.496,-98.75,441.496,50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d189437-9722-4cdb-92e0-34304dbe04de":{"name":"Balance","tags":[],"enabled":true,"resource_id":"5d189437-9722-4cdb-92e0-34304dbe04de","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"0","key":null,"fontAsset":154122838,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":30,"height":24.375,"margin":[-15,-24.375,-15,-24.375],"alignment":[1,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"43776b5d-805c-405d-8a6a-693a0848e585":{"name":"Middle","tags":[],"enabled":true,"resource_id":"43776b5d-805c-405d-8a6a-693a0848e585","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["135a77e4-4e92-4615-beaf-63f2fddacb6d"],"position":[0,91.35106736896113,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-708.649,-500,-891.351],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["middle"],"scripts":{"middle":{"enabled":true,"attributes":{"players":[null,null,null,null]}}}}}},"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["717f1daa-0043-4f79-90ec-85deecdc5e73","480c18f6-d3b8-478a-b573-4889b0154e56","4a5d316b-7653-4505-b82f-693edb49b6a2","85b17c53-513d-4bfa-871d-1e0e273b8786"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,0,-500,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bottom"],"scripts":{"bottom":{"enabled":true,"attributes":{"startButton":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a","start_active":154122845,"start_deactive":154122845}}}}}},"717f1daa-0043-4f79-90ec-85deecdc5e73":{"name":"Idle","tags":[],"enabled":true,"resource_id":"717f1daa-0043-4f79-90ec-85deecdc5e73","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["ac86bc84-6e51-4fca-9e3c-eb36f48b4a86"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"480c18f6-d3b8-478a-b573-4889b0154e56":{"name":"InGame","tags":[],"enabled":true,"resource_id":"480c18f6-d3b8-478a-b573-4889b0154e56","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["babda804-3f6c-474d-a096-ad9493a4b0db","9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","eb1638ea-e3d1-4720-bcba-99cf9e5b9179","ddfcaac5-819a-4dfb-8147-b815f0a569fa"],"position":[30.89599907398224,78.02531558039027,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-469.104,-121.975,-530.896,-278.025],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":1,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,20],"widthFitting":0,"heightFitting":0,"wrap":false},"script":{"enabled":true,"order":["betButtonController"],"scripts":{"betButtonController":{"enabled":true,"attributes":{}}}}}},"4a5d316b-7653-4505-b82f-693edb49b6a2":{"name":"Result","tags":[],"enabled":true,"resource_id":"4a5d316b-7653-4505-b82f-693edb49b6a2","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5665afa5-5303-4c36-90aa-082859636427","8d022bf0-009d-4913-9cba-07b973de155d","fe39b0fa-c466-44f8-a55d-9159ad12cac7"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["result"],"scripts":{"result":{"enabled":true,"attributes":{"win":"5665afa5-5303-4c36-90aa-082859636427","lose":"8d022bf0-009d-4913-9cba-07b973de155d","draw":"fe39b0fa-c466-44f8-a55d-9159ad12cac7"}}}}}},"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86":{"name":"StartButton","tags":[],"enabled":true,"resource_id":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","parent":"717f1daa-0043-4f79-90ec-85deecdc5e73","children":["ef9eb80a-dac0-413c-8134-6174cd11f061"],"position":[0,122.50206641348376,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,71.002,-155,-174.002],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"contain","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef9eb80a-dac0-413c-8134-6174cd11f061":{"name":"Text","tags":[],"enabled":true,"resource_id":"ef9eb80a-dac0-413c-8134-6174cd11f061","parent":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","children":[],"position":[0,10,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"START","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":106.875,"height":36.563,"margin":[-95,-22.5,-95,-42.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a132463-4065-4029-8123-50daf0892779":{"name":"Controller","tags":[],"enabled":true,"resource_id":"6a132463-4065-4029-8123-50daf0892779","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["3789b06d-2fd1-4703-9075-6b91a609741b","3d2631fa-a332-4c94-85d0-9e6aed3a924a","1b0059ce-7c72-4a34-aef1-b2b0d6cd2136"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{}},"3789b06d-2fd1-4703-9075-6b91a609741b":{"name":"DummyServer","tags":[],"enabled":true,"resource_id":"3789b06d-2fd1-4703-9075-6b91a609741b","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["dummyServer"],"scripts":{"dummyServer":{"enabled":true,"attributes":{}}}}}},"3d2631fa-a332-4c94-85d0-9e6aed3a924a":{"name":"GameController","tags":[],"enabled":true,"resource_id":"3d2631fa-a332-4c94-85d0-9e6aed3a924a","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["gameController"],"scripts":{"gameController":{"enabled":true,"attributes":{}}}}}},"d83c1c56-1349-4036-806f-bbb897f2a8e8":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"d83c1c56-1349-4036-806f-bbb897f2a8e8","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["d4dfcb09-29cc-4508-8601-c4e680a3c495","22297a68-64e0-4077-81b8-7630e60a3086"],"position":[150,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d83c1c56-1349-4036-806f-bbb897f2a8e8","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[0,0,-300,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","tieImage":"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8","buttonText":"22297a68-64e0-4077-81b8-7630e60a3086"}}}}},"template_id":154126713,"template_ent_ids":{"d83c1c56-1349-4036-806f-bbb897f2a8e8":"ef844494-b980-4a56-af07-93bd72590446","d4dfcb09-29cc-4508-8601-c4e680a3c495":"b784e5ee-7e21-434b-808a-6524e8404946","be3b1ce2-fb2a-4864-90c4-05cf9980fbbe":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8":"710e0f98-9884-499c-ab3f-ba6954b4b647","22297a68-64e0-4077-81b8-7630e60a3086":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"5665afa5-5303-4c36-90aa-082859636427":{"name":"Win","tags":[],"enabled":false,"resource_id":"5665afa5-5303-4c36-90aa-082859636427","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1844b778-6764-46e5-b3dd-d0f182761b4f","408ea63d-61d1-46e5-a3bc-7c020d2e654e"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1844b778-6764-46e5-b3dd-d0f182761b4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"1844b778-6764-46e5-b3dd-d0f182761b4f","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,37.79978727255726,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"You WIN","key":null,"fontAsset":154122838,"fontSize":240,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":637.5,"height":162.5,"margin":[-382.5,-59.7,-382.5,-135.3],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8d022bf0-009d-4913-9cba-07b973de155d":{"name":"Lose","tags":[],"enabled":false,"resource_id":"8d022bf0-009d-4913-9cba-07b973de155d","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,14.157774979836091,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"you Lost","key":null,"fontAsset":154122838,"fontSize":240,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":885,"height":269.76,"margin":[-442.5,-83.342,-442.5,-111.658],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136":{"name":"AudioController","tags":[],"enabled":true,"resource_id":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","parent":"6a132463-4065-4029-8123-50daf0892779","children":["3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","81a10236-090f-4364-b5ad-8e296a5eb78e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["audioController"],"scripts":{"audioController":{"enabled":true,"attributes":{"soundSource":"81a10236-090f-4364-b5ad-8e296a5eb78e"}}}}}},"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc":{"name":"Audio Listener","tags":[],"enabled":true,"resource_id":"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"audiolistener":{"enabled":true}}},"81a10236-090f-4364-b5ad-8e296a5eb78e":{"name":"Sound","tags":[],"enabled":true,"resource_id":"81a10236-090f-4364-b5ad-8e296a5eb78e","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"sound":{"enabled":true,"volume":1,"pitch":1,"positional":true,"refDistance":1,"maxDistance":10000,"rollOffFactor":1,"distanceModel":"linear","slots":{"2":{"name":"Click","loop":false,"autoPlay":false,"overlap":false,"asset":154122816,"startTime":0,"duration":null,"volume":1,"pitch":1},"3":{"name":"Lose","loop":false,"autoPlay":false,"overlap":false,"asset":154122818,"startTime":0,"duration":null,"volume":1,"pitch":1},"4":{"name":"Open","loop":false,"autoPlay":false,"overlap":false,"asset":154122852,"startTime":0,"duration":null,"volume":1,"pitch":1},"5":{"name":"Win","loop":false,"autoPlay":false,"overlap":false,"asset":154122830,"startTime":0,"duration":null,"volume":1,"pitch":1},"6":{"name":"moveCard","loop":false,"autoPlay":false,"overlap":true,"asset":154122862,"startTime":0,"duration":null,"volume":1,"pitch":1},"7":{"name":"flipCard","loop":false,"autoPlay":false,"overlap":true,"asset":154122882,"startTime":0,"duration":null,"volume":0.36,"pitch":1},"8":{"name":"pWin","loop":false,"autoPlay":false,"overlap":true,"asset":154122815,"startTime":0,"duration":null,"volume":1,"pitch":1},"9":{"name":"pDraw","loop":false,"autoPlay":false,"overlap":true,"asset":154122886,"startTime":0,"duration":null,"volume":1,"pitch":1},"10":{"name":"pLose","loop":false,"autoPlay":false,"overlap":true,"asset":154122890,"startTime":0,"duration":null,"volume":1,"pitch":1}}}}},"cf778ab4-4cd6-4c44-a880-8eca997d8fcc":{"name":"SoundButton","tags":[],"enabled":true,"resource_id":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["50ad00e6-271c-4756-b28d-11e6b1ef52eb"],"position":[20,-20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[20,-140,-140,20],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"50ad00e6-271c-4756-b28d-11e6b1ef52eb":{"name":"Button","tags":[],"enabled":true,"resource_id":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","parent":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","children":["1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","2753f9e8-255b-4725-84a2-16795c7174e6"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":100,"margin":[-42.5,-50,-42.5,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["soundButton"],"scripts":{"soundButton":{"enabled":true,"attributes":{"onImg":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","offImg":"2753f9e8-255b-4725-84a2-16795c7174e6"}}}}}},"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58":{"name":"On","tags":[],"enabled":false,"resource_id":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":155554346,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2753f9e8-255b-4725-84a2-16795c7174e6":{"name":"Off","tags":[],"enabled":true,"resource_id":"2753f9e8-255b-4725-84a2-16795c7174e6","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":155554347,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85b17c53-513d-4bfa-871d-1e0e273b8786":{"name":"BetController","tags":[],"enabled":true,"resource_id":"85b17c53-513d-4bfa-871d-1e0e273b8786","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5a034e63-1b15-486b-96fc-2b2e2847420a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,0,-500,-600],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betController"],"scripts":{"betController":{"enabled":true,"attributes":{"betButton":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892"],"okButton":"e905deb6-b6db-4c52-acbf-f678b6491e58","cancelButton":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","clearButton":"520409b8-ff1b-4179-92e0-317a07036fd4","betAmountText":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","errorText":"0482f254-0b73-45a9-8881-807ee55524be"}}}}}},"5a034e63-1b15-486b-96fc-2b2e2847420a":{"name":"BackGround","tags":[],"enabled":false,"resource_id":"5a034e63-1b15-486b-96fc-2b2e2847420a","parent":"85b17c53-513d-4bfa-871d-1e0e273b8786","children":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892","d24500da-4b2a-4d7c-9215-53b4fb6bd76e","e905deb6-b6db-4c52-acbf-f678b6491e58","87973658-53ec-488e-aef0-a8f678900356","520409b8-ff1b-4179-92e0-317a07036fd4","0482f254-0b73-45a9-8881-807ee55524be"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.16470588235294117,0.16470588235294117,0.16470588235294117],"opacity":0.367,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,-300,-500,-300],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1cf8d121-4dba-4338-8004-c37c5648d1ac":{"name":"Button","tags":[],"enabled":true,"resource_id":"1cf8d121-4dba-4338-8004-c37c5648d1ac","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["8b15b958-beb8-43ea-b8f6-5fb59cc50677"],"position":[-319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1cf8d121-4dba-4338-8004-c37c5648d1ac","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,63.247,165,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1}}}}}},"8b15b958-beb8-43ea-b8f6-5fb59cc50677":{"name":"Text","tags":[],"enabled":true,"resource_id":"8b15b958-beb8-43ea-b8f6-5fb59cc50677","parent":"1cf8d121-4dba-4338-8004-c37c5648d1ac","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85736018-f6da-4142-b0da-753be93796e0":{"name":"Button","tags":[],"enabled":true,"resource_id":"85736018-f6da-4142-b0da-753be93796e0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["eafbf68e-a08d-439e-9c08-e1f0c393b867"],"position":[0,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"85736018-f6da-4142-b0da-753be93796e0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,63.247,-155,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10}}}}}},"eafbf68e-a08d-439e-9c08-e1f0c393b867":{"name":"Text","tags":[],"enabled":true,"resource_id":"eafbf68e-a08d-439e-9c08-e1f0c393b867","parent":"85736018-f6da-4142-b0da-753be93796e0","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0f9874ca-b06b-4b03-a7fa-e8cc04692bde":{"name":"Button","tags":[],"enabled":true,"resource_id":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["c5508cc8-5056-422d-b761-052b3a319b99"],"position":[319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,63.247,-475,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100}}}}}},"c5508cc8-5056-422d-b761-052b3a319b99":{"name":"Text","tags":[],"enabled":true,"resource_id":"c5508cc8-5056-422d-b761-052b3a319b99","parent":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0":{"name":"Button","tags":[],"enabled":true,"resource_id":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c"],"position":[-319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,-56.753,165,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1000}}}}}},"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c":{"name":"Text","tags":[],"enabled":true,"resource_id":"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c","parent":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf2a2801-e64c-471c-9c01-8b87b2550734":{"name":"Button","tags":[],"enabled":true,"resource_id":"cf2a2801-e64c-471c-9c01-8b87b2550734","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["61bcedac-217b-4855-9e44-de5fc08a3f1f"],"position":[0,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"cf2a2801-e64c-471c-9c01-8b87b2550734","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,-56.753,-155,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10000}}}}}},"61bcedac-217b-4855-9e44-de5fc08a3f1f":{"name":"Text","tags":[],"enabled":true,"resource_id":"61bcedac-217b-4855-9e44-de5fc08a3f1f","parent":"cf2a2801-e64c-471c-9c01-8b87b2550734","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"88edaf23-57fb-4d4c-8499-37b285e47892":{"name":"Button","tags":[],"enabled":true,"resource_id":"88edaf23-57fb-4d4c-8499-37b285e47892","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["04788a9b-8bdc-48e3-9b88-3d484f890d82"],"position":[319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"88edaf23-57fb-4d4c-8499-37b285e47892","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122845,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,-56.753,-475,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100000}}}}}},"04788a9b-8bdc-48e3-9b88-3d484f890d82":{"name":"Text","tags":[],"enabled":true,"resource_id":"04788a9b-8bdc-48e3-9b88-3d484f890d82","parent":"88edaf23-57fb-4d4c-8499-37b285e47892","children":[],"position":[140,62.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"+100,000","key":null,"fontAsset":154122838,"fontSize":32,"minFontSize":8,"maxFontSize":64,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":64,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,12.5,0,-12.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0.1803921568627451,0.1803921568627451,0.1803921568627451,1],"shadowOffset":[0,-0.5],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d24500da-4b2a-4d7c-9215-53b4fb6bd76e":{"name":"CancelButton","tags":[],"enabled":true,"resource_id":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122887,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[45,-291.164,-355,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e905deb6-b6db-4c52-acbf-f678b6491e58":{"name":"OkButton","tags":[],"enabled":true,"resource_id":"e905deb6-b6db-4c52-acbf-f678b6491e58","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[-200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"e905deb6-b6db-4c52-acbf-f678b6491e58","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122841,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-355,-291.164,45,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"408ea63d-61d1-46e5-a3bc-7c020d2e654e":{"name":"Profit","tags":[],"enabled":true,"resource_id":"408ea63d-61d1-46e5-a3bc-7c020d2e654e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[-19.99949961900711,-113.95635629738902,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100","key":null,"fontAsset":154122838,"fontSize":150,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":150,"wrapLines":true,"spacing":1,"color":[1,0.8,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":202.5,"height":97.5,"margin":[-146.562,-174.894,-106.563,53.019],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e408ddb-a1c0-4c54-ad0a-9b33af456156":{"name":"BakcgourndCover","tags":[],"enabled":false,"resource_id":"7e408ddb-a1c0-4c54-ad0a-9b33af456156","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[-1,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-501,-800,-499,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"87973658-53ec-488e-aef0-a8f678900356":{"name":"Image","tags":[],"enabled":true,"resource_id":"87973658-53ec-488e-aef0-a8f678900356","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["d9ac37ec-0f58-4e1e-8e3a-493afae8f818"],"position":[-153,-124.249,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122889,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-474.5,-175.749,-168.5,72.749],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"520409b8-ff1b-4179-92e0-317a07036fd4":{"name":"ClearButton","tags":[],"enabled":true,"resource_id":"520409b8-ff1b-4179-92e0-317a07036fd4","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[328,-125.2151452236294,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"520409b8-ff1b-4179-92e0-317a07036fd4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[0.5019607843137255,0.5019607843137255,0.5019607843137255,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":154122847,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[181,-176.715,-475,73.715],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d9ac37ec-0f58-4e1e-8e3a-493afae8f818":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","parent":"87973658-53ec-488e-aef0-a8f678900356","children":[],"position":[-20,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":52,"margin":[-60,-32.5,20,-32.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0482f254-0b73-45a9-8881-807ee55524be":{"name":"errorText","tags":[],"enabled":true,"resource_id":"0482f254-0b73-45a9-8881-807ee55524be","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[0,225.18919542295134,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Not enough balance.","key":null,"fontAsset":154122838,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":700,"height":65,"margin":[-350,192.689,-350,-257.689],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.59,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"22297a68-64e0-4077-81b8-7630e60a3086":{"name":"Text","tags":[],"enabled":true,"resource_id":"22297a68-64e0-4077-81b8-7630e60a3086","parent":"d83c1c56-1349-4036-806f-bbb897f2a8e8","children":[],"position":[0.000019073486328125,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":153.125,"height":126.875,"margin":[-76.563,-63.438,-76.563,-63.438],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","parent":"d4dfcb09-29cc-4508-8601-c4e680a3c495","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[-2.5,-58,-192.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8","parent":"d4dfcb09-29cc-4508-8601-c4e680a3c495","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"babda804-3f6c-474d-a096-ad9493a4b0db":{"name":"Group","tags":[],"enabled":true,"resource_id":"babda804-3f6c-474d-a096-ad9493a4b0db","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["d83c1c56-1349-4036-806f-bbb897f2a8e8","3b31d70b-7a05-40f8-9216-f967d264b5ab","4d92cd8b-f247-48a1-b0ac-20dff1f39728"],"position":[32,350,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,300,-32,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":false,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":1,"wrap":false}}},"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be":{"name":"Group","tags":[],"enabled":false,"resource_id":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["0af80841-9d2b-4e69-96e8-fdd7e87a885c","aadeea15-8666-4959-be18-443f4fed8a2a"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,302,-32,-402],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":false,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"eb1638ea-e3d1-4720-bcba-99cf9e5b9179":{"name":"Group","tags":[],"enabled":false,"resource_id":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["1a326955-e955-477b-8bab-a60b2863e99e","b37459e5-7e09-4113-8c37-00a67664ef33"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,270,-32,-370],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":false,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"ddfcaac5-819a-4dfb-8147-b815f0a569fa":{"name":"Group","tags":[],"enabled":false,"resource_id":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["f7f0620f-be00-4527-9a73-4b7067cb3ede","4755d240-499d-40e6-ad27-560b420ac083"],"position":[-449.4138240814209,319.9559603537715,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":100,"margin":[0,238,-32,-338],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":false,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":1,"heightFitting":0,"wrap":false}}},"d4dfcb09-29cc-4508-8601-c4e680a3c495":{"name":"Group","tags":[],"enabled":true,"resource_id":"d4dfcb09-29cc-4508-8601-c4e680a3c495","parent":"d83c1c56-1349-4036-806f-bbb897f2a8e8","children":["be3b1ce2-fb2a-4864-90c4-05cf9980fbbe","1c6c4ed2-bbca-4615-80e3-c6d285e7dfe8"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"3b31d70b-7a05-40f8-9216-f967d264b5ab":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"3b31d70b-7a05-40f8-9216-f967d264b5ab","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["398082a0-0d95-4caf-9913-fcfc7a976069","d2343b65-6705-4290-b6b5-eda5a76875d6"],"position":[470,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3b31d70b-7a05-40f8-9216-f967d264b5ab","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[320,0,-620,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","tieImage":"b79762ee-0d78-453e-93e1-7f3f870632c6","buttonText":"d2343b65-6705-4290-b6b5-eda5a76875d6"}}}}},"template_id":154126713,"template_ent_ids":{"3b31d70b-7a05-40f8-9216-f967d264b5ab":"ef844494-b980-4a56-af07-93bd72590446","398082a0-0d95-4caf-9913-fcfc7a976069":"b784e5ee-7e21-434b-808a-6524e8404946","34328dd0-ef0f-4e97-a3e6-adf6cfad22e5":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","b79762ee-0d78-453e-93e1-7f3f870632c6":"710e0f98-9884-499c-ab3f-ba6954b4b647","d2343b65-6705-4290-b6b5-eda5a76875d6":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"398082a0-0d95-4caf-9913-fcfc7a976069":{"name":"Group","tags":[],"enabled":true,"resource_id":"398082a0-0d95-4caf-9913-fcfc7a976069","parent":"3b31d70b-7a05-40f8-9216-f967d264b5ab","children":["34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","b79762ee-0d78-453e-93e1-7f3f870632c6"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"34328dd0-ef0f-4e97-a3e6-adf6cfad22e5","parent":"398082a0-0d95-4caf-9913-fcfc7a976069","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[0,-58,-195,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b79762ee-0d78-453e-93e1-7f3f870632c6":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"b79762ee-0d78-453e-93e1-7f3f870632c6","parent":"398082a0-0d95-4caf-9913-fcfc7a976069","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d2343b65-6705-4290-b6b5-eda5a76875d6":{"name":"Text","tags":[],"enabled":true,"resource_id":"d2343b65-6705-4290-b6b5-eda5a76875d6","parent":"3b31d70b-7a05-40f8-9216-f967d264b5ab","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4d92cd8b-f247-48a1-b0ac-20dff1f39728":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","parent":"babda804-3f6c-474d-a096-ad9493a4b0db","children":["577d50ca-ece7-4262-bc94-8ff4e4305ef1","1c6cd7a3-f948-470b-b78f-b27862e2a753"],"position":[790,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":100,"margin":[640,0,-940,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"f74383da-8f15-4907-bc1a-6ec951874dba","tieImage":"ea080d52-4fb0-4724-8970-95a8543f0970","buttonText":"1c6cd7a3-f948-470b-b78f-b27862e2a753"}}}}},"template_id":154126713,"template_ent_ids":{"4d92cd8b-f247-48a1-b0ac-20dff1f39728":"ef844494-b980-4a56-af07-93bd72590446","577d50ca-ece7-4262-bc94-8ff4e4305ef1":"b784e5ee-7e21-434b-808a-6524e8404946","f74383da-8f15-4907-bc1a-6ec951874dba":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","ea080d52-4fb0-4724-8970-95a8543f0970":"710e0f98-9884-499c-ab3f-ba6954b4b647","1c6cd7a3-f948-470b-b78f-b27862e2a753":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"577d50ca-ece7-4262-bc94-8ff4e4305ef1":{"name":"Group","tags":[],"enabled":true,"resource_id":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","parent":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","children":["f74383da-8f15-4907-bc1a-6ec951874dba","ea080d52-4fb0-4724-8970-95a8543f0970"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"f74383da-8f15-4907-bc1a-6ec951874dba":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"f74383da-8f15-4907-bc1a-6ec951874dba","parent":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":195,"height":90,"margin":[0,-58,-195,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ea080d52-4fb0-4724-8970-95a8543f0970":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"ea080d52-4fb0-4724-8970-95a8543f0970","parent":"577d50ca-ece7-4262-bc94-8ff4e4305ef1","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":95,"height":90,"margin":[187.5,-58,-282.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c6cd7a3-f948-470b-b78f-b27862e2a753":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c6cd7a3-f948-470b-b78f-b27862e2a753","parent":"4d92cd8b-f247-48a1-b0ac-20dff1f39728","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0af80841-9d2b-4e69-96e8-fdd7e87a885c":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","parent":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","children":["b1e55ad7-c077-463e-b88b-204a96c8b0e0","b9c64cbd-08c3-456b-8e5f-3b928c294c76"],"position":[230,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[0,0,-460,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"dcb821cd-79b9-4cfb-bb4e-44573873f46e","tieImage":"63e8f654-1482-4f8c-8eed-b06c728b84d5","buttonText":"b9c64cbd-08c3-456b-8e5f-3b928c294c76"}}}}},"template_id":154126713,"template_ent_ids":{"0af80841-9d2b-4e69-96e8-fdd7e87a885c":"ef844494-b980-4a56-af07-93bd72590446","b1e55ad7-c077-463e-b88b-204a96c8b0e0":"b784e5ee-7e21-434b-808a-6524e8404946","dcb821cd-79b9-4cfb-bb4e-44573873f46e":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","63e8f654-1482-4f8c-8eed-b06c728b84d5":"710e0f98-9884-499c-ab3f-ba6954b4b647","b9c64cbd-08c3-456b-8e5f-3b928c294c76":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"b1e55ad7-c077-463e-b88b-204a96c8b0e0":{"name":"Group","tags":[],"enabled":true,"resource_id":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","parent":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","children":["dcb821cd-79b9-4cfb-bb4e-44573873f46e","63e8f654-1482-4f8c-8eed-b06c728b84d5"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"dcb821cd-79b9-4cfb-bb4e-44573873f46e":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"dcb821cd-79b9-4cfb-bb4e-44573873f46e","parent":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[10,-58,-370,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"63e8f654-1482-4f8c-8eed-b06c728b84d5":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"63e8f654-1482-4f8c-8eed-b06c728b84d5","parent":"b1e55ad7-c077-463e-b88b-204a96c8b0e0","children":[],"position":[242.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b9c64cbd-08c3-456b-8e5f-3b928c294c76":{"name":"Text","tags":[],"enabled":true,"resource_id":"b9c64cbd-08c3-456b-8e5f-3b928c294c76","parent":"0af80841-9d2b-4e69-96e8-fdd7e87a885c","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aadeea15-8666-4959-be18-443f4fed8a2a":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"aadeea15-8666-4959-be18-443f4fed8a2a","parent":"9ba7599c-dc89-42b3-ba0c-4ef79c1e06be","children":["a3c76add-ce44-456a-ac69-907dc4479157","7e3ffdcc-54a7-4103-97af-c03f36ab4c57"],"position":[710,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"aadeea15-8666-4959-be18-443f4fed8a2a","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[480,0,-940,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"a4773123-789e-4563-862a-a853ab2b2cd7","tieImage":"691bd1e6-551e-43c1-a91e-374ef991f669","buttonText":"7e3ffdcc-54a7-4103-97af-c03f36ab4c57"}}}}},"template_id":154126713,"template_ent_ids":{"aadeea15-8666-4959-be18-443f4fed8a2a":"ef844494-b980-4a56-af07-93bd72590446","a3c76add-ce44-456a-ac69-907dc4479157":"b784e5ee-7e21-434b-808a-6524e8404946","a4773123-789e-4563-862a-a853ab2b2cd7":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","691bd1e6-551e-43c1-a91e-374ef991f669":"710e0f98-9884-499c-ab3f-ba6954b4b647","7e3ffdcc-54a7-4103-97af-c03f36ab4c57":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"a3c76add-ce44-456a-ac69-907dc4479157":{"name":"Group","tags":[],"enabled":true,"resource_id":"a3c76add-ce44-456a-ac69-907dc4479157","parent":"aadeea15-8666-4959-be18-443f4fed8a2a","children":["a4773123-789e-4563-862a-a853ab2b2cd7","691bd1e6-551e-43c1-a91e-374ef991f669"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"a4773123-789e-4563-862a-a853ab2b2cd7":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"a4773123-789e-4563-862a-a853ab2b2cd7","parent":"a3c76add-ce44-456a-ac69-907dc4479157","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"691bd1e6-551e-43c1-a91e-374ef991f669":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"691bd1e6-551e-43c1-a91e-374ef991f669","parent":"a3c76add-ce44-456a-ac69-907dc4479157","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e3ffdcc-54a7-4103-97af-c03f36ab4c57":{"name":"Text","tags":[],"enabled":true,"resource_id":"7e3ffdcc-54a7-4103-97af-c03f36ab4c57","parent":"aadeea15-8666-4959-be18-443f4fed8a2a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a326955-e955-477b-8bab-a60b2863e99e":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"1a326955-e955-477b-8bab-a60b2863e99e","parent":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","children":["8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","bd9d8351-97ff-4425-9b0d-143d07517eb5"],"position":[230,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1a326955-e955-477b-8bab-a60b2863e99e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[0,0,-460,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"f36b65b9-a1fd-40dd-b581-e12cc5116b17","tieImage":"fba29c52-bdfb-442a-b373-bc63375404cc","buttonText":"bd9d8351-97ff-4425-9b0d-143d07517eb5"}}}}},"template_id":154126713,"template_ent_ids":{"1a326955-e955-477b-8bab-a60b2863e99e":"ef844494-b980-4a56-af07-93bd72590446","8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f":"b784e5ee-7e21-434b-808a-6524e8404946","f36b65b9-a1fd-40dd-b581-e12cc5116b17":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","fba29c52-bdfb-442a-b373-bc63375404cc":"710e0f98-9884-499c-ab3f-ba6954b4b647","bd9d8351-97ff-4425-9b0d-143d07517eb5":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f":{"name":"Group","tags":[],"enabled":true,"resource_id":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","parent":"1a326955-e955-477b-8bab-a60b2863e99e","children":["f36b65b9-a1fd-40dd-b581-e12cc5116b17","fba29c52-bdfb-442a-b373-bc63375404cc"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"f36b65b9-a1fd-40dd-b581-e12cc5116b17":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"f36b65b9-a1fd-40dd-b581-e12cc5116b17","parent":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fba29c52-bdfb-442a-b373-bc63375404cc":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"fba29c52-bdfb-442a-b373-bc63375404cc","parent":"8b9aa2d7-22f1-46cc-bc24-6b5c69c7b62f","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bd9d8351-97ff-4425-9b0d-143d07517eb5":{"name":"Text","tags":[],"enabled":true,"resource_id":"bd9d8351-97ff-4425-9b0d-143d07517eb5","parent":"1a326955-e955-477b-8bab-a60b2863e99e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b37459e5-7e09-4113-8c37-00a67664ef33":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"b37459e5-7e09-4113-8c37-00a67664ef33","parent":"eb1638ea-e3d1-4720-bcba-99cf9e5b9179","children":["7e0c1b34-1084-409c-a038-c9b8d8c96a6c","823ab4ad-bef6-4a1c-a138-8cfb5889da79"],"position":[710,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"b37459e5-7e09-4113-8c37-00a67664ef33","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[480,0,-940,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"c631f6ec-506d-4c74-9a06-51251aa06858","tieImage":"c82e7748-3ff2-4d9f-903e-c3f65156449f","buttonText":"823ab4ad-bef6-4a1c-a138-8cfb5889da79"}}}}},"template_id":154126713,"template_ent_ids":{"b37459e5-7e09-4113-8c37-00a67664ef33":"ef844494-b980-4a56-af07-93bd72590446","7e0c1b34-1084-409c-a038-c9b8d8c96a6c":"b784e5ee-7e21-434b-808a-6524e8404946","c631f6ec-506d-4c74-9a06-51251aa06858":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","c82e7748-3ff2-4d9f-903e-c3f65156449f":"710e0f98-9884-499c-ab3f-ba6954b4b647","823ab4ad-bef6-4a1c-a138-8cfb5889da79":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"7e0c1b34-1084-409c-a038-c9b8d8c96a6c":{"name":"Group","tags":[],"enabled":true,"resource_id":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","parent":"b37459e5-7e09-4113-8c37-00a67664ef33","children":["c631f6ec-506d-4c74-9a06-51251aa06858","c82e7748-3ff2-4d9f-903e-c3f65156449f"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"c631f6ec-506d-4c74-9a06-51251aa06858":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"c631f6ec-506d-4c74-9a06-51251aa06858","parent":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c82e7748-3ff2-4d9f-903e-c3f65156449f":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"c82e7748-3ff2-4d9f-903e-c3f65156449f","parent":"7e0c1b34-1084-409c-a038-c9b8d8c96a6c","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"823ab4ad-bef6-4a1c-a138-8cfb5889da79":{"name":"Text","tags":[],"enabled":true,"resource_id":"823ab4ad-bef6-4a1c-a138-8cfb5889da79","parent":"b37459e5-7e09-4113-8c37-00a67664ef33","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f7f0620f-be00-4527-9a73-4b7067cb3ede":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"f7f0620f-be00-4527-9a73-4b7067cb3ede","parent":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","children":["6c11621a-23be-4ef6-bf32-1fb66db795ef","0087ade9-31a2-4f32-bfbf-f9dee135d785"],"position":[230,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f7f0620f-be00-4527-9a73-4b7067cb3ede","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[0,0,-460,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","tieImage":"34a8c9df-76fd-4291-b237-ff901c91a002","buttonText":"0087ade9-31a2-4f32-bfbf-f9dee135d785"}}}}},"template_id":154126713,"template_ent_ids":{"f7f0620f-be00-4527-9a73-4b7067cb3ede":"ef844494-b980-4a56-af07-93bd72590446","6c11621a-23be-4ef6-bf32-1fb66db795ef":"b784e5ee-7e21-434b-808a-6524e8404946","dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","34a8c9df-76fd-4291-b237-ff901c91a002":"710e0f98-9884-499c-ab3f-ba6954b4b647","0087ade9-31a2-4f32-bfbf-f9dee135d785":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"6c11621a-23be-4ef6-bf32-1fb66db795ef":{"name":"Group","tags":[],"enabled":true,"resource_id":"6c11621a-23be-4ef6-bf32-1fb66db795ef","parent":"f7f0620f-be00-4527-9a73-4b7067cb3ede","children":["dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","34a8c9df-76fd-4291-b237-ff901c91a002"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"dd6f4e4a-e91e-4200-b81c-23f3fd3cc7a3","parent":"6c11621a-23be-4ef6-bf32-1fb66db795ef","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"34a8c9df-76fd-4291-b237-ff901c91a002":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"34a8c9df-76fd-4291-b237-ff901c91a002","parent":"6c11621a-23be-4ef6-bf32-1fb66db795ef","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0087ade9-31a2-4f32-bfbf-f9dee135d785":{"name":"Text","tags":[],"enabled":true,"resource_id":"0087ade9-31a2-4f32-bfbf-f9dee135d785","parent":"f7f0620f-be00-4527-9a73-4b7067cb3ede","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4755d240-499d-40e6-ad27-560b420ac083":{"name":"Buttons","tags":[],"enabled":true,"resource_id":"4755d240-499d-40e6-ad27-560b420ac083","parent":"ddfcaac5-819a-4dfb-8147-b815f0a569fa","children":["fb9cb516-35b4-4564-a562-34b58859e1e1","59185a0a-fc0f-4a02-b16b-fa21b70bdd08"],"position":[710,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4755d240-499d-40e6-ad27-560b420ac083","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.5607843137254902,0.5607843137254902,0.5607843137254902,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":460,"height":100,"margin":[480,0,-940,-100],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betButton"],"scripts":{"betButton":{"enabled":true,"attributes":{"buttonIdx":0,"winNumber":0,"tieNumber":0,"winImage":"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","tieImage":"08ab2148-ca46-4847-a286-3f4260d08e09","buttonText":"59185a0a-fc0f-4a02-b16b-fa21b70bdd08"}}}}},"template_id":154126713,"template_ent_ids":{"4755d240-499d-40e6-ad27-560b420ac083":"ef844494-b980-4a56-af07-93bd72590446","fb9cb516-35b4-4564-a562-34b58859e1e1":"b784e5ee-7e21-434b-808a-6524e8404946","bfb95830-1cfa-4954-ac51-3c0fd4f17c1b":"f6a459ea-a2a4-4c07-86a9-c1fdd8c12226","08ab2148-ca46-4847-a286-3f4260d08e09":"710e0f98-9884-499c-ab3f-ba6954b4b647","59185a0a-fc0f-4a02-b16b-fa21b70bdd08":"4d6cea14-e514-4b57-a8e2-a2dd12da679d"}},"fb9cb516-35b4-4564-a562-34b58859e1e1":{"name":"Group","tags":[],"enabled":true,"resource_id":"fb9cb516-35b4-4564-a562-34b58859e1e1","parent":"4755d240-499d-40e6-ad27-560b420ac083","children":["bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","08ab2148-ca46-4847-a286-3f4260d08e09"],"position":[5,-5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[5,-37,-37,5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b":{"name":"WinColor","tags":[],"enabled":true,"resource_id":"bfb95830-1cfa-4954-ac51-3c0fd4f17c1b","parent":"fb9cb516-35b4-4564-a562-34b58859e1e1","children":[],"position":[97.5,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":360,"height":90,"margin":[-82.5,-58,-277.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"08ab2148-ca46-4847-a286-3f4260d08e09":{"name":"TieColor","tags":[],"enabled":true,"resource_id":"08ab2148-ca46-4847-a286-3f4260d08e09","parent":"fb9cb516-35b4-4564-a562-34b58859e1e1","children":[],"position":[235,-13,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":85,"height":90,"margin":[365,-58,-450,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"59185a0a-fc0f-4a02-b16b-fa21b70bdd08":{"name":"Text","tags":[],"enabled":true,"resource_id":"59185a0a-fc0f-4a02-b16b-fa21b70bdd08","parent":"4755d240-499d-40e6-ad27-560b420ac083","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1 WIN\n2 TIE","key":null,"fontAsset":154122838,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":40,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":109.375,"height":80.625,"margin":[-54.6875,-40.3125,-54.6875,-40.3125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"135a77e4-4e92-4615-beaf-63f2fddacb6d":{"name":"Text","tags":[],"enabled":true,"resource_id":"135a77e4-4e92-4615-beaf-63f2fddacb6d","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":[],"position":[0,199.08891253967408,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":154122838,"fontSize":800,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":800,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":650,"margin":[-100,-125.911,-100,-524.089],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.168,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numberController"],"scripts":{"numberController":{"enabled":true,"attributes":{}}}}}},"fe39b0fa-c466-44f8-a55d-9159ad12cac7":{"name":"Draw","tags":[],"enabled":false,"resource_id":"fe39b0fa-c466-44f8-a55d-9159ad12cac7","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["7b4bdc4e-ab25-4627-8bdf-f4137c91203d"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":154122827,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7b4bdc4e-ab25-4627-8bdf-f4137c91203d":{"name":"Text","tags":[],"enabled":true,"resource_id":"7b4bdc4e-ab25-4627-8bdf-f4137c91203d","parent":"fe39b0fa-c466-44f8-a55d-9159ad12cac7","children":[],"position":[0,14.157774979836091,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Draw","key":null,"fontAsset":154122838,"fontSize":240,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":480,"height":195,"margin":[-240,-83.342,-240,-111.658],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}}},"checkpoint_id":"79b47dec-83b2-440f-8600-3bb34fcf39ed","id":1882372} \ No newline at end of file diff --git a/OneTwoThree/OneTwoThree/__game-scripts.js b/OneTwoThree/OneTwoThree/__game-scripts.js new file mode 100644 index 0000000..b1b06f5 --- /dev/null +++ b/OneTwoThree/OneTwoThree/__game-scripts.js @@ -0,0 +1 @@ +pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var a=this._repeat(i);return a?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),a}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var Background=pc.createScript("background");Background.attributes.add("startPosX",{type:"number",default:1}),Background.attributes.add("endPosX",{type:"number",default:1}),Background.attributes.add("durationTime",{type:"number",default:1}),Background.prototype.initialize=function(){this.entity.setLocalPosition(this.startPosX,0,0),this.tween=this.entity.tween(this.entity.getLocalPosition()).to(new pc.Vec3(this.endPosX,0,0),this.durationTime,pc.Linear).loop(!0).yoyo(!0),this.tween.start()};var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:Number(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0));a.text=`${n}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.startGame=function(e,t,n){console.log(e+" / "+t+" / "+n);let r=getRandomInt(1,4);this.userBalance=this.userBalance-e,this.betAmount=e;let a=t===r,i=n===r,s=0;return!0===a&&(s=0===n?3*e:2*e),i&&(s=e),this.userBalance=this.userBalance+s,{balance:this.userBalance,betAmount:this.betAmount,profit:s,winner:r,isWin:a,isTie:i}};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(o,r){return o=Math.ceil(o),r=Math.floor(r),Math.floor(Math.random()*(r-o))+o}var CardType={Clubs:0,Spades:1,Diamonds:2,Hearts:3},CardNumber={Two:2,Three:3,Four:4,Five:5,Six:6,Seven:7,Eight:8,Nine:9,Ten:10,Jack:11,Queen:12,King:13};function shuffle(o){var r,e,n;for(n=o.length-1;n>0;n--)r=Math.floor(Math.random()*(n+1)),e=o[n],o[n]=o[r],o[r]=e;return o}function getDeck(){let o=[],r=Object.values(JSON.parse(JSON.stringify(CardType))),e=Object.values(JSON.parse(JSON.stringify(CardNumber)));for(const n of r)for(const r of e){let e={type:n,number:r};o.push(e)}return o}function getOColor(){return new pc.Color(1,136/255,116/255,1)}function getEColor(){return rgbToColor(86,98,181,255)}function getQColor(){return new pc.Color(168/255,216/255,131/255,1)}function getPlayerColor(){return new pc.Color(0,1,159/255,1)}function getRedColor(){return rgbToColor(221,42,63,255)}function getGreenColor(){return rgbToColor(0,148,68,255)}function getBlueColor(){return rgbToColor(0,169,215,255)}function getBlackColor(){return rgbToColor(0,0,0,255)}function getWhiteColor(){return rgbToColor(255,255,255,255)}function setButton(o,r,e){o.button.on("touchend",r,e),o.button.on("mouseup",r,e)}function rgbToColor(o,r,e,n){return new pc.Color(o/255,r/255,e/255,n/255)}function getCommaText(o){return o.toLocaleString("en-US")}function changeTexture(o,r){o.element.texture=r.resource}async function loadJsonFromUrl(n){return new Promise((e=>{this.loadJsonFromRemote(n,(function(n){let o=JSON.stringify(n),t=JSON.parse(o);e(t)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null},Middle.prototype.postInitialize=function(){this.setIdle()},Middle.prototype.update=function(t){},Middle.prototype.startRace=async function(t,e){},Middle.prototype.setIdle=function(){NumberController.instance.setIdle()},Middle.prototype.setResult=async function(t){await NumberController.instance.stopRand(t)},Middle.prototype.setReady=function(){NumberController.instance.startRand()};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.update=function(e){},GameController.prototype.betStart=function(){BetController.instance.reset(),Middle.instance.setReady(),Bottom.instance.setBet()},GameController.prototype.startGame=async function(e){},GameController.prototype.betGame=async function(e,t,n){let a=DummyServer.instance.startGame(e,t,n);await Middle.instance.setResult(a.winner),await delay(500),await Bottom.instance.setResultGame(a.isWin,a.isTie,a.profit),await delay(1e3),UserBalance.instance.setBalance(a.balance),await delay(3e3),this.setIdle()},GameController.prototype.setIdle=function(){Middle.instance.setIdle(),Bottom.instance.setIdle()};var Bottom=pc.createScript("bottom");Bottom.attributes.add("startButton",{type:"entity"}),Bottom.attributes.add("start_active",{type:"asset",assetType:"texture"}),Bottom.attributes.add("start_deactive",{type:"asset",assetType:"texture"}),Bottom.attributes.add("betUi",{type:"entity"}),Bottom.prototype.initialize=function(){Bottom.instance=this,this.setButton(this.startButton,this.onClickStart),this.winEffectTimer=null,this.bellToggle=!1},Bottom.prototype.postInitialize=function(){this.disableAll(),BetButtonController.instance.setBetButton()},Bottom.prototype.initBetButton=function(){},Bottom.prototype.setButton=function(t,e){t.button.on("touchend",e,this),t.button.on("mouseup",e,this)},Bottom.prototype.onClickStart=function(){AudioController.instance.playSound("Click"),this.changeButtonState(this.startButton,!1),this.changeTexture(this.startButton,this.start_active),this.setBet()},Bottom.prototype.onClickPlayer=function(t,e,o){AudioController.instance.playSound("Click"),BetButtonController.instance.setHide(t),GameController.instance.betGame(BetController.instance.betAmount,e,o)},Bottom.prototype.changeTexture=function(t,e){t.element.texture=e.resource},Bottom.prototype.changeButtonState=function(t,e){t.button.active=e},Bottom.prototype.disableAll=function(){clearTimeout(this.winEffectTimer),this.changeButtonState(this.startButton,!1),this.changeTexture(this.startButton,this.start_deactive),Result.instance.hideResult(),this.startButton.enabled=!1,this.betUi.enabled=!1},Bottom.prototype.setBet=function(){Middle.instance.setReady(),this.disableAll(),this.changeTexture(this.startButton,this.start_active),this.betUi.enabled=!0,this.changeButtonState(this.startButton,!1)},Bottom.prototype.setIdle=function(){this.disableAll(),BetButtonController.instance.showBetButton(!1),setTimeout((()=>{this.startButton.enabled=!0,this.changeButtonState(this.startButton,!0)}),1e3)},Bottom.prototype.setStartGame=async function(){this.disableAll(),this.changeTexture(this.startButton,this.start_active),this.betUi.enabled=!1,BetButtonController.instance.showBetButton(!0)},Bottom.prototype.setResultGame=function(t,e,o){setTimeout((()=>{this.disableAll(),Result.instance.setResult(t,e,o)}),1e3)};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){!0!==this.isMute&&this.soundSource.sound.play(o)};var BetController=pc.createScript("betController");BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.onBetClear"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),0!==this.betAmount&&Bottom.instance.setStartGame()},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),GameController.instance.setIdle()},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"entity"}),SoundButton.attributes.add("offImg",{type:"entity"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,this.onImg.enabled=!1,this.offImg.enabled=!1,this.isMute?this.offImg.enabled=!0:this.onImg.enabled=!0,AudioController.instance.setMute(this.isMute)},SoundButton.prototype.setButton=function(t,n){t.element.on("touchend",n,this),t.element.on("mouseup",n,this)};var BetButton=pc.createScript("betButton");BetButton.attributes.add("buttonIdx",{type:"number"}),BetButton.attributes.add("winNumber",{type:"number"}),BetButton.attributes.add("tieNumber",{type:"number"}),BetButton.attributes.add("winImage",{type:"entity"}),BetButton.attributes.add("tieImage",{type:"entity"}),BetButton.attributes.add("buttonText",{type:"entity"}),BetButton.prototype.initialize=function(){setButton(this.entity,this.onClick,this)},BetButton.prototype.numberToColor=function(t){return 1===t?getRedColor():2===t?getGreenColor():getBlueColor()},BetButton.prototype.setButton=function(t,e,o){this.buttonIdx=t,this.winNumber=e,this.tieNumber=o,this.winImage.element.color=this.numberToColor(e),this.tieImage.element.color=this.numberToColor(0===o?e:o);let n="";n=`${e} WIN`,0!==o&&(n+=`\n${o} TIE`),this.buttonText.element.text=n},BetButton.prototype.onClick=function(){this.activeButton(!1),Bottom.instance.onClickPlayer(this.buttonIdx,this.winNumber,this.tieNumber)},BetButton.prototype.activeButton=function(t){this.entity.button.active=t},BetButton.prototype.changeButtonImage=function(t){this.entity.element.color=getEColor()};var Result=pc.createScript("result");Result.attributes.add("win",{type:"entity"}),Result.attributes.add("draw",{type:"entity"}),Result.attributes.add("lose",{type:"entity"}),Result.prototype.initialize=function(){Result.instance=this},Result.prototype.setResult=function(t,e,i){!0===t?(AudioController.instance.playSound("Win"),this.win.enabled=!0,this.win.children[1].element.text=`+${i}`):(AudioController.instance.playSound("Lose"),!0===e?this.draw.enabled=!0:this.lose.enabled=!0)},Result.prototype.hideResult=function(){this.win.enabled=!1,this.lose.enabled=!1,this.draw.enabled=!1};var BetButtonController=pc.createScript("betButtonController");BetButtonController.prototype.initialize=function(){BetButtonController.instance=this},BetButtonController.prototype.setBetButton=function(){let t=[{idx:0,win:1,tie:0},{idx:1,win:2,tie:0},{idx:2,win:3,tie:0},{idx:3,win:1,tie:2},{idx:4,win:1,tie:3},{idx:5,win:2,tie:1},{idx:6,win:2,tie:3},{idx:7,win:3,tie:1},{idx:8,win:3,tie:2}],e=0;console.log(this.entity.children),this.entity.children.forEach((i=>{i.children.forEach((i=>{let n=t[e];i.script.betButton.setButton(n.idx,n.win,n.tie),e++}))}))},BetButtonController.prototype.setHide=function(t){this.entity.children.forEach((e=>{e.children.forEach((e=>{e.script.betButton.buttonIdx!=t?e.enabled=!1:e.button.active=!1}))}))},BetButtonController.prototype.showBetButton=function(t){this.entity.children.forEach((e=>{e.enabled=t,e.children.forEach((e=>{e.button.active=t,e.enabled=t}))}))};var NumberController=pc.createScript("numberController");NumberController.prototype.initialize=function(){NumberController.instance=this,this.start=!1,this.interval=0,this.accTime=0,this.prevNumber=0},NumberController.prototype.postInitialize=function(){this.setIdle()},NumberController.prototype.update=function(t){!0===this.start&&(this.accTime+=t,this.accTime>=this.interval&&(this.prevNumber=this.generateRandomNumber(this.prevNumber),this.setNumber(this.prevNumber),this.accTime=0))},NumberController.prototype.generateRandomNumber=function(t){for(;;){var e=getRandomInt(1,4);if(e!==t)return e}},NumberController.prototype.setIdle=function(){this.start=!1,this.prevNumber=0,this.entity.element.text="?",this.entity.element.color=getWhiteColor()},NumberController.prototype.setNumber=function(t){let e=null;e=1===t?getRedColor():2===t?getGreenColor():getBlueColor(),this.entity.element.color=e,this.entity.element.text=`${t}`},NumberController.prototype.startRand=function(){this.start=!0,this.interval=.1,this.prevNumber=0},NumberController.prototype.stopRandLoop=async function(){for(let t=0;t<9;++t){this.interval+=.06;let t=1e3*this.interval;await delay(t)}},NumberController.prototype.stopRand=async function(t){await this.stopRandLoop(),this.start=!1;let e=this.interval-this.accTime;console.log(e),await delay(1e3*e),this.setNumber(t)}; \ No newline at end of file diff --git a/OneTwoThree/__loading__.js b/OneTwoThree/OneTwoThree/__loading__.js similarity index 100% rename from OneTwoThree/__loading__.js rename to OneTwoThree/OneTwoThree/__loading__.js diff --git a/OneTwoThree/__modules__.js b/OneTwoThree/OneTwoThree/__modules__.js similarity index 100% rename from OneTwoThree/__modules__.js rename to OneTwoThree/OneTwoThree/__modules__.js diff --git a/OneTwoThree/__settings__.js b/OneTwoThree/OneTwoThree/__settings__.js similarity index 70% rename from OneTwoThree/__settings__.js rename to OneTwoThree/OneTwoThree/__settings__.js index f9a4800..26d43c0 100644 --- a/OneTwoThree/__settings__.js +++ b/OneTwoThree/OneTwoThree/__settings__.js @@ -8,7 +8,7 @@ window.CONTEXT_OPTIONS = { 'preferWebGl2': true, 'powerPreference': "high-performance" }; -window.SCRIPTS = [ 154122863, 154122878, 154122826, 154122844, 154122831, 154122839, 154122820, 154122835, 154122880, 154122884, 154122840, 154122861, 154122885, 154122823, 154122825, 154122848, 154122828, 154122842, 154122829, 154122849, 154122846, 154122843, 154142061, 154653300 ]; +window.SCRIPTS = [ 154122863, 154122878, 154122826, 154122844, 154122831, 154122820, 154122835, 154122884, 154122840, 154122861, 154122885, 154122823, 154122825, 154122828, 154122843, 154142061, 154653300 ]; window.CONFIG_FILENAME = "config.json"; window.INPUT_SETTINGS = { useKeyboard: true, diff --git a/OneTwoThree/__start__.js b/OneTwoThree/OneTwoThree/__start__.js similarity index 100% rename from OneTwoThree/__start__.js rename to OneTwoThree/OneTwoThree/__start__.js diff --git a/OneTwoThree/files/assets/154122815/1/win_m.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122815/1/win_m.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122815/1/win_m.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122815/1/win_m.mp3 diff --git a/OneTwoThree/files/assets/154122816/1/click3.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122816/1/click3.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122816/1/click3.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122816/1/click3.mp3 diff --git a/OneTwoThree/files/assets/154122818/1/lose.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122818/1/lose.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122818/1/lose.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122818/1/lose.mp3 diff --git a/OneTwoThree/files/assets/154122827/1/vitro_core.png b/OneTwoThree/OneTwoThree/files/assets/154122827/1/vitro_core.png similarity index 100% rename from OneTwoThree/files/assets/154122827/1/vitro_core.png rename to OneTwoThree/OneTwoThree/files/assets/154122827/1/vitro_core.png diff --git a/OneTwoThree/files/assets/154122830/1/win.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122830/1/win.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122830/1/win.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122830/1/win.mp3 diff --git a/OneTwoThree/files/assets/154122838/1/superstar_memesbruh03.png b/OneTwoThree/OneTwoThree/files/assets/154122838/1/superstar_memesbruh03.png similarity index 100% rename from OneTwoThree/files/assets/154122838/1/superstar_memesbruh03.png rename to OneTwoThree/OneTwoThree/files/assets/154122838/1/superstar_memesbruh03.png diff --git a/OneTwoThree/files/assets/154122841/1/Ok.png b/OneTwoThree/OneTwoThree/files/assets/154122841/1/Ok.png similarity index 100% rename from OneTwoThree/files/assets/154122841/1/Ok.png rename to OneTwoThree/OneTwoThree/files/assets/154122841/1/Ok.png diff --git a/OneTwoThree/files/assets/154122845/1/up_Money.png b/OneTwoThree/OneTwoThree/files/assets/154122845/1/up_Money.png similarity index 100% rename from OneTwoThree/files/assets/154122845/1/up_Money.png rename to OneTwoThree/OneTwoThree/files/assets/154122845/1/up_Money.png diff --git a/OneTwoThree/files/assets/154122847/1/Clear_copy.png b/OneTwoThree/OneTwoThree/files/assets/154122847/1/Clear_copy.png similarity index 100% rename from OneTwoThree/files/assets/154122847/1/Clear_copy.png rename to OneTwoThree/OneTwoThree/files/assets/154122847/1/Clear_copy.png diff --git a/OneTwoThree/files/assets/154122852/1/open.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122852/1/open.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122852/1/open.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122852/1/open.mp3 diff --git a/OneTwoThree/files/assets/154122862/1/cardMove_m.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122862/1/cardMove_m.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122862/1/cardMove_m.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122862/1/cardMove_m.mp3 diff --git a/OneTwoThree/files/assets/154122882/1/cardFlip_m.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122882/1/cardFlip_m.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122882/1/cardFlip_m.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122882/1/cardFlip_m.mp3 diff --git a/OneTwoThree/files/assets/154122886/1/draw_m.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122886/1/draw_m.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122886/1/draw_m.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122886/1/draw_m.mp3 diff --git a/OneTwoThree/files/assets/154122887/1/Cancel.png b/OneTwoThree/OneTwoThree/files/assets/154122887/1/Cancel.png similarity index 100% rename from OneTwoThree/files/assets/154122887/1/Cancel.png rename to OneTwoThree/OneTwoThree/files/assets/154122887/1/Cancel.png diff --git a/OneTwoThree/files/assets/154122889/1/Layer_5_copy_5.png b/OneTwoThree/OneTwoThree/files/assets/154122889/1/Layer_5_copy_5.png similarity index 100% rename from OneTwoThree/files/assets/154122889/1/Layer_5_copy_5.png rename to OneTwoThree/OneTwoThree/files/assets/154122889/1/Layer_5_copy_5.png diff --git a/OneTwoThree/files/assets/154122890/1/lose_m.mp3 b/OneTwoThree/OneTwoThree/files/assets/154122890/1/lose_m.mp3 similarity index 100% rename from OneTwoThree/files/assets/154122890/1/lose_m.mp3 rename to OneTwoThree/OneTwoThree/files/assets/154122890/1/lose_m.mp3 diff --git a/OneTwoThree/OneTwoThree/files/assets/155554346/1/s_on.png b/OneTwoThree/OneTwoThree/files/assets/155554346/1/s_on.png new file mode 100644 index 0000000000000000000000000000000000000000..dc0b7ed018f0ae38c9ef55ab4d4e242fe089fce3 GIT binary patch literal 2445 zcmcImTa46H7#1?wz({b9} zoduszL=zwI0xO!xn}%q75JO^oAcznXjT#@+s1KTucuABPNi;qfPv-`@fcs*T-v9sm zzw`ZHPtVi4cJ5fR_}<02TyDwGAQ@)ofoxxRJ3EeEelKRHMfJfwNiMha{cK-weDl&Z zx!l5i(a2ajR(iVdG za$}`koE0}Hr{uBVLs{cgJrA)ABz!-I0MtdGiBJ*%GypafmFsLgtJVlYW0*LdTI{aC zkEdzf5XI@~>HM^mj~itX>N>+fB0>U-5R#c%>NbU1vc8KzXyP}bdK$$wE<<#^crq>U zjA?ra)p`%MmULudf{9JHF2X#>hSUu#m2Mqct@fgm)ShBhI(%;koQ%xWsW?oNc(UPB zdy3Z5_1$9i@i>i>@%Sd(dawV%Fz|Z?>ywR2OP;_NX@yo9cEVy|i(lQa8q`hW#z-7j zx{cb^t;iuZYVN+#s20T2$)=1^CxH?-r3D@VrZvz71Vx5?OxRwn6MOjGmeX!l4dT1q#3iia-%V({&FCs*6GBVvV{;>!Ll}h}f6o zR<1|QSOp9b`$z&vQ3MTyp+F^B7BrQH0(QedhE&%y5b)f!x>j6?8>Kj4>N2*0Z-jB9 z>N5XCRkuvVdaazfnW3{$3`PlS-Aw2E*i9epTvZ~jWje$4Gp`qTKWj2&b=r@k8>lxw zp6&eUamqk%(foE;5{K!u+n{EdDgB@35^qL6ai?xgeSVGqAE|d_^~c>>nX-vfwu z*%Z@miumt-UF&z(GbVF$*3G0NL(whw1lb0Fg)K{!O#}h4H3^!E3{+Kzjzd%xo9$Ya z=vs!19m@ooqe4_9L`NEuv8E9l6G<&PSe=`JH5&k_XakHLT~o1)kYby%;+U4H6ak!@ zp~=M2inb<0y$Ce|i6iUCB&Lb5hKmlGn_+1VM6#+$1lt%{MaN_X6e45QEIKyU=4KFG zvZbO92?CZxAg~E^Ox40r!T=*jpPOMz7SYwBB@+ONBAGToCObGPu^j?rXKu!gCjdE= zB+94?N)P~nDl+?oLn;YKl{B4do`SGDUo7ltVF-LIK#F|93uQ@gWls{MFhnYF)xf9n ze6dtd34E;Rf~V`M;4$?DmrW~z?_umKq3W@B*I~6>*fx`RYuB|Rulq%IEzJJA*=6sC z&u)5423liwZ?FZymwT^nV~dF|hKM;bcI4+1=lh@F?zGQs!Pc@D&ZGxcf4$)BrIXT% zZ{3YsmaZ?3eY*Csjpe(48|1*nRSR;LUc7SQ$k@cjTyy`rKc3ogcopx?u9({M`nglb zhx>DHfBpt{=%erV7p9h7eC1_lCAaB0Vd$+5pPhPj_30&l&fYfr)iY}!xO~qe(Uaex zKK|?vk-m4du(JPTbHl>^<*(gwX7o^gK)vgo)w3@h``~Qha_+-*`+hu>x6pav!RN`9 z{pjlOg%kCUCudLFe#c3`j@Y%;h|3+SAY60TQCjT LJIR~H1Bd?x4_5#c literal 0 HcmV?d00001 diff --git a/OneTwoThree/OneTwoThree/files/assets/155554347/1/s_off.png b/OneTwoThree/OneTwoThree/files/assets/155554347/1/s_off.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2086f10d8aad2f0e7d3ec2c2a60b1815582cde GIT binary patch literal 2443 zcmcImTa46H7#<8DAPdX-V4?;~Nd$tOp0=l_J(XeU%xT>f1~9K4Go5X_ z>_wx=vKmPAN$?R9&}azjgNZMqF~JpsczMzXG$wdWOuRjS@}#G816^46#U{P~|M!3A z`@f!^BYnFc=vZ~aJOO9<_b5|y_ z;y^Gkm<$$o8E#m~I$l_!*@;SxMQ1YGx+iLmJ3l&Q2D?rli#%5kNk($KnHJ;* zi+x-nj3}pOk>E;D=QNy^5CjUkkCTCfMWBn4A^^z%$WS$|x$&%8_R}~Vi(G0Q zq}60&t5|I~Ou~3Lya~7V>whrx+;+j*SX8ddL9o5c_T@O` z>rqoy9z)bIbTnN-g3mGpSAkT(vZf1I0!Y)m5>ynQ=dRT)gyk?Qh8|N_;W^JW{4lCG z%s)ZJ8KPpXI+VJZp|er+1TkyfWb^yjLr0re<$$Z3&T!n+>p9*{n@l~v`8c?NdW+-P zfE^#E40M6!H^So3PsW{ynnO(K|1_6)GxD)>aAE3;YyAI6y(z0Z>{N#+n>a;29gLVx zF^#5(|L)hdez!bhGB>B)jGHp#ouRfM+W{z`LP3M3ECFKaie#z~Xd0Gmn`jy`8@0;8 zwG4>tf(dk6ljJ-hSk`5Tbe&j;C|ce|+WZWpTL36|3m{};T|-coRm+5`Z5B*552X1S zIwZE9w{$4syrdI}*bvJmF-;liC~wR2GYYyb$&h^x1X)NfA0jpt`rN`YW4Uw{NiL{&@+$R<138nJ8wpglk1#uEVa z6@@aYg6erdpej@a-Dk6ltSLICdP$X$vsf%t(tRJeNRX)P3MC&Zf&)v6p!mM50Y~#( z3Kxr|l~m6~Di%r@YeI>sFE~_zf?Gn!Rei0*-d%@PcVWX!;=-=0M_%`fY+0E7chk%E z51-w%mkhMZ>>jZNL3jCs+t^~_^Il>O3_knwvGW~s+-mC?J9uvW=37slogMvQ*Rqc{ zlvzvSG3MPqJ#y+|$0IMk)Fqub z^SyrY@@&_oxqJAXOXsTY@pq5o^JCLzMk_0i9Qbm!@6pb$-hcS`A3t?%nz|q_9ldh& zz&AvE<@CDCUw1FxaCYUo&X=Q^&h>{nFU_ntjL-cE53SxrcD%FXskObgJSNT@O_xi( M)^74f{_*L*0j6&RSO5S3 literal 0 HcmV?d00001 diff --git a/OneTwoThree/index.html b/OneTwoThree/OneTwoThree/index.html similarity index 100% rename from OneTwoThree/index.html rename to OneTwoThree/OneTwoThree/index.html diff --git a/OneTwoThree/logo.png b/OneTwoThree/OneTwoThree/logo.png similarity index 100% rename from OneTwoThree/logo.png rename to OneTwoThree/OneTwoThree/logo.png diff --git a/OneTwoThree/manifest.json b/OneTwoThree/OneTwoThree/manifest.json similarity index 100% rename from OneTwoThree/manifest.json rename to OneTwoThree/OneTwoThree/manifest.json diff --git a/OneTwoThree/playcanvas-stable.min.js b/OneTwoThree/OneTwoThree/playcanvas-stable.min.js similarity index 100% rename from OneTwoThree/playcanvas-stable.min.js rename to OneTwoThree/OneTwoThree/playcanvas-stable.min.js diff --git a/OneTwoThree/styles.css b/OneTwoThree/OneTwoThree/styles.css similarity index 100% rename from OneTwoThree/styles.css rename to OneTwoThree/OneTwoThree/styles.css diff --git a/OneTwoThree/__game-scripts.js b/OneTwoThree/__game-scripts.js deleted file mode 100644 index 7c710a3..0000000 --- a/OneTwoThree/__game-scripts.js +++ /dev/null @@ -1 +0,0 @@ -pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var a=this._repeat(i);return a?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),a}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var Background=pc.createScript("background");Background.attributes.add("startPosX",{type:"number",default:1}),Background.attributes.add("endPosX",{type:"number",default:1}),Background.attributes.add("durationTime",{type:"number",default:1}),Background.prototype.initialize=function(){this.entity.setLocalPosition(this.startPosX,0,0),this.tween=this.entity.tween(this.entity.getLocalPosition()).to(new pc.Vec3(this.endPosX,0,0),this.durationTime,pc.Linear).loop(!0).yoyo(!0),this.tween.start()};var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:Number(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0));a.text=`${n}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0,this.gameDeck=null,this.gameOdds=null},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.isValidGame=function(e){let t=[0,0,0,0];e.reduce(((e,t)=>(console.log(e),e[t.type]++,e)),t);let r=!0;return t.forEach((e=>{e>4&&(r=!1)})),this.gameOdds=[0,0,0,0],!0===r&&(this.gameOdds=t.map((e=>0===e?1:1===e?2:2===e?3:3===e?5:10))),r},DummyServer.prototype.initGame=function(){let e;do{this.gameDeck=getDeck(),this.gameDeck=shuffle(this.gameDeck),e=this.gameDeck.slice(0,7),console.log(e)}while(!1===this.isValidGame(e));return{cards:e,odds:this.gameOdds}},DummyServer.prototype.getWinner=function(e){let t=-1;return e.forEach(((e,r)=>{e>=8&&(t=r)})),t},DummyServer.prototype.startGame=function(e,t){let r=[0,0,0,0],i=this.gameDeck.slice(7,this.gameDeck.length),s=-1;for(let e=0;e=0)break}this.userBalance=this.userBalance-e,this.betAmount=e;let a=t===s,n=0;return!0===a&&(n=e*this.gameOdds[s]),this.userBalance=this.userBalance+n,{balance:this.userBalance,betAmount:this.betAmount,profit:n,raceCards:i,playerHorse:t,winner:s,isWin:a}};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(o,r){return o=Math.ceil(o),r=Math.floor(r),Math.floor(Math.random()*(r-o))+o}var CardType={Clubs:0,Spades:1,Diamonds:2,Hearts:3},CardNumber={Two:2,Three:3,Four:4,Five:5,Six:6,Seven:7,Eight:8,Nine:9,Ten:10,Jack:11,Queen:12,King:13};function shuffle(o){var r,e,n;for(n=o.length-1;n>0;n--)r=Math.floor(Math.random()*(n+1)),e=o[n],o[n]=o[r],o[r]=e;return o}function getDeck(){let o=[],r=Object.values(JSON.parse(JSON.stringify(CardType))),e=Object.values(JSON.parse(JSON.stringify(CardNumber)));for(const n of r)for(const r of e){let e={type:n,number:r};o.push(e)}return o}function getOColor(){return new pc.Color(1,136/255,116/255,1)}function getEColor(){return rgbToColor(86,98,181,255)}function getQColor(){return new pc.Color(168/255,216/255,131/255,1)}function getPlayerColor(){return new pc.Color(0,1,159/255,1)}function getRedColor(){return rgbToColor(221,42,63,255)}function getGreenColor(){return rgbToColor(0,148,68,255)}function getBlueColor(){return rgbToColor(0,169,215,255)}function getBlackColor(){return rgbToColor(0,0,0,255)}function getWhiteColor(){return rgbToColor(255,255,255,255)}function setButton(o,r,e){o.button.on("touchend",r,e),o.button.on("mouseup",r,e)}function rgbToColor(o,r,e,n){return new pc.Color(o/255,r/255,e/255,n/255)}function getCommaText(o){return o.toLocaleString("en-US")}function changeTexture(o,r){o.element.texture=r.resource}var CardFront=pc.createScript("cardFront");CardFront.attributes.add("numberText",{type:"entity"}),CardFront.attributes.add("typeImage",{type:"entity"}),CardFront.attributes.add("fruitImage",{type:"asset",assetType:"texture",array:!0}),CardFront.prototype.initialize=function(){},CardFront.prototype.setCardType=function(t){let e=this.fruitImage[t].resource;this.typeImage.element.texture=e,this.numberText.element.color=t<2?getBlackColor():getRedColor()},CardFront.prototype.setPlayerColor=function(){this.entity.element.color=getPlayerColor()},CardFront.prototype.resetColor=function(){this.entity.element.color=getWhiteColor()},CardFront.prototype.setCardNumber=function(t){let e=t;1===t?e="A":11===t?e="J":12===t?e="Q":13===t&&(e="K"),this.numberText.element.text=`${e}`},CardFront.prototype.setCard=function(t,e){this.setCardType(t),this.setCardNumber(e)};async function loadJsonFromUrl(n){return new Promise((e=>{this.loadJsonFromRemote(n,(function(n){console.log(n);let o=JSON.stringify(n),s=JSON.parse(o);e(s)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null},Middle.prototype.postInitialize=function(){this.setReady()},Middle.prototype.update=function(e){},Middle.prototype.startRace=async function(e,t){HorseController.instance.reset(),HorseController.instance.setPlayerCard(t);for(let t=0;t=8)break}},Middle.prototype.setIdle=function(){},Middle.prototype.dispenseCard=async function(e){},Middle.prototype.setCard=function(e,t){},Middle.prototype.setResult=async function(e,t){},Middle.prototype.setReady=function(){};var Card=pc.createScript("card");Card.attributes.add("cardRoot",{type:"entity"}),Card.attributes.add("cardFront",{type:"entity"}),Card.prototype.initialize=function(){},Card.prototype.setCard=function(t,r){this.cardRoot.enabled=!0,this.cardRoot.setLocalEulerAngles(0,0,0),this.cardFront.script.cardFront.setCard(t,r)},Card.prototype.setPlayerCard=function(t){!0===t?this.cardFront.script.cardFront.setPlayerColor():this.cardFront.script.cardFront.resetColor()},Card.prototype.setReady=function(){this.cardRoot.enabled=!0,this.cardFront.script.cardFront.resetColor(),this.cardRoot.setLocalEulerAngles(0,180,0)},Card.prototype.setHide=function(t){this.cardRoot.enabled=!t};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();console.log(e),UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.update=function(e){},GameController.prototype.betStart=function(){BetController.instance.reset(),Middle.instance.setReady(),Bottom.instance.setBet()},GameController.prototype.startGame=async function(e){Bottom.instance.betUi.enabled=!1;let t=DummyServer.instance.initGame();await Middle.instance.dispenseCard(t.cards),Bottom.instance.setOdds(t.odds),await delay(1e3),Bottom.instance.setBet()},GameController.prototype.betGame=async function(e,t){let n=DummyServer.instance.startGame(e,t);console.log(n),await Middle.instance.startRace(n.raceCards,n.playerHorse),await Bottom.instance.setResultGame(n.isWin,n.winner,n.profit),await delay(500),UserBalance.instance.setBalance(n.balance),await delay(3e3),this.setIdle()},GameController.prototype.setIdle=function(){Middle.instance.setIdle(),Bottom.instance.setIdle()};var Bottom=pc.createScript("bottom");Bottom.attributes.add("startButton",{type:"entity"}),Bottom.attributes.add("start_active",{type:"asset",assetType:"texture"}),Bottom.attributes.add("start_deactive",{type:"asset",assetType:"texture"}),Bottom.attributes.add("betUi",{type:"entity"}),Bottom.prototype.initialize=function(){Bottom.instance=this,this.setButton(this.startButton,this.onClickStart),this.winEffectTimer=null,this.bellToggle=!1},Bottom.prototype.postInitialize=function(){this.disableAll(),BetButtonController.instance.setBetButton()},Bottom.prototype.initBetButton=function(){},Bottom.prototype.setOdds=function(t){},Bottom.prototype.resetOdds=function(){},Bottom.prototype.setButton=function(t,e){t.button.on("touchend",e,this),t.button.on("mouseup",e,this)},Bottom.prototype.onClickStart=function(){AudioController.instance.playSound("Click"),GameController.instance.startGame(),this.changeButtonState(this.startButton,!1),this.changeTexture(this.startButton,this.start_active)},Bottom.prototype.onClickPlayer=function(t){this.activePlayerBtn(!1),AudioController.instance.playSound("Click"),GameController.instance.betGame(BetController.instance.betAmount,t)},Bottom.prototype.changeTexture=function(t,e){t.element.texture=e.resource},Bottom.prototype.changeButtonState=function(t,e){t.button.active=e},Bottom.prototype.disableAll=function(){clearTimeout(this.winEffectTimer),this.changeButtonState(this.startButton,!1),this.changeTexture(this.startButton,this.start_deactive),Result.instance.hideResult(),this.betUi.enabled=!1},Bottom.prototype.setBet=function(){this.disableAll(),this.changeTexture(this.startButton,this.start_active),this.betUi.enabled=!0,this.changeButtonState(this.startButton,!1),this.activePlayerBtn(!1)},Bottom.prototype.setIdle=function(){this.disableAll(),this.resetOdds(),setTimeout((()=>{this.changeButtonState(this.startButton,!0)}),1e3)},Bottom.prototype.setStartGame=async function(){this.disableAll(),this.changeTexture(this.startButton,this.start_active),console.log(this.betUi),this.betUi.enabled=!1,this.activePlayerBtn(!0)},Bottom.prototype.activePlayerBtn=function(t){},Bottom.prototype.setResultGame=function(t,e,o){console.log("setResultGame",t,o),setTimeout((()=>{this.disableAll(),Result.instance.setResult(t,e,o)}),1e3)};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){!0!==this.isMute&&this.soundSource.sound.play(o)};var BetController=pc.createScript("betController");BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.onBetClear"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),0!==this.betAmount&&Bottom.instance.setStartGame()},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),GameController.instance.setIdle()},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"entity"}),SoundButton.attributes.add("offImg",{type:"entity"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,this.onImg.enabled=!1,this.offImg.enabled=!1,this.isMute?this.offImg.enabled=!0:this.onImg.enabled=!0,AudioController.instance.setMute(this.isMute)},SoundButton.prototype.setButton=function(t,n){t.element.on("touchend",n,this),t.element.on("mouseup",n,this)};var Player=pc.createScript("player");Player.attributes.add("winLose",{type:"entity"}),Player.attributes.add("pair",{type:"entity"}),Player.attributes.add("cards",{type:"entity",array:"true"}),Player.attributes.add("nonSelImg",{type:"asset",assetType:"texture"}),Player.attributes.add("selImg",{type:"asset",assetType:"texture"}),Player.attributes.add("winImg",{type:"asset",assetType:"texture"}),Player.attributes.add("loseImg",{type:"asset",assetType:"texture"}),Player.attributes.add("draw",{type:"asset",assetType:"texture"}),Player.prototype.initialize=function(){},Player.prototype.reset=function(){this.winLose.enabled=!1,this.pair.element.text="?",changeTexture(this.entity,this.nonSelImg),this.cards.forEach((e=>{e.script.card.setHide(!0)}))},Player.prototype.selectPlayer=function(){changeTexture(this.entity,this.selImg)},Player.prototype.showCard=function(e){AudioController.instance.playSound("moveCard"),this.cards[e].script.card.setReady()},Player.prototype.setCard=function(e){let t=0;AudioController.instance.playSound("flipCard");for(let a=0;a{let o=t.getLocalPosition();t.setLocalPosition(this.startPositionX,o.y,0),t.script.card.setPlayerCard(!1)})),this.step=[0,0,0,0]};var TopCardController=pc.createScript("topCardController");TopCardController.attributes.add("topCards",{type:"entity",array:"true"}),TopCardController.prototype.initialize=function(){TopCardController.instance=this},TopCardController.prototype.postInitialize=function(){this.setReady()},TopCardController.prototype.setReady=function(){for(let t=0;tt.enabled=!1)),this.cardNumber=0},RaceHistory.prototype.addType=function(t){this.historyElement[this.cardNumber].enabled=!0,changeTexture(this.historyElement[this.cardNumber],this.typeImage[t]),this.cardNumber++},RaceHistory.prototype.update=function(t){};var Result=pc.createScript("result");Result.attributes.add("win",{type:"entity"}),Result.attributes.add("lose",{type:"entity"}),Result.prototype.initialize=function(){Result.instance=this},Result.prototype.typeToString=function(e){let t="";switch(e){case 0:t="Clubs";break;case 1:t="Spades";break;case 2:t="Diamonds";break;default:t="Hearts"}return t},Result.prototype.setResult=function(e,t,i){let n=e?this.win:this.lose,s=`The winner is ace of ${this.typeToString(t)}`;n.children[0].element.text=s,!0===e?(AudioController.instance.playSound("Win"),this.win.enabled=!0,n.children[2].element.text=`+${i}`):(AudioController.instance.playSound("Lose"),this.lose.enabled=!0)},Result.prototype.hideResult=function(){this.win.enabled=!1,this.lose.enabled=!1};var BetButtonController=pc.createScript("betButtonController");BetButtonController.prototype.initialize=function(){BetButtonController.instance=this},BetButtonController.prototype.setBetButton=function(){let t=[{idx:0,win:1,tie:0},{idx:1,win:2,tie:0},{idx:2,win:3,tie:0},{idx:3,win:1,tie:2},{idx:4,win:1,tie:3},{idx:5,win:2,tie:1},{idx:6,win:2,tie:3},{idx:7,win:3,tie:1},{idx:8,win:3,tie:2}],i=0;console.log(this.entity.children),this.entity.children.forEach((e=>{e.children.forEach((e=>{let n=t[i];e.script.betButton.setButton(n.idx,n.win,n.tie),i++}))}))};var NumberController=pc.createScript("numberController");NumberController.prototype.initialize=function(){NumberController.instance=this,this.start=!1,this.interval=0,this.accTime=0,this.prevNumber=0},NumberController.prototype.update=function(t){!0===this.start&&(this.accTime+=t,this.accTime>=this.interval&&(this.prevNumber=this.generateRandomNumber(this.prevNumber),this.setNumber(this.prevNumber),this.accTime=0))},NumberController.prototype.generateRandomNumber=function(t){for(;;){var e=getRandomInt(1,4);if(e!==t)return e}},NumberController.prototype.setNumber=function(t){this.entity.element.text=`${t}`},NumberController.prototype.startRand=function(){this.start=!0,this.interval=.1,this.prevNumber=0},NumberController.prototype.stopRandLoop=async function(){for(let t=0;t<9;++t){this.interval+=.06;let t=1e3*this.interval;await delay(t)}},NumberController.prototype.stopRand=async function(t){await this.stopRandLoop(),this.start=!1;let e=this.interval-this.accTime;console.log(e),await delay(1e3*e),this.setNumber(t)}; \ No newline at end of file diff --git a/OneTwoThree/files/assets/154122817/1/1.png b/OneTwoThree/files/assets/154122817/1/1.png deleted file mode 100644 index e4b5912bd8c9f5028b626675b9744ceb7954b310..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16032 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 C4;M%P diff --git a/OneTwoThree/files/assets/154122821/1/B_gray_off.png b/OneTwoThree/files/assets/154122821/1/B_gray_off.png deleted file mode 100644 index 682ee8f973ef6d459b81888fab3baa006e0307b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5032 zcmcIoc~}$o){cS}si+7jb&YWYA<4{SGBb%RCYebA0XI-UMJF>8h(eMkVXag}EQr?a zq83?1LA_!HmEr;-3R>$1MZGLiTu=my2$tF^RJ;?n_WSJZ^`Dz3liAMuo^#%F=H&Ox zy4n7p+E|aW=5RPR-d^}zb|24f!Bzv=-zOxng53?$dj%UgoFV7TTfc2CLq>Br)>fK; zAXAW^uawe73P@U~Vg#{~de)l5ar2DTlhks?#8ok28m&98v$UMY)zI#|1!6zIPp@FY zHD2)sW?sC102RNSlF&R)53XCRlqHB{Oe8lpGD2&V#=7%f@k-fa^JO8A`^v<$+?^*g zJLCrW&E_g}28JsZAbbjhF)k_*fCvnT5LYe)fD$2q2|*Db0HpvT6{FlYA0F$?K&z#5 zapfCd?3p_+++@;Ag~FJa7(t9kpfiLCL5YOrfP@glXD#@~IIW3{_0Gkv(uq%(%={zGih zWFnYImfOhMg0JG!OBDu&H0cZhI$gxuLd|~bkqfa|bDb7ww6re9=xmPY4S>N(6XVW< z09I>2!iSIm5Ri&MDGa*+5-9+@HuYosfF@1khZ*Z=jXLf_O#S?%-ddxH)KZK$?#^R_ z5@N_c9@kM(W+lw{*KJGdD3;@$ zno_ZvAt@Ck=2IvN@nH$f@Kq`j<>XYp)>gDXjWYjk4sZhwaySpvi+lpB*Pe? zUK?iaW|p1J!b@XhOBeU%`IyIi_U0%;!+q6sQj#+Fx;u|D7nx!GyuPgY3-vxM&e!;u zaE2xQo8rGVGwRf)7}CJV!dRvMYjX+zQ}9MI`tL*ku)_ZjLw_SH6;5iy73MfFXuE|WnBhRBuB`v{3hf#VRMz#%a%maxnc7*#4THfc<$faT)9Kq%!nh{;eK23es{ zNJ1!Bxs*7lgfL7Z2Hr;~P&t6&IEISlB3v#O$q)r9M#VBjCdVNhl>Y?+Q-TnTVj>(N z5J(|c%Gk8UIEA!$l9-BS_!v8E_+kbY@ky~r%|}Q|jbLI4!&dr3 zxnQ+O#IR}e#WW4@88Iy8V`@gkhfonFVK9{#LdXy0LR6Sq4NwRlWFU&KQk&y~RU*Df zt%gv5L}`kFKa>lF#3%`h0KQ12ruZNLW9;asK|TtLL?VF1C|2bU!{0J_NFVBVtC3F|g`ST(2g^ z>jz)>_Y>lk<)4-_Z^sS0Mlv71Tb!{c@0NFrmK{w7cJX%nKuadOPE>m1vVhpkj;zbt z#!F+9S61%E*OdfY?<7VHxal|Y?30?KGgb?Jx8Ltng0-EGy8eJX^-o(^z8z} zilzKS`!Ks4m&*u$PF`%gJbRFLHU4xG0xyhWzp7VH|o#eQ>{mqSa_^8wD? zS^2ybYEMN^6+ZH$rlPuU@Rrbi2FfXpBJWay?Ad+i?8*Y#lGCs!Q|Jr5dZ%(=O)bKB?u+esaFl4fU~etsxzk;VR%eTz5O+6z23 z^Je7Jd)IpQwFLMSY$-Y()^Eba>jP827r6i6o06D2XNk|Pe&x?vs@FV;&5S){A!|4( z^1U|1WP+_vKfhX-*HtbpSLz{L!P&!b`~f6bZ2EZV$7mpbm)U~za`W*&+j*8@?Jl?7tQxBY*$8`1ccQrcRw&=#kL#i|+PscY8C)!nzBE%#kMG>rJr%)#{>Z z_I71#PhLu&E$2kRLJFB2b*8`Fs&OlY*9J(_efux2+wEjsm@zqdO>10Enu?{>LFt^` zRcT&$(THQMai^yHjcB|&Idp}^k`kH2y`Y_qR=|Ir>aHCGLE*ThPQk z4OC#o*a?zh*Q8~`iR7uHIZ%FvG6c4$(LMrfYaaPEaHsoPO;GKr9Mn9Aukpw)c{sv* z)WO(EH-Ae&K63uK#PxKBZ2pl$no$9P4t5>bkR4Ya5A*Jx6S!@r|IYr~>rbg;@Pq$K zJtfGEFQ*;yiK`W zN}L_3i_TsU7&zjtO9l1rx&Iz|$kN#s%$fbfEr^0KWUi~Jt5-{u! zYmHtuePiX&tv5arFm;M-y7u#vL9R=8KJQHw8Pi{6ZD-DQyO~Ox&K1<;ZScBOIcdq_ z(7it6zETDi)*U$XXqaWnT9M|%JDu$Pcxq{rV0_nM zSC?YjVcFAM*Y3B|HRgFgHc2t5wEy9_Q6*(%4ja`uN#W7gy1XtfEB5hoSvz&&G{<^3 zm!c8BE-S8RYRYQUY$d8&jlNUt$OhjN_pl(>5$QAI^15sY%Y*r;HR0!afmE;T>el<@ z?y;*ZYdA^FJRi_;a8CZTMD8lh&h#1^wQ+n6 zG`p*9zxB46q;B&rw?OE;Y9iM5?3sPkGAO<4IcNR({&jVAYpa}HdnU}8(9jV*{o3TP zM&xm4r}6WM=JwL;#9#8Na^246=c@omJf5r5>B!*uyN#lYt8&_slh)Qf*r1#!7+rtE zCGIJDZ}Z+ATRx7+FaM(aW!p}NaQ$Z$TUYNSEHbh)&Mxh8>fWcZt`jA5%f4B()b4Cq zXlISMq`X{M7IE_1w&Zhr7yNi2f7F5Ues>-`_;P5P{q8}{$8AR|ufs`&rA#oZ$-<7& zb~^^+M4i<6O4Q;XZ{3my2DX({mFKj^>BoGuPcx-T=Oh0masFo(w9OA`9d)|mkhZ7s z;l&|2X%*dW^~Y?k!^dwqI(Zv17u5`{rWPK`jaoeNOLEn)#3!*EqDyUjoI_8q7}R)- zbR4+-^4`OyoW9j*(>7LXyFv>`rU!n$a^W`Y5~BK=J1`ftJo0iRy*2ztJ)E-LHzjo{MTtdHu1gE2ABrMm!$VOFoUnbdQ!?KKg7{R`9f~Cw!?5 zSvfzujM?7zygTfd-h|K#N51><;DW-~9=7pA3&}=gQC&+BSy5heNYDT*cl2>y@_Y3N z*Kb4k9-m~tDA0t^i0kFt&fdeW>pi76kCh!9n`JHB;Nsdt-dU6N%`yGY3A^g*2K!y_ zYCiw*xWFv`&EcDn_w_(?KwMiyodd$j(m&SXXNsY zTlavc0Jqcn%^jP+-{Wy8;Be&V_NVc;zp6~R|IlR3iGA6Z@Y6?gM^g*+L09ipQtjd^ zfl*)In6L9RPFt848dd$ZeW=a0PWkKwBg3)Wxh0OpTJXsF0Y5;OiW)ACf9FoeX=ozftkl8UsHfS@2HDTqi2(k;!Pl2Y%+ z=Q+>ueDC?r`I+Hqs2o(K_P^yD(V2A?!ZeI z2Mc&t;L+VjLAizRuV?6~W90*Kbw}7bIKe@ley(s3+}FVt1;ux!I>*7AP9jzL8b;BE z0SfJ`qbCUSc!=G0(VkN5WTbWcVoJYAsdPY{g``_Fl<2tQx@9@!ltU_0yYUF}FySKo zev~?qf8gbZ4e{RZk}@(H3xy>Xi^MsLcW@AA-_DWdiyI+t3xf#`{GZTom4*Eb4yg;i zv`jxay&RH7(!mQ;M)u!g(;~y_-%6_@QNKDGy-Zw?=ChjKISRVuBDlZ`F}{P`K40St z$x=Q{bT8z#7GED|u<_FXo!3T4if>AmnTiX1%f9ORaUnp4_T4ORrOYU@*67Ubkd@0Z zxG>$+!VY8MR5<&nf2SGAekpyrjQg!jV&hUe)nXCJQBpf}cG`Aw=vv!mAgab%eAHH+ z#44?l_Zr79nD>PwZO5Qn07JM6u^y6boqhkc@2*g4a%S#5h(l@auHU=^xR;47y(z}& z{YZe6C{4Wwflb9Jvzde6ngSLpVl3D1LGTAwsgv6yd*0h~rz{`Sdn~syg3pkW!4jX^ z%)ev2mZ{Lv3QqMU6(k(VlkuR$g`PZ5Jj6ZdU)@RC5KfZ|dN*gZ^ms?OXY8iTI)8baJ~P~G+IG}5i+uei)$xAL;>WSZWTL`BqPQf@cag)V zed_0KW9c7d#I_cLSd~9K&lk^JThOAN&0!av$IU=aA_d>TC(L$I^l_q&9T<9~{aUw; zdSWZE>1K|H+h#Zf@@Ia&XY-G_J!L#vl2M-bDxH=ofnL!t0j11r)vS8vvwL^qYN~6$ zfmCm|Z&)X-bFqLm?~9Dyi1LCoE&(~^L&wUw);X+OyTeXXIN>zL-zw7T+uiH)BcCGE z9@Fc#NWVwtcH$%q#j0=&do)YKEqunP#SutQ4p?}QjSJL#6Lx*pyVs~3V zJ@=lI5Sj4(boYI(IkS<8*&$Amh~66WnWD!t=0ih<%eLR$SxD@`coWNQ-Wyv~OFfxXSALzUs@WL5$rAJr3^*_2sdlP7^L#*@)J#7h7qu z5TE0s_;=7&Zy78$_ljUeq&=cMQP9DdnBJ^pbuJndeZ3XU`k5l%Qsqrn7+(xlcdeRb zHYO=lu!eE|miyzxN9>XcAlV?;&kGRT&-|4*Sael*! zPOwp0UW7}y&6-llOykJyQ4Mw072K*Qb{$b+4GNxJJi;mz(Bi|S>xCcRNfx}omH%OB zY3cq^A=dP38%k4HrpeLw-QqH|+4M=hnJ9 zmtJRk2Do!=KC@BkU6>2uKvSlw2lKOny0J~dO%d^eR{n7NsqajNjdfJI51wnh01LELu3UwyIAI(MTaR5kG>BL`pS%@~@0eI}``+^dfk*cNBB5}Ddpq@uib z+yLruZo+yrEK)$j@mWtQuPDEyhTMi~HKXAPxJR)3PNy5_2W5iEdOqUWBZ~v^f)5RI z)>;Inac1miGIbxvTw!Oip== z?M7ia{s=5q2~MHFNw$dfL97l0q^T->^>zE>xiK{cW)jA35f;k4XpA;k*n#iobNaiH zObMjro?q$&@EBN_tt3RO7-F)t7jL_RyDZFusX}8$o{chyb&!fTW~^rApPA;tKU98)g+!_)z-M0#WQ9r#9*isZi+ylT{zG0p$q|gk+R8k>+4)qJ zkpxFQ3OeKvG*`XTQe+tEzeO14{E0_a#r`L+2A;E@r$%L=qj7ki$`UUXiLz9>$x>s1 zWev-dSj|~g=E2!WtY;71d|;M(Dh{O$;0mYDC*+#=3p^YaQT0I^3$VeL4PXrW2I3hT zy=_f38eVxrQ&>gW&$O48S)T1H2gVR5Txi%1nE=#m+#mTd9{Dl6iNihzp2*x2#J3Wy z=+NeyP=Z3L)4rjVel*YZkd^G!ZobXacZ6})bq-#Sv6o^ON9s>1YEpBiQ&5|{Y@?fc z*^}0+xxHZ7il}#l)^0uBhbP&*j&Ezvyavo>dP;tTy2!=2Hgd#D)Xth@mWvTS1ZRgY?5Zukx#rThg@ zJIl*Z%Q~?MnTZMAUdo^3M)7_a<)K7BDzy}encQ&E6X9%L89(aDa8$Hrs?`OOfl;KXE-KT|nKpn9H&QXSt{Vkas#vNp43;L2ONGI?*-WJQYSx&Q(5#ih`aa|@{e5sfddx=lWhTQG1c_jcXY6%oi#owrYX`t?*QkCA(H4pLL__#R)sdgslch20ka4Daogo-S zYk!!N(##`eie1v4O#M>*HTaOU80SZ4mG)wat;4JQFoN`3T-ozq<*{5Z>Cuny4wt&E z7DXCZyqZ&Gjf7a2GJ!-N&P~wbgj1QBm#E2+H66pqkRsheg5v@=+a8 zP0{vT7}fIqmW0f^jtmQ~T>g1tD-@VLvS?pCGI$n`9giFfbWFF#GNa56cQ3r-A z7s=+WnZ!&OiSsHwizY`Dsuruu(6Q9kkl;*q)}Uixvp%{$cnqr?a6L3DN+Du;PajE? z_2`iT`|UMeEOA-NK(5jWB92nJmD1Y_QzD zmHf=VXHyL#58Cu0wG*$8pGVmp?_3o70h0)_Lqog`nN3(m&W>*F{PdpSvpa1n7oGWT zK)x8eboYEVTjT3QbIU5!Vu4}tps%)(^eR&n)LEEHtb{YlyI5m1AvuF}+{g7u<;&hm z6eH{)z?+Z|_w+c96$3pry6O~p&%C>aB!2~$C}ZOlzIisHCb}SDh1I$JMZ}8vAt6P? z;~v60J(y!HY<9H8r;G>DjA`*{b|w{a4fjcSxV%h zLU2VMzA@n-SPXr>N*CM?P1_3A8xeYkDqrcCGbu^;0vVO3)b{Rr`s6k(-qZ7YN%uXp z=@_BHycpDasc6gM^HQAUj6#$RN60P10^Y?`R7Wuqe?^FHg|FPVVO{@0ZO?7ml*5k) z_rwS>yi;&Idbgf^ZOYgo+9!N?+_t~I5I@ns)kzThc!85eQDsR#oJ?@snd?mW^sdub zO{mhCM^r0$2&cUKQyY1-`>m6T@@EG6Y&K@LP%Hm8yQr>R%_yW#L(%94=s{bgU(-M! zss>sTYDRq<$Y(L^tEoh_TNrSH(2B73QDHsCd%3n6q;0s`opE)i41xE8K7DBaq0uTf z$#@uKKK4U1SkpfHF$b@@-t+kThZblErWtQZ3$D)VyQ3Hu6(k9THj~*bQlwC|?%L5p zJuY!`Lz6|6y_i&j_Ix|K_syDkoXQT|gLK9NyxqO5*x;{P?+++2aqFL%y^O@9)4X&g zv&UGC0JCW;1;V8NDJvjDw>;mQnQ>B3+$y+86`LeC zm-y!D3ioO|7xy*`Bjm)Ir~z?sDxHF)y0krrpr8%y4Qh&=Bs6Sab>3)MLhi>&J#C(B z&@xIqtMmw{nHJ_oDAA)YjF&~k`0~ajneenxm^y^?Yio5NpAT%{Q!!7@=775DgsGSiD8QO>WaY|#}fi+D$}Zyu5^Ru}Duv2lMM z9I#lV(k@qjSytTf91CwEA|r}vlzOI+^GCAHLs~xhWzQHd>AOox=gL8sSVI&?KU4*s z;zWnoV~AziP7>|0Nzl3Yi@xhO|%+sruQ z<6E<_h+Q=`lxA5W(fs%&yW&DCT%BbnH>*$cD1F*_E4kn-Buu84m1M<@a0EXL-MVhw zKD8c&O}J_nFoODFNZd#UjDk@Ow9`8^2*o9+ubkm8CN#UqYHUbAg; z6RN9)4i)mnue?-)rKyFrxOwNMi;Q(kr4r-15Wg#z=J-TKuQ##>JgEG$9TO&x)OCFJ z-ekR-2(=B7;L7DhzHt zgL}ghEohT@%5e^Cp+E4|B zzuguBZU*HArAVoE%hLB+=$0sP;_ZP}lAl40NGROWIVrp39k?2|E#0@Mgd9|LOzAPF z9);hD*T<%^GrMhyDR+S0Gx{Dns&wzdLdTwTwaZOrVLo844L!m(qr!Fs){kQPzE~Lxw%0zK4c^rBhU(=-k9)@?AL3dL}l5?vU+G$}JSM_SGaM-lg7~O3i ze+&XAbgHS_8Vl&WKB3Rp%>-FgzK@f~DJ@+-Zs#D5K!mjmH#Z+kYu*Xv_IeeFPEU^p zV;wX<@%5=|Z4Mb}JU>Szb#)K@B%lIAK_Sj_0B+M6YN$hC2xnd^8-z8S*Vow>D};~F$H#})2h59bx8oBK7Z>N_7vvKZTOmC1V5QgFC^U0Y^LlWPyK>_jIuR zdxHL9JvTG|%@M%dU-7OzYrS)%)tio>nm7Dz!nS> z5$A#P3ybpz!C=-rVnQ%c9x*`?xUdjEj2{jc{|yT2;^ArK0)yW`0pPq20FJelwWzq5 zEtp4;Urdxo$W|QAV=W33;DOl)^9x%GfyLqc0>43MxjO)rVCD3?S2s{L0F)q@UkD~F zAjBhVC2q|lBm#%=i1XX>^9YIC3WBXfghXwu`F}y(J*g~devE@S|A_W)>qgDSw!D=7GD z#s&sa1~9Dvx;Z#o*}?f-UF?2M+$079EC&d!)lGE($iK#c)j$;7;Z~jqcRd8cNs8&l zThI;Uuc87;{#h;%bp-5};xA#i%}vGqS#$DMc6`4MCHel9@P9+nwMY24{J-J+UGy&$ zId@MVguA1byO#AsILz~3zmRl*Zs+0Y?g#xJ7WIF~N&Z1tRX`Wv?)RI0UAWsH zM}M>=Cx>650)c+D0f-gskMMg~dBbgfr2vTIA5$=UD;GOB&~N`Nw!e)#{1YMz2#N>` z+K5^6z+twwJVMsOHaq~g#du&~VYsM(jkTzi0Qeu#JrK5@K348gwbGcmKyY{f#&O7rEc`|K#ZZr2f0uAKD5CS3jVN?LD=8T>ho`evEdbE}G4gN4 z_dntKPq_ZA2>e^Z|6$jE!u4-O;NKGd54--qg$wWRm)vj{;JnWVxS)m|V_^Un<5<>e zDvBtwH~(eFe84j_D7dbwMjj|AL_Iez)C?{nI$#jn6RM$v{S}7;JtmCpJqCtKBZ=Az?~3|C!AKbJ>%cg)Y#gdkhTOS0 zPTFr*Q}tDaq_UlucyX?ERTs;g_ylj9NOc6z*4a3)aZ(fTo}aEJRn*odRXt!<^7?t` zVBF%#F`O@v^>w6BD-hK6T%@obEuDl3=r!egG^#fu=J9C%V$&~2ty zA1L0(1amEsc*emgMh(KbwQ6aZ+zAp8abyx)FP)URI1kZQP(Z(t5u=~vJ=c^jQQRPM9WsTpQ?MkkKTjqGF~e zVrFN@uB`0am*tfcC5X4=3=Ld;HC55nM46{{;NKSWI3aAf2=jvms{7@PSL1pw6=30m z&O4W8xpB{UW6re!#K(dXmAE^l;n75lQc|~bYQoj%9}7^o2xpWkDi&NUDfq7~tB}yr z$ho-iDl034+@y&>9fK2`D>B_;=&-rCfkKmzhsdY(^@4Zf(6Yv3M@R1uGz?g`a>zm`9QAWJLDyG%K8HIh3?+$)L?51j*+qoos3n>AQ}AAF7EX(Q zPt(0K9+!IS^fK5t_#1wV?;$icfa_z@7vJnTP8nOGf$N_m&E-W!Xf0MCFc`hEQf^$x z75XTW0}29itOoJkrEWj_N{13UY};CcZ(;nJT^f14tRi_b*WfB{rrN;Ww1xU6;Kap$ z^I0?rQ8a9vcGTAs6@y4(jT#iJ zAMI{#$_mlu*Y%4|ZOObVU4K@nykU8BdE3{2WOtk*C(rftE*G)(FP;(l$)n(KqunV zd5-MRf}(On#H>rmtzvDAz3!r>6Rm+C`IiW!H9Ai5Znh9*4Pi23kSm3;KnI40l>kQ{ zK73en-dj^!Th;yR{`39DLO?$2K%DFwp6<7-Scwo{5K#&p!OEvQqv&IY1%okRYU#(4@t=P;Tg^ zcPqQ|a5|jkvB28;x)CU?1U{6hfj747DmyOpI3aHvcec07TU+U-r^$vCG{&tpGl!$Du7bHO+UbXf zhjq=5j6m%7cXFMb;9K_y2r(H6P@$P!hE?;5q6E|}sB#f+F9HuQO6=%A%*+@A?Mq%x zuB-T%jTER13^dd#(>J#yymwUx$L7)eXxgUR)AaQXtUW!+y<2bBvxI@MiVSPg#G-2) z?hf$DB2$LqywTQ%CC5W;L6`%yG_*T`i%K;&Dh2)c&@@b4et>k2Z%7aK` z;c!-CW8>8Q2t!aUsja@3FxCY+zal|#k2rO_RC~V|*eplw2NR4yvy7~}yBo0ajt=ow zfX6!%^ESo(HNVUlnti|$=!-4RC^F* zWN<&xbxrc_zCvzXz<8{`q`FR#^#QhZsV`6v z+dDg3c9>5FG7LV_*Y-O;NEz8sP_|_wS3=#mWs^%NPo2z)3%rR%cQ41hde-=Dk-_S5(3{9tH}7fGf10}ho_YWf~~wj?e(w9ArO23 zAqLR=&<|TbJKk`tfSb5zbTa~}=3ce;{tk7|<{7`90=7WtP^$QIjySY#{^X2|$o+j6 z$+NXIo3IO-&l3}h*b)-Uo^LESqs}A;d)>w8OHtdcd+`*RNL?8kepnM}JGH>Mzv8X0 z0gLVmhbF1xufg?9Ow?L^kWsUHQRF_3EFT%wbetHwX%cXv#`~hR$20HeYOKB_T?3d2(7Fn`F7b87KWOhmG!)>?Xpte`#drK zCJxWE2QG5vT~vfRWa(BMWf}@>3OI2X>eDLrU6`_hRUmC)n;GO zEzLF~?AF)Usi~<$S)lwY#9U@?QO3N2=$-J_$o2K~FwCZgZwG%Af6cf+fGbW@RkgLKup}db5vCQitq&3<`+bYbb zFy7dYG6jC?r8@AHY+$gxh|F)=vg~?lCq$XQ&BYls~-ij@M&@J&JS!q z_mOZq8eFUE_RFtwgd({F3ZhT((ci^*l^EqP4fyg1?=iYj z8_n{=5yH_kMo__wJny%732b3LzGsNc)r+$qwylcRiyw9HXwby{-b{!1@9-Sgj<`fs z?ojJeY`zP%-K-PeMX@7!T4?H1-_w8USKYAQ_j);UwJ(8gy2h+EIX^!EpNhA0*)==Z z#@INA;$a2aEfj{p13B-5CAm4TDKnto+MY~j%nw5 zlrQzra8a5UgC&4%g_?_tOTkqPM`P*(gN_;phTyZQW(2I``m#e#U-)riqH&K71q({m z;sN+l43r{uo>4Uk zg;Hw_DIrnHR?yReJKe0z$VWpG*YmI(CR34}*3#nLK0M_RZ%K0yG(`)~=@{x8+VsdH z9gEG`pF-~JR`v`I4rW`>8a=|Jx!cz9E!Vrsd%jgFMRhi5e)Pc!ht`2FFgtW|dS=ys z`_A2zdB&7WKxgw?&A4aB&sh2XUbbxoKeH=hTBQztO!6?z9(A-3$?jqpW`BWn)b~B| zO_XZH*;E@Gx;7=MIzUrqzwKt>3moRc0IfZiN06=n~25xd9oO8n4C6j zj8at>?a9zQ;ZmH(e-&z)|1K^aik*|In+I<8HokxTCg}?&y9Je*+n!wqsMVgiv7avL z6>28WDte76Ysarq^5fAcO-)(ybkjMrx~NKA?Zmahr%M;lpW#RSxHluaE4q~J=a-W| zbgC7Up~Kk8zctF+UFssrIh2;u)uhq;nADCHy7lHRhmdc&Mnt2&c2aCrfTrnwE$@Dl z{Pt)RspS!#69XuW9~O50_|Zx}9p^GCWoDYGeR3H)u}z9AJ*qvqHZ3$?;eH*5p(L*l z;@oV-_9Sko_+(h~KhdC#?zy>9C`86gHrJU{Ik&zShcOYO0$L8^C)%!!_Z_747rZ#?f#Y~lD-S`AY`HNEkgT+eb6&22U zF>1d8JNOGE(!>X7$-l6hN3W0Fk=#0VdP)$y*2Z1K&>TjiFwq09nQXQd(UQjZQ7mKs zFP?MN9haL2T7ZrPnN9N8UF?wR02|c|mZP^TulcL8g~bf5K)D z`|-s`zTcd+3F6qvT-q&uD3axEx?-)+-d?+KJ=N*shj<>3T2nNrWv90_UZTj3yA8K z&CdBPDYN57mbDsTvNRvNl3&p^@)>HTxlonA6Cc-B==}?0r`}i=QGr9TJX+G$o6+#` z0unJ=Qycve4I#nLS>SmoFLbt#=g$cSyluB`(&%|R>E_n)(1ND0&Jeeh4o&s~?X;cJ zi+6V^P+4(&HXntt;h(QMS&<=iw7_0j9!k+u0Y2+`uUMX(&XXqs&rnuoLCe1Vxn3y8 z@s`%4b^=9AXW?h|qB-whdrMW7{sc09*Cn;yMr&mU2sOi@%pSR)%|)?gKy))f-EK`J zIjqx@GPIc+?#J6^k?kONWbQ((kJzEy!5BFNUF6hM+_Wpifafj8J_mlBLnb73Ffzn- zq^})1?*CbOL0ofvpN05*XOjHGl%7@jQ^7!LFLhqk^poeZEwLv9cr;X zO&z^kwzgSI_x=UKwp#(H8|*!EKu7POxjElx;|7SG8~_q0#;Txz z`OhX7#K@~FAa?c}F!B4#||t$eEP8Q z>uw`__hHuud;U-F4*10fzxV%L*i#rg>>VVZ;!@@a+UzAdOj7S`8q!t#WCPNVtT5v8 zA`?>~xKhtWf=5W*N(432D5r|$A0ArF95H_^k>xnkD z?tTE#^DtoaOl*a)q4`GJtaIsSjzIJZQgN{O@acatXW01RyZ@i&`V3QR!*sO(up9j3 z*FE940Q?e!F~CA`0t|s*1PBA*Plz7I|8V#NM}N9xEFAp8u|J&p_>?<>Ge2kIq=ob-m1-v4Py@Bc%hJI@M988#BR)DAX^Tu9S24z?$@TkE>h z=J}!dN;1&3)==(is{8I|fV5v>&c}SMic0h*HOFzapra!S;$H=%z0GEzprNlYsWU z*FTdcCTU*%afi{7fQn;iA<;eSd}$P^YmB7%Y`Y$NzBW2p(N*GC(pHSRCHoGvp^vD z#f;ve?O}%8O*!3}yHE~zWeX7A*Qb3Lb*%I#Wu`b}*0zAjleLu0s+uC~x*;WQT(Z!> zy?bey?`l5RC0$g`#8VQ$2m$vM&jb)_IY?vd`#E9qSR!|9Y>Z%Inec)c?5@I^oyq9W zC>@+2hHvfCfBO9XQx`q0F$2tM7?FY5044lZk$)NC*cJ;XpP$RO>Er>U9awbs^q2xq zQ7dfnTebY6o!D1?S!OBPK3-4|JFiug*%;=p3l^we)FBs51!#@72eT*28sv{EE2j=v z<>nUR!0d+tlat}lO4Iq3gPOrXkw?5%%~4cZ6^=OY&B$?yVB7%yL&{OV4%3)hYp-@gSOsC?Q+pbnw@J;R0pJJ!jiGUXcWn<>0Ok{s!XYoa)ydf zv(L6=B1WM~&GE@KH*8$xH+yGQS*ys(Mp>x?L-lebc9)tej-H+H4RXwdMnT*)*-wlY z*0OM_9%oZCj8GuPVP?`Vfk_bR(->{nYOiFdfYV)V2+TQyeze5u<2;6{;Rg8=-Yziy zfpX9pyP`y7uj`g}u`~kL#n-HmqKQ+0uK8LysTXJQV$G3lkUdE9>Yw;sb9&tOlU2!W z(xdwOV6WljzQu1i6S547s@RF6lIO?xJY58FYMyYdo+~O+Ed}FBhU@cAqp_1VZ-yqz zr^4hJU;+n_;w@Td76@v^=RnWhY0U#{7OjzkN((Mi78I}H8x!Kk70!f*9fYp@R*{e# zGXZgAD7ZF1=;85KrdW1>qtv}k;WCO#`EZ%@&g!0jNn43McYFhIA>!gWXZ#*rQLJYl znB&ktQ{9|I?rm>x=ddLO$ri;EvVuIEM(gYBN*Z_;vtxQ1uYKUh{{2Bv&Fr8gPjD`A zi=NT+`aRfbhEh1!&P+KaeRBR7?0;<#Yhp{zpHBC+7X<+P${8iB&igy3s^RDAk-XbN| zuF+xBZDlEOH4H|SENQFjjK$?}`uTU&ew==5OKls?NhnwBC~S^Vb}q<8Elyjw+jUws z(I@R41^9xFM;tA7THq#KYWc83(IS~Rhy7K-3lGh#u;yn7hx*t%Z8VZTj=g1I?5kN8 zi$$5;o`QSc|~9{s~9yx8eW* diff --git a/OneTwoThree/files/assets/154122851/1/circle.png b/OneTwoThree/files/assets/154122851/1/circle.png deleted file mode 100644 index 435ce11dfb4dbfd3bebf7fd5f9bffc14c92ae3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10317 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 diff --git a/OneTwoThree/files/assets/154122854/1/B_green_off.png b/OneTwoThree/files/assets/154122854/1/B_green_off.png deleted file mode 100644 index 2189369d9da62687f253e6a14515afdbc0f68f34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14217 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 diff --git a/OneTwoThree/files/assets/154122855/1/2.png b/OneTwoThree/files/assets/154122855/1/2.png deleted file mode 100644 index b542e4b613d64f9b8ebd4690cadd32135b6c9b09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15818 zcmeHtcT|(j)^F&cgHl2dp-L~IcL+%DNRbvGK&X)xdY29YA}T1oiGo<@UAh#JB1kXN zqzQ_EfZRvl_nh;d`~cZIT05r8ww}qElNs)ZSAB=``COtL;zRaR#K2wl?rSY0A{=mZKXHkKV{X-#t4whn)Ba5AJRtFTZ2C zf}1h1umS%9rtha2huT?(wC;GC9{ap6(oy8EW?{VJLj)tVF+rCzq z?%HX0)ZO&*4fv|rsbFaJyQg2>(mvaigr2SOJf{s#KwQQ#2SAqNzIvEjkcswP<)4Mn zpN_U=yY1ZK+V3~`z&~eUVjw5sQ>W?e;C;@l6Sy~qzd1T5WZ$FP-hx`u#%)TTCuRwY+o)rUN2A0{<#7?)=#EyA0jh zt3$rQ8#cpLZM|u7o*0MO>gL_HKH_*|+0!h?^1Of_4EK$jx7Ke~&j-)$Vndw;8_caD zLc)~XmpR-I2C^ug!SSblnCX}kTX*yMAT_#%gm5v*81 zdxYXGgkgxMTXj3))86x;i!7=8U)!_lPcmf6Cobf~HnN(8#g0Q3esa6t^mrBOV-PnH zM^b6HftQORP_cpK@y;JWpJg@bGDPP?2@xjFOLxKH>br;FV8Q6QzIgZlUqXXVPTG?+UfARj|R6x64NSg(`56M{LHW4Gax!|+1)mE zOXXcGw#hwMTV-hG_&lM@?7ud%u8p10$^#3fT6=p8>eu;ykooxuGu9$m$3w}KF3S|W zzy2J18*>z>p)x^`>9UzgI@%Mz=LWUv_KQ&s4|uyoG4kN)#^hZQ0XqG6;f;60Hsc3> zyz)tSYBV5z=>6SI;q^mR)3E#Ry{6H7(<3|fW_8)z=z(3Tf$bfbBJLRv^#g)ZN3P(2 zxE9u(YaHS)^(IVY=e_uG7h;wUN_+5{Y6;dGwf(Qexn*_AkV)X#wwh8M7{Bwq+9Fb! zYB*ld#O|bxB~NaxaMN~!t`4Vd5;Q&dVn=zUw}D7de2d1*g-Z%jzMFKI!&^G0Uxd?5 zvODoYrE5I$)OF9AkB$2N;akJLdeY^os^Ge2(Za$92l%%v-RmC1yv zm?n+Kx>Ts?VO!kGUe1b)TaRn=+>~8y9ne|ECFy#BstMW)$=S|#?=%~-&+6V?(DHnL zaXUuGZalpqgCeDIJkC)BFTr0$)t|H4!w`Cr$qL3&#__oM1aKD!9U&gCJ~91F=<#yU zCh+;kjvR*N-HOfvvGN+#;vTH_om^CI^VB2d!WQwK3WJ)9Rc~xW7K=o zC4zgMN09sZk2F$5%s$_z>4dg7_L@eh|0v9sF0^mnOi>>%7#;${Q5LHu)mhAub>nxv z`c7%u-Vbq7aJPSu<#T}TCx$!ixiiBr)erMiyet}tWCLh*RF{sPGZwpIgWY&8w8d@|V@QkB;-qv3dY$sX5CV*R)7ApHP=qTy~ z1J_R8P1QIj+7H_;hC--hi;twr(~Txxh;&BB1p?YnqpAg(w31Pu<{(~p@)htOVXA$V zZ^>Vn+>?mTLS2E97{@2?C4=YL`e+zbi(h87HgJsFB`7+aKrci4a6ngC{IrKVDxZEY zKZhK~D2=a4NWuGBEAmuWM*ZS*UjNYcT6=E%c^SHtHeWL_6fW`w;qm>ts|^#Af=X9~ z@e_rS%pbcJ=~|-ZO$gWH4(mwrmXm$uv~+y44Ik?{@XPKs9Lvi=|wNs(8n_0{nVi!ZP*V}tJIIM4wbKe-Wz0qZB-+ki;xk_ z*fVtWMD%9PimGs1ljb?j{3ax)>s3}dxCjPE4eKeibf=d(m$z_7Ul6Dl_ykGwdLpsa zsw($jGgrEzvk+BL0^gWqbfQ&wx|8irD`?R3Vl{Ne!L-*&^QjrEsbCb*?y(Vh_z7}; zrtM%sZaQJs%3@u-(!_8A4arKiZ-HNMKn?d|Zq`dnvX(qNDaIjq+k8`(#vnL5LhS3? z>l)5&I$N#R-K#De{Owqk$v7D@a$h?=d_dfe41hWbeo}pdW!6X~w)#x!QcUzPOSyGV z-HDhlwOhqX41OX&GaD)L7M`^5P>)wS&4&}y_ah|iXUSP++W zeN9$YI!^wp5N2#lY=r+{yI$0KG<_PnPW`F*o}9?DrN(c#Zl55nodj-Hd_VABa}6lC zF(!4-+RMJTqG6S+iw+2!jGJsy@X)-n%QGuB9~+Mzqiwksmz&Em6_K#=4zDYq^)SAU zJX%%@VV%Q%LE$htc*On^S9Ty@B+4osqIO?w#dpH`Enz7U=*}IlC$R~Vg{aZPzN=at z`6dVhj2U;}q9(oPePz;;p~qW~(k6GhE8K`)CTqXNO_s^dYs?ZIV`Pws9`C+fw!c;C za9^A$*eTj3I0IzmP_`-m^DZ^)z^Br9(_Hb2s+1FiJ}Bk8ob7j}tg?hY)l-=J=7n^2 zH`fB~X6%`LLDHJo((N*Izu11v!lVF}k0Sa-T`14Ed^xF5mKQV1z*y?;QJWlV-w z!Bnze{VeTUph*iRQjXOixr0!O-%!5%hU~tN))hx~IT6eGvU0bpfh3`@LA(VG-Dv?n z4Um$=NE)89MpbWD_pN(_@PzorSUaSYXa8rg%(W;Ev)32{Tk6cZ(Gskb{ z5la&-X^xyx?(aJybHCR&)1MX1$2sDy>tLXco7X#PwRFRoDPAh{rjn($5ruQXof{dY z7IPfTcb?N@H=o2!(lAXYBsbCDOSI52Mp#~C6z1|d$!k)N8Hx5;peN}0&S3^x(BW01 zHL5h%>oW`mZqtLM1f;xOnz!hoDzUdEyB{rXu9PaPOgY_~4^$-uU(w8}Fv6T5;j%A! zWup?mgzl%LKw#bPxe`eHcyb8%NoeWJD0n37>(mfG6~7x;S@ve-a*t8U+6{fJi!6>* zymp8lQAG%=0bf-*O~zTRRivfV=>_hHMan^ z`NmuBU{XE(V~Oq$y#<3m`Wq?}$WwN1*C^plEItxTa8Od6JvZjCUMjiY8Tc9eS-oq3 zU!FW4#|9l5O~67SKuBT%5Ov*;ER|-UA;qb;6a~uh?WL4NfN_KVTR7e3BS@y)y*|7eDa_VKD<=>HLyfQCJOg zT}9Y>j0T*DjD5j;k|f6Ejhu-1UNpOh@SgUvPU6Q`3Yuzk%;J*LjkY&ug}R2#+}9^c zP+oMTJ#>{Xi?qy1U%MfuPC>mqNqv{) zd&jp?Qa_mosb3MZ#cR~oLrkDOjno+~Z$puzNvT#socz8iRp0log*2m2jI<(I#|!I6 z{Z3W*1fr+tH}f|@B#oeon<}vnqI~R+V2?N!enk3Bob=Gae@whjbht}1#q7JQLtCCG zf(myd)}|P(7_I#<;VmT1SRzDxI~fyXmB|hHFkiw%v9#=6$lpVGb*Fn}`<6CsuD(FY zH(gI7!OgP(VJa9zVb^02}{2k(Chzs#=~lkIT9c zX^hx(>A+oWTF@y@8TGfk!orN&gg!7A<0(*y;q!)*uNft}@|nMj;O-)L#hYr{+)hy( zUMA~QT2#hl1WeLsJA)6Q&l+PJW}lqU*^G!ckKUIp6*ORZKo%Gg z5U-C3;4y9%7gi`oxSLzODLz)Qi%?Vb-?e#7gH4KIB@KK~s~qoNXZ4;g)1PFN>-Z)7 zu%LgcNyRa0vDfeF1M6?0S|RAT%(-6&WDIK(7SUS8rlmI3+e6y;74#Ss+{KR& zf-BFXaqy>95{nWTj^Nzx9G(Tw>08ASPx;`Ms*ev4xW$ z4yPvwpW2ESPj0C2Xnhw@8=V>;7+$uST_6u^#BBoIxn+sC7o~Rnkot+URX69fm7>xk zjTdwU6dFQeLn6jLJQZ2F4fpcM@g|+AM-Ecdsh;HqGEcI1sPMZ5*XX!);LaUt2IsV7 zjCrXMD^G&Q5({DwEF8s|M@j+>>~}41Jzd91d{*8u&HYKD+tF7Qw{45Mhy&*vBkrwm zk)iVf=GU{w`I=47DZ#;^QuH>;#e8!G>@TBj%9UF>Fd=hWD$T_j(jx4hNmdzAv4i<; zG!K+7N!N{=C){Wc^CSYj3BDxUkzDpM*k>=&RO)$Bt5v$}PkWg_tbl1K$YP~%H;VF2 z8e!E`gY1vGnWgFVar~gN3L1Fyo><4Pe@UJM%@$Ed$5L~=9OS%=A_nQ=;7yeeJ)GOK zD%oK;MI@gbt9E1A2ExAL3`TrY?T#}H-v3E2Nj_CUq*5gU0^!7>)zl2N)YSfV?*!a7 zJqpWE(CkuX?y)l|HMT_Z)Ne(b*iHIUw^ju*`kM|HI1#A38tcB*pkhN z=v{1BtO-=U;B~(r(0Z?~eQsy$O1;{7OKD*~WUdu2*7@EO=Xdx8ZrK_7-96UfW@Ig} z1d(%yvZ+H^-jIOvvP|3F^6Iutic3)bnQ!d9=mAi^rhK1Y7iJXqZ@@Se#U8)RyjRx!lrYS@ps4 zEbshwVRT*Qvg|N5XH6`pF%^4p8cAghRk0aI4VUq0-PA;x`yJ0_f83M&DE_L|=MqsL4aS&Q1cULvdE?Pf zvFI(}31K4(d2GZuuOE)nB&jc5q_kb5BwN7kl&G)&uBguzDd1llipR{1>&W%i_Bar0 zhxNY9LmwaGnLhT(HTjO627xFap@Dlq3q4&~M{iFdq?5M;N+{411KbmWK=Mj~7^I^+ z$`9&*azT43!1kNlVNkS_0?b?jNM4Sl`q!*xgaa38th-A|EIV0C=MO zkkCL+4=-QYKn2)uTv_1xSGO<>`kTbhT>)mHX9!jE_CZ16LU17wLG?g%fEY}X1S;?2 z`k*m>Xm2m*FHEF^x4)kP3*pk_1vKEm zegFbtF%c1IK@l-QF&W{%@&luKdVlBk^8HhafINi*kr-i7ArWCu&wt|Z^-~Y{$9(^i z!`BqJjukdW`Fi{NIHJ@8P+oo}+r!CO7+BQrng7ajT}#jK z?>xW6=z{jd{O0&Y{Z~pS$G_8I{Czxr(>OT_qdZWaz(RZhWYK@3_d`4X+g~LTE(#}1qFZ$p#dB*XGw8KDJhg7N?gWC z5H2MyA}E8BfD1}E!I4O585tBxLi8^X20m!O5|AE$UDYorCjd%H(pefVA}%E;DJmr; z2zQi(3pz+RNDIP6MB&oTGE!2`GVtF}zs^Bc#ZXHDCMG2Ej~+u0q@T05k0)SWXfG#k ztnWXDOwpbw6F=lHv587bN=S-}ib;yYWn?78B>zEl1LfljsQE8cQ4t|AvEL(3j<^uJJKl$3}J%1KoG zm-;#i!o_4{1f?CFodu<&r6oj=a5z#5Df7?hzTVD$Sfme1#Rbp-;G6;D`hCt&-aqy4 z+CS4{T~WW3O9b$?q9TH#;-;cvvSOmLBI2+=P8%vO{L91sZMX8je2|`=>|f;}|I0_o zYW-3~6MqcG1C8?eXF2^%Z~hN-f8qaANB<}GzmomIt>%ph0<758&j9Q7-%kH82>(FP zMLVLre7*m>rT>-W53&3u5CLocqYnshK)e+Gd%*ltOMV&B|Hr>SweSDq3;^_hCi%DI z`yX-rM_m7w1pY1J|7h2L#Px4U;NK$tk9Pe(6Bo%pN^X=FkoRGMf_fXg>j4zwgbq5_ z5x>iF(5YH;1n@+R(X{jhfk?0Z`rv?a9zlRkB0nuXb)t0=ay(i*$X4!a5Qw2%3!!2f zIJ0XLltnYy`g57eYgixW(X*)f1Vp!deW;gnYe{ zip!{MX=-RhL&m2eBI1y)u7bd){9LI>!rfP(nZ%Dh+g^3^IiKWhy>yxN4_U^iRl z@IJq15IYjfFrL4jsTp)KPyrIOj^b6Amr`A_JDI z=Xic{tD<6h{z*U7uPk07b*JPuDSdHC2^e@oKaQrkUOej05)Fms4#OZ|hwZxE(IbHm z)i%d9!fJAmGWk=8Ic*d+Q9ZDJ%z>4k_^XB111x{ym%Mq0mXK!&*u=QNJJnn*Is$JA zNPd308nF#Gj`E9(w{G*eCd|*T#(g&q3Z_!0eyB^hY)_SqeDhKOLxCTo@*tZ4r0G1C z&PnXudOT5<95D5f~;uc&ziWZ&_OYQ!Dvn`U^``K7=#Q)1&$Pr!$`+kzH(k()}jos zpncDtTF~h0d~nl?AypX)(k2G8_dA(@31gPBi9t(`)M(VfkD`6kOu6wav)P|Aj%~p$ z_N-n$Q=ak{A)KyDMUR&uyPt>ag~Dj07sB0%0Zo>sQO7N%soM?2VU~nAf_eFLO^Dd> z>xS8>`c9Q9wOk3w>@VyOM#yQYSB@$Qyg&6=ci89K<1>0LP%~GY|94flZTqaAZ5hrMj*qD zHU1<=9YYc$8Y3G1&U1RZZi9&6fM(mlfGWltt?ikVEV48b5)ug-#jH4BcFpqfk-?2d zgS$(O?+U3&2$7qz5XU?#U^E@YkY&6xQ%ic^E`Z_2^PiDt2v@vkC&xaD4&C7H)mvFv zS;|!SPGStxb>tn?t68jPtEJ;;-Xz@Fy4Gn`*~f&AWObg!H|xC;`c@&pqO%2pisv&6 zZIWJLFOTThWPCV(ZDR~K0RhwGzMG~8)v`~C68&(Zl50$^r;WD~M4BQh?3ro}A}Ofx zWRmm%M@J%HQDbAqy7`J%+ZzH!4!BfFSF5DxzfyB(6f`w4zOW$6S;vo@OJLt%ZmL$x zM!nltqHBoNE*}TScLBR8L%$he$cP2h{cS}k9&tZUVI1lAZ-M<4d zBJ72bb%8eId5UHO=#8|I>++-{GDYus$+|ics5!n24Q9<25ud%u-8 z8pJwxT#dNoXH)taz?%eUU8J(%ZGk~Ri@*dEU67FLI1BQ&KnJkbOip&d6j|>8%88Lq zk=tv)GtkR5{^G>z%JMyafbu};=K-am8Es`{v>}DF6`*g0hM*>|XjRv5kUYWkkO93} zFbxQ=T=LNzo_RFL+apA1;upb#4)6Wt zJBmMe;d*M)%o;ZgLc9u_Pi|DV)d(Ujv*|r2;KQV{jYgVUnFYKgKhHOmR_oha@0?v( zzPVH_x4&dkuK4h3EzW~7;z3Df+y{hjmPM{4;;R;d1-gD_Ut!NbJH4_z8d7{sIC{OU zzIBnSAnT2Yo@-8=ha{<)8FKo@$WcmBbu~rT^H#c7&cp1A)M=54Sly*N3g5AQTgF+* zWInnYVxe{W%yQF63jVZDllOFoCCIGYME;q86(Ql_=67mQM%kQ?$4Vk z#>?MvDpKckOfROah&vA{^V0Y@;1>mg-?bh*l{X&StcimmgQhOLrV8V!z6(u#RqNQw6sjn`1L4=+5RF#!`i#C~l(~DPUEVjqEe}>&B z^Ezqdr2E>h430uVAYxA7^^uS#&;=D0NOFA|Q?>S7eI(-xO@e7_Yuj7WA&d}W55I{e z?lO3-8)tH2Mp)=gs9GBO0UFHZJoZ3eFE*Y>p}$=JF^S$dRU*RB%xq0CZ#HtwmPpx2P(J=n%J)^6{_15a@fX*WIWO=0-!Be+N%%-y1mk!w&)tUE;>Z(S26AGG{ z_@64P85~EQ2x#zc)`zB<78UMv)mDv1>JBuBSwNk?~!JUP**P{AS)UF*44yys4nF zhY)Ix*q3AlFQ^OLh`wf$-#h1$kEX4E*&{X8RLgb<1ds`FLeJT68dD8b=E2s) zwRH&T8G_*mAq`NkjIJ|Bg&W{wIp@g!2pOSo`0ME>TtL`gk_4hzY-Qy_H(i$qpf_LidTi&gi($JrC58a0^o^D7 z7nGE6ZZOIS+l<47^D%H(GILF_D-M0QgxT`+MA)_lT_&e$CMP&LJ-4R=N`m|HAz2f4 zJ6dYdI;rpHp=+|De{y23aNG1-B63E2h1{b!V`<%YK<+_cY3*aUm+-dOjQDh=Hr=%A z{X%`ne$h@vB!(Av9IikK%N+!|sjQI)%BHm%-xpYe~l^OPw*) zsd24!ue;FZQP=<&vn=P@3=JLDS=nb@H}cfkfFN7gE-h-qZuA-H)J`SxZPqp0&(kbc z%d3#{5TkF=`YECol3ghb;v}=~C!vGRikKzkjW?gb!{tkTH$rE$IC0DMAIeMLMnb@` z(e^3Jk5T(Y`)DN?!8K~zhzoxptQ%^xYZ({YXKY^&VT*Xh_W1bTUBafl6nq+d93XuN z+^wA=nQ{-@Z#@RQ3taE3Gx$VWvcUv7pFeLka(H<7hVxB%uH>O!t|U7%kXn*GKPh^W zz_=Xm#(Hpzw?VCIULv)};bgP;&X=vS)Rv`$8e|tCkX0D4G)V2OLIe|9Dm=oU+!TA* z{o`nx)ByI(@)cnjdY>(H7{}{l>a#J`XFRTyV;wBSS^HWI?zR}j$x5;?R4baESgxgS zX?0c;|2|bU0vfAqX6CWj)>@NbXj5BXS5$->6*=Cxa|6a!EnGPID&cnYId#Vf^w#WG zPCh<9Lz`CbuudxEVp~|xLEzleG5<5#Fs8zwC4J0Q{7w$MQktWqql)V4pIV(%><@K= z5Ae)c8j7B^PF|&9JhW@!XP6^Ch(i{Xm6c&k)g*HP;Vx9jOzkTe^SruK9H=6Li`g6U z^$Ssu#-=g)5T&y6=alLTJRS%v_COfLqAaOmt?}ZO<)7p93v;4b)ebeyy02#{J{#V( z^g+}vnTE2DJrT$QxeFRolS6`U^an9tGX4&8NLX$$Q zW8VJ*d{{280GdFR+@nEHODjPV)1*XCVm&a*$`$+6!3G9YA6+89>Wpfe=AQi!d{%usb&u5$k!;SGf)gb ziXQgkTW8S5F#tdw+N^Dln0S=X>5OXjR&H3h@xozTVnq0M!b>VP; z@!qQBy{32{YE>#SLiRziI7+s?Nj%%Iqe)&t!J}xY+gFIRN{tr;h>zhjhP<&)tD7o= zxLkZ~cZhh7*v)N&xZK>_fcOrCSW2I3UoYnv2}_ZXbkxVY8Y!YX^X4%x9Q%sw+QVI4 zU6lc|7~siIxwYC`SlKk9^OY|8EO(JbFbU?i&4}qDmsiNzZ1b@`VCLU8 z-{ZYgJQDydjSJ?h7||eLDxu#$x_}}#@u>5#`9tEO;#q^ii*j2u z#$OPiNW1yKs|@miHTQD@xS~8~Q?Kw=88tY}O8VKvLv`%&16LAxFm8+CPE*x3Cx?T= ztp^HrVMnw9dvl3b4P~Z*K2gAI`-A zDV_D$AC_NdRWb9gEqAlJS-nQoA{{9{B8?XjvhyO__tnkMZ(exK56o?B6iy{BUiY_Q zep#s^C4f<7AK(*6juOXJz2|R zyYYGvl@mdVA(fG;8eeJ#$Mxmv=KbS<@wg+V^kK$=6xCSpNaP)*na%l2&#U{~SGgAw z17XDa1P@ZwvS@f;5*no=QGy-OF8FK@C^3`9ZSS|5MyqGv%EY5BN0{-ok>Z4db*-0I zwBM&|7H%Xib`7~W7wR0ZYBd8^@lEys{}4!IR#U=Vmbd5a)UwTh!rMuVe73HT5Dp0t z^3x{Pbq*;$rcpoWb_nkswlSSb_pNfXT!=W&udLMMyi$-=R9Q(hC z0-A9a#!GV;tx?VAkfM^#wNq8C-u`N&d!;A&AjTwox~R<~`OI4(O)0JAY_GYP=+Z}I zZ0ohTH$7N}@KJNRSNLOUsN-h8^DEoYKCWoFhS_;^8Ctbo*JAEkp}EgXY>2%y4;UhJaP>27zIW^ zQNe3xUN_Qx_ZZ6dCK^HqmU_A8T(nD#M|?N-q#(pyHG;r3gLU{RD)4C1{QY+9er=#~ zv6+}!&x=fk46tqBGJ$Sz;Gs(L$w41mF;K2Hp_NUYFxtSy!ppd{L&_U0ewW9Km!OAoSRtTX z(jEU6ExQ+rI=7PHad+C>~MUmwp??Tq3*3`8u()ObgHe0>YwIOF3b*L~H6(e^g@?(v3O!YR9 zCqB`g;rN&;HJ<=5Egka5vHDQo7q;8m)i-}!VtftM@%A1+C5vKvu(ah-C(+4Ke{LtZ z#>Ja!A~LQikU7P-KM9u#cd+j9D>k#qK{U`Z%7iAs@Qv_^>^~7^48BZxhPJoU6a2n2 z8}I&{C61Q=hW*N8EOxGN?$n~zfh*$tpwH;1icIDJp-6Ab*GB?_xX3xV4@97nIVx>) zzQFIQUS1$tf^(q6?0fK{y|d#hp~R{6WxcOl`Od^B*Pgrv92RgjVjXc&3q)Ea z!aS@>ZdrtBh8b8;9tSB~yoK4H8Z23r~j1}Y>t;x0tsAv{<(R?;X#~%A$Zf& zrt)4$+d3X0nKHnE$mFMdx4U2}yW4%#Nlg*|;F}vc&COR+)syAM$NX4foLBu@H{Rvn@!%s@&tg&MzMMjaNI$oYmYR2xe>AmvaU(k2t z_X~uX-njAQ_VZR;?I*sxgdjO#6$GMF$2qZR^AVp~1^w$BDR0)w?>p;?)H5>c!x5~x zQr;RRyd=4^_DfVKVk*#J>J1-4ePXiN=!*WD&Q`qo0FT9mYbC1j+^YUZZAU<13)G00*h=$^7v-sLL?C#9KJEhA|P7`vOn9*C5HuK)I+#LznEJKqT zpX*0&bCM1ZeL~x@Y%4mk0r=x^?kcNVl4T6|qlaWUs}E6{3CReK5f!^(;d^UM_I(%a zYbDmX*06iA)!Qdux@uW&@cBs#*feFucc};^WyM75h%G1aVfZ4S=5(lZ5KvoZb*ST5 zmz^oS#bLu)N&;%~KoRKI}+~#T@u8KQ$Jn zZ51&jxdMaw5rjBm56Lw9B%l7vS0R6UOLDSz62aL5r!Cj8;r#WIM@wBFQLSnp{l5TW C8Dl*F diff --git a/OneTwoThree/files/assets/154122856/1/B_blue_on.png b/OneTwoThree/files/assets/154122856/1/B_blue_on.png deleted file mode 100644 index 7760c803f05f8e6ceeb8e3cd531aa4a5a4911109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7741 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 G!2ba!DEXNH diff --git a/OneTwoThree/files/assets/154122857/1/B_red_off.png b/OneTwoThree/files/assets/154122857/1/B_red_off.png deleted file mode 100644 index 804f7c298fcd85982ed12163ea04b63679b927e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4986 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 H3s(IHY|Fh4 diff --git a/OneTwoThree/files/assets/154122858/1/redBG.png b/OneTwoThree/files/assets/154122858/1/redBG.png deleted file mode 100644 index c43959a491d26eaa0e57d0bdec3f663070857102..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18475 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 diff --git a/OneTwoThree/files/assets/154122859/1/B_blue_off.png b/OneTwoThree/files/assets/154122859/1/B_blue_off.png deleted file mode 100644 index ecbf462a4447963eb753fbea42533900ec1cacd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5026 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 diff --git a/OneTwoThree/files/assets/154122860/1/border_m.png b/OneTwoThree/files/assets/154122860/1/border_m.png deleted file mode 100644 index 2b469f7388c95fe90d9822459904adf2fde83763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11109 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 diff --git a/OneTwoThree/files/assets/154122868/1/B_gray_on.png b/OneTwoThree/files/assets/154122868/1/B_gray_on.png deleted file mode 100644 index 05ed183f2387abe0a09c399aa31184ae7baa5cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6839 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 diff --git a/OneTwoThree/files/assets/154122873/1/B_red_on.png b/OneTwoThree/files/assets/154122873/1/B_red_on.png deleted file mode 100644 index 0816653651dd4ddff51b7c4b7eb09d67c21f2b50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9371 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 diff --git a/OneTwoThree/files/assets/154122874/1/B_green_on.png b/OneTwoThree/files/assets/154122874/1/B_green_on.png deleted file mode 100644 index 8648deeef664ec0cbc7807898adea67f78871ce4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17513 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 diff --git a/OneTwoThree/files/assets/154122875/1/drawImg.png b/OneTwoThree/files/assets/154122875/1/drawImg.png deleted file mode 100644 index f51bf2ae2ac8f481f6b0bad1a3b67a9978d37189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27283 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 diff --git a/OneTwoThree/files/assets/154122881/1/blueBG.png b/OneTwoThree/files/assets/154122881/1/blueBG.png deleted file mode 100644 index 59a388a948a50a9c038fd1b59a27076102930637..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18480 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 diff --git a/OneTwoThree/files/assets/154122888/1/cardBack_2.png b/OneTwoThree/files/assets/154122888/1/cardBack_2.png deleted file mode 100644 index 2771352cd6e95b558bc97bbda24411bd4e453c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 533486 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�b+(@dn&VX8@_KSUUkrN{O82WyMs)`TkYct;x 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

Q-bAKVqX@tv|`^-JA>uDqpavy zRnLm7-)Dgrb;=V66i==ejtc~m@6jUV&g8X2JeF1rM{&0Xvx#k?Hf9;wzlui4GQD;M z0uH*@SK{g#3F~)&J%MCD=40PfHJ0^KVNP2mmUS{?M{hSSj`rZ;xH#M!mViHd#G!V) zKEsp)8hj{ZQRA0NF}Pea2J6eZ5vG>B)!Cszp@sz7uW#b{YF9FV<5$M_ftb=&fS{19 zZF5b7PD?sj@pxVY9?gistV9=Mldmc~Ut#&Ra91;@h8;6gk9Kw=JHp5&`?~xxD(RFf zQi65EbWD2c?gk;t_k2nq`T3q8Usdo{F;doQ@no3|n|jl{EAcDGUag3ydaWBV7G2^o zr&1&oLSGeZD4D=Cs@%1-oq;lg<7HsgD;fBZbej;#Z1s8&$LI>>zpU}6e2JT6+~GvjDm4{I@ft6dzfH;=>iT2WZr z%!RFO$R6g`chAf<1cd~lO*J(xt&rmZ+lNE2dx{txYfBLAkg}H2G(99Vlna|qf`$bR z__13I9*#)B{Xq%%wVekEW_gDDjzYx8rc&X)reBq#P{g8Sdc`>N`TphtzDeh)ysiheeD?E%z^&(9T?EifkBCMI5Du1108GFQM-g0`C^ppXqRrj zA9_=x_ikoKHO|hb+SC@*Ew0MY2nYonY#ye@iV#3IXA zh*7LmNWq+z{~@s4tu_x2HcD}8odnZ5E8pqayR1^2@aHVQ4wmW2n_G*U$HQKNW&AF} z=}l5h?;}CwqB`s#|Nr!AA=ZzTplE_5T?8q>4>kcALT^S=gxS)K^w7?ZG<7m)rF?LL z1My2@G;X(z$JwUwxZWfVH~sCduUGcqMi~$0<&Jxyj(*00M(Suoy%Lw@DF3hCw4lNJs#J$j@l=oYV;T zzcmU@Pim%hljF(GV5IB~Mz4m{!3_K)BFcPjFuIm9VOvKhcK5PlV^2HE=Tb72f)BZN zSo$3KjLOkE9Bt`guuOI0Z#4GeK(h#}Zth~8L^CVTnkQO@12fgQw^4*gTX|SJLJCh9 z4Vt7jyh>k4o1LW?6p7GaUuO>QvIDFyg>b_hFB@WHVUjC~`B$?ZMc8N#~#VmAl-X9>wV5@%^dm#TCOX`sQQ zWEWEAM_?o22?ixZ-^e3_o`>W zg~b|{LwhP&hNcx&(5v~Z@PUfa2LuH}DGNoXYC2qGwBkMc6({hbv2U z*gV{bNV3^x^m`OKwaQRz9ARXU(V3gyR!}D5INU9r& zW1YO{SkR0DP7RK?h$XNbhui)Rem7o%WiQ&g&A!d=A8u~!2-PA-Qau;8wDtk>x)x3} z&T9ZSBx_r<(s?YGgc9e_z;Y|84Bk;P=5#i}Z4tjz@b{%CD^U2al1GgrgMF}kZ%6_b zleu7!f7mpWRHY7@?jsQeBgQF0z0x|2Y-PaKv2q-o8_G^*PA%i$bg~F1W~*>utRBm{ z*wLe^17+j&u&4y!aYLB1_|3oUc$Yf3O)KkhXKM(HE>GzqMrdegmP&)YuAr|>j2f$& zI~go*?Pf>qf?6LiX3rW}XG#$^ISw`U;7&{8=o47JoEVGc^}-Nol)e=leJNO6Oz*6~ zopn;&-z383F*3Mq;tY%HUn&MB-@kqyGtTvj$D{rU*xTI0RH-rwl=RPK!zlvF=W4~E zU6cm@n~Bpj3VfT!hTu7IkkW(kGpgyII<|-6*)|@Yeka8AE-H3EvQ*koL+;l=E3njo zYttgotho8374=#5A`EV1!N|roG%9I^%OLa>UuORb%b!#VM*Z9>7Af0I#(?t1H_FOH zJ0v(XL&r2H&o5D#`6q-7(q+%Ud#lWomF}^x3NCqf2cK zE-a;r7&7dhV1Px(Wl?Af=5u z9tZ6!Yw-IN3;vj9!QrVEjA?Epb3*jRMlgLvjARZL(BsU&c-$wjOjS_^mvn&33Hc!K zMb{#&9|$+|(4?Fe$*i%93Ky3taAS>xtT_Qvc7(E)&iFnM*h!quO)5NJX~N?q2ky>v zWsK~kCM)426_~3;XmPAzEbHcWo7k@%l_OzMygkZF=Vz2dik;&%tY!U~C34g* zsmfFnAK!^G54&4M;{ma!7rG>%1_j{^PBwexwBgU{1eR;ZpnWD`nT{dNwRpHy@B)mf z-u^Z^_;~i6fQ{#5Twf(d(F9eNK7V?GT`{i&R~Fcjvex`2YhTQW^(~#)(#DByRMmpd`D8q>S73RRnH99X0?Rpk z(ZQ|5H7pI|mnkL`i+hpJ$DWNa6s@Z0uxW$|7nZ14B>xJz@7?NZ7;OHB7{&atA{?5n z!rcv2Z&{2Omn8ErK%URQW(qv`E|j&rp58r_X|N;qPN%}M2+x0ewcRz9 z2fDJJk4as`s9acttE*mg@Vk&?AWi|Fbt#yRJ6p%}O4Lwq?>zg-R7flnIQPYjveG>4fcLLgwd-6Z; z5tjQV>RAxy*>`?8rr=DQQ_-NrUC)g)J~DUuZpBR6@-4R}8P96~k`%CnfWeSy)ar z+A}+9aXwkkMz4Ar*8V%yAY1jcV9$VCtCg(F+@)n|%p>n>Gx!WUO);6=NsW8NQK7lx z$$ixXLW44GFgRQemJcDYyC)d8H}lZC`rC?c0#UUrf%~7$z_HiEGOd1ozBdQUS39>- zjK|bS`eFI;S~dFCH={*4J@yj_dAit+M+==eIKqVq4Rjb?TZdo!yYP65zk}ac0>8uK z32fxVL%&Ap+hF-tZ7&X&k40&-ik(!vZ$nEX;FUcZcB-+tjf1t(Zd1(Q*U|ofIc>yI zY*tExA4l03Bp)JUNFxHua^AnDxQwN5N%&aOFdDaelX=lK4jXDl!6d!9JG5zx&CK)lclb$%NQq(LaKq0S$IjDAGvz%rLaz{#0CP9j(#pM`Q z$AWd8qHtwI9D`-rf$~BB1YGVGkNH(2P|&9MWOaw%=a5MPadAx`uqOa#mno4qTJX^t z;?Vg+YhuP#w_pp|L)Nx*qHZ2drc(eEGCp!gDNwDb3iV5?(4edeHHxc{D_Q}u`0ur& zrh5jTIDtb7I&ir@0p>bh>@63KSdH|J0RNwC0q9&)h&yYQtd?a=8{erSRgr00QGjNZ z6s%TZ~H>RCJDz2i+}Bk`q_(9I-1T#OxKjX1kViSH-s(59*uCM}PtU~suX=u}gK zb4wJsO^Ym7NKq<}EYk`B^m<~$WH>NK#G=Z_7xR%fR{6$7Nq;5~axtNw2`PW5Sb-l) z!^i-Z)ATcUzi4+&4dv7IYFth-;o3qgo-Oxv@Ow;P`RRf%JYNur=X0a+czO&TOnL#! z_eW9KAfP<>?XXM>{I1lB!;qXdaDqQf3sKghIV1>8^6S`U`&~N+R+86J(TWeE(2&hv z?_e8kxM+zfC-!u8&+cIgWMo;&zufTyGtRj=8OGOdreaa2muI z(a3~-<7{b-DUQxGV&hN~8kf@`+980HKoN~h(Z&?ixlE1VrA8d-zx`jf9Au4hpjYrw zI9!I|Roys5uJsP>LfI=Gce^CuKw}RYdQAxBgnZG?4v!azjboK~wkr@%w)0UwUkJN* zA8XGmOV;ViX1+aSN^Kj=D#2U#5Lz7GrivEphH9{Xh6;Z!QsKgKIWDb|;le5rjuHF0 zZM+!mt83Wre*2C^o%HkVN-?%qjACj&S8I4MFt-hSE+@kjBRXHGp8en^O59$fz{O>9 zG%BZOpGmv0?w%^dZDMnGjMXA8T$$ni6GWW;Wep-&f#2;O325SdH4TH>v!p`40>2~G zV^AmT?FD|RqemSh?yXV!;aE=KnEZLYlI#I=sF1QwjpMUT2s34EJ9`$yv+;0rmIWy* zO}IYCj!3KM?yiYG~7crrf%qv{!%RPR?<{)mH0z{HwFNJ{j{ zVa={u5^vVT>{I?Ys5e&;j?Q}OG44KkOlSgnOK2WDqPc4jFDB$ z%*d^2;X;iB)h7xH0hrQ8jWhGjZ&bseL!%7EhM`8LvwVILfv>@|)0&7K1Ji~tUb4|9 zL`a~L1v6m!=Gy?WS%;uwO)X9@@`3WLwNi|0r-ewE`E(T8U8_YE3GQqX;5h->T~m0F zO5Pr!r1@}GlNjq~sPX*B>mth(l>L%HyHa6U$c!e1<&-sgJWbc`n!+-b1$#Ir0uNK$ zU8jTPd!ynr11H_1SayuQ#*Bfj;R&+RP!+AjRY=;rNrx zSt^%#r+pmGHSwZdPAe+_{8E9LI`(sV>yffEkT}m=B$gMl!sL&lNlxx_=Mn~%c1T;; zw=JrFvx7^1mf#j+X)uZ zUNEk$P>}sc&Fp>p`#|SpegeLKbn)ULao`Toj;IdROR{jRIgnU@Ev4PKOknxvD$yuy zQ@vF>E_Dn_G~&T(4W6!3k)bAo{CO=MT0C8&!?U$IjBR25;3smg+U@|9%qhSVdMztV z*f!9`!~j0_`pf3GgRGfPycXxCgaJuztm^E7LMr_H>l{93Sf-KRA_UB~_~o$Z#vlBK zR=%O3K|ZOor8*p%X(AI&%DT7hnIy-J$DYKIL@ zt>}}SKr{l|jlk^DnHHQ|V8W0@MTR=dsZK+Q1O?~ULcdn5t0?lq>#}5O1 z_xQ)rRt#*QhgmCl=P2QufSk5UuN1AvZkk5YE}p5lTxjS)yLgKan7=?+ra6~A8tU+r z!ZHEMPPG*X49@!Rnm+B2?jg&XI8fjX#kq9v$sH-ih9M@LOV;7aGBqwN)nd;?6;=)w zV@dx|EE~wdrZGGmTp+~b?}Wfs2?N2iGwo{YY=Xhu(S=D=S)vU;_V7- zXc3LOgL1M0zs0p9n5J_2{gkfR!e%x0)21Y~Vz9o98!nY3Q+qD`&NDmc@Pr0N$o-%; zpN&-p|1jd-QZp*&mt}bxCABlHDr;C|`{@cZh7#G*4M3 z9Vq8jzPJ20+G@9J1p|H>NSp82u(7WlCE^rm5{#b%C{sX= zGRjdt)_}(O9q3ftjs9h#(64kP`jv`8ui_DCmdA-IQAR}TWGsI(Gk}quz;|N20T)}6 zxzHpIKUI!`MgH!JARdbZ)9Tr=qpK4?^tWSUA3JIlR=zXnWPbexAl4vbxz@MowKw+S zRIOOlk1#Naye|!wX+*wdH8q~>@WJws<{DP0nbncJ)RWYOjeIAmH0@9+4t;$=vtEd0 zeatwsz?UZX^AtV0)>a{s*gcv8;Y+unh1fiJ-7@q|l;iL$0%2?QNLgXQ<(W<-7BjHD zEA!FiK-6>V(_nd3=?G|qugQfD2tv<#QkJuPZIv9uTk04r(`zpnufW-5Vm#j>!DC`? zw+ytPdnFYb7gk|VRWrWt>cQP%zNRE+yTzeOjP~W`P<|(8P);jrcYUE|EG8GQvmjTt zOu!yZDcCbYgXe3F>=comBvPBd!h|QwO?bA_M1Jmo%P7oJ2+YQUe!&>q#+(Mrt%*|; z_>pP{vZb9=y&NQw;*MK8`q{rp=vHUb9B=GpUegpzQXc*G9J0CBCKfUtLmRz z)50PjZ<5ZcS5l7?^L=U8yf6s<0oLVYPYj^#0Gl6H~QC^>K!{|m9sAPP9 zE9>k~i1}DpHxjoA^gQU5faSHKp#94+18ZsQ2adlMB2wA7A`z-jHVTu?uba4Iq!Fj* z83{C7P&{734D0J69`vZPW>FP(j4|RoG0YU0uP!HGyi$#utCYC8T1nto!Hgp9;CFn1 z8Uq?@VK=;6z8C#nxs;3K0cr-akGF+jULOrRHTXNSgIYBY-5V=#auoq@0?W_#2Kw8Z zeppz(McbrziN{3(%1H#0YDDQE=5ew-ErB(RAx>b=awcr=?8NpiPRwg+hh6*6p`Avy zD#WX?rMm+^5?J0%Mq&xwC+j5sbqL7wDB#wjWl<-FR*A;c+8#`+<-rsJ0h6nfQ8fmW zE0fnsv6xaZ7Sk%kVrYpdG|y>=$DlySTlA}05iD_zHq?m5J>o2#Bk$iV%Jfciz^)Nt zLJb>BrJ=CAia0#waw}Y~dv2i~d&e74seqED!qIi<374Y? zS({$Bg25L}v!khp1wC@?8cBiBij+l8{5s5y+%8$BQy1vmbw~wdF2vw6Stm!UMWdiu znPI93g{SI;B{-F=!JYL|Y#k$qQqK1mZwI4Kq6!bmzdv20#q;GBU{M(EOpnIXX)oGc zU+Ei<&P8pkYwlmymPaGSZZapY*Yw~BS*x`O#Aha|OoKwXB9!=JiiJV(6WXetj%9RM znBB(;E2g$KlX;M}n%nf=h=jpdHsA#;myQ>+)Qqew=%a(q8>3E)oRLbzI2BMU1ZgMf z^mOvzNGqPscjMXoNDQcEB6Bi?1v4!g3G#$#m~Azy#mpJas*}`zb%9@$L4hbLxj$-I_=C+AhQ3i$jdG&1sxIbhI*ER{JIUo*Z3j`(GC%M)-&MyiFzEHr^d+z8k|m2lcB=Ng-Yz7uEvn& z26nG$r2bvKavHg)SwfB*>jh-<3c<|{9F)i-dE@$Bt9h5+{d_cjtx-XaFJNbzig3eV`#9D(Jh)Nn2)u$=TVEI%Z${Ah9v9!~Tb^@n5P zac4L&?EMpPp=TU^Y8{L5l_JnOza4qaGAM+hEXw$?QgY}97fzg`*@<@S>`I}_fqs<@ zWCQy9M|<@Dg&D+H*usXreeDdE``0umyf@y%Y~-_g=C$CO zA2^c>yTGGS%gi`Ad=7e)HZgFbu)MUD17*C5ENccpfjPmbz>n3Vaf@90jhbFeD&QjD zIrNLtVWzNLp^yZR{jfZx^T&Z@YWu1us93%-l^$(f)P%qcR2V4iIZa}$9cae61x6g1 zX++D4KE(`HhBI4fVeOzejH)PlVm5J%#FbK1`a0C zn%VRP0hzzU^Eq*qtd&#MW6(LLEyL?%1^N~VwvEx?{ssw7Cd*KDQ z{UGWrsk!0w^qm&D8nqn6M@mtxxCVoo>#$>-6o+R?agyxw$7bp9%QyqZH#Z~BDM7_N z8l0c%!jt*ocueNd&fZbzUB!i!t;2AD{P~Z59vtmUo?+)$%&P51om>`pElRQ%a#`{D zC#mKBxx=zkBgC{i4i>RZYGj95C45U^O(5D-)!|ICmg)YUTOvc->MF=399DcrHyYZR zjgAmb5Q8vQB~FH1%tMbdHe4CxJN}^&!buffZ!B)f=Fe|#TtLr&o*KC}#K;AG;>VTL z(<>IQ#BWng_;aoiKTfb9A^gn+S=rK}8i7#CLWs91Wn%5si|SCNunwMZ8MG=cxvzn2 zqkUK7LO%t23tA}w(s*MzNUEfWUD*0?KvBYwdKf zTs;+*V_v{=1u_UMPa?29xlA-Bl#E83Tu$gEg4fPZYFi50)Hq1q`z`^_z2&13tChbs zI!m8dC69`os?j6)mCc=~6z7W^{++e(-|R0GF<4PwCUtk|{i@>D;WTk1C@i0uC4Q>N)ipN|w>|ipu$9 z_;s=sXXYERey|>T^^22F8W`%;P=}Ole57m-Mas?)9A6TOviW7q2C})8SBtB&2<*&t z$?>TuK*eApZB8?Ch9`w!fB%`6v=4!;HjmTp8}gee!@G5LjN_C<^Ac9N665j>@?de>?i0m2=*vm!LNR<*AJc@HQeN6_#manZmL^y3Am?T1;AW znWkc-hvi8GmM4{p#>5iQXqyVmuUlvQP^>BEW|8IdHN0pVp?hQ3Mt0P#6_RVQr8(do ziod%~cB;f9%^jt7kG8Kj`G;CAL|||*3lhBTn3+c$zq!TTxK3dCN(~QY6bXko^vhAl zpy1#Q3rd6KKjvs*)^M`a@yiI7t0m}O1Au|(SXGWQ^UN#_V^E_0CEG(I<;8MJ7?>VQ zmXYtp0rm#shiPJ_wN2N%kROcYU0rxI$BjqRh|^cXlIgryI%jfgrTB@giSuNw?5W^} zmh7Rgo67|}3LKuJ!u^dx+*~ig@K#EQMK7nMQJX>?Gx~jfDUKPdG0@bf%HbOPLO%B< zSx+}>c`>I*7!;Z4B$v$(y*;WKac4ep6et)cIeaIFbkI(|3w+~wau_BxwJ}8x+NG8@ z-)K-+`@#1jx~8;>0Nh$FV1WAbSO=U2!Fz>edb;4U3ec;m0!Nm}kg_-AMS3DlP25fX zyo2Lw)5dF6dp{aupEo~<2|@P#-E-z%%7gv zpFnf(1l;Z(&-zxJZxe_46(dp3r3UX)k*55tJNWsN_}drN;k&jjtRtI7^Mble+}Hr( zt%|XzuO3%c%5istkhQfuxmbq9gUDiS$wAACGBhczz=(!QB(=BU)YvFInnE5l@rZ5@ zO~8u8XhaxfnVQ_;Iswa5-qgy;I;R;Gyw9R)oEoUox#T!F&CFo=_ZcSCD5A`A=%YrA z7F-N&uEgz)0z4(g{nBb78kCc-JHkxKszo->c zn?_@D<7gi&HzXijKh_7!>7vU%SoY;DkFOMiQ8Wd^pNf$N%caRENk)k%w2XH^CJ22k zF!#x8$K^U++#;L%s65u!%67468$GEisKr`8C{H2KY>>Zu?mw3RZJ{_B`ZX3|39)+{ zM{2NfhzT18*s!dt17nEeS1~~Yx%e&bP3%M=lLCKM^$=K&#i6Rv$fcKkF_C2o#qr@j zSf;IyFE3Uj+RFO~k>%i*V7V%RqHpRQVEeL^EQJ8&O|(PAZzCj+Sn=4i#zqb*it5v zHAi`yqn^!Q$k~9f#EA)EcuL`TK`I=Fu{1k22>d;o=VrOMdj_~sEuR6y>R9n$b|mJu zu(C+`hqiNW8xMEZ2=RP_8aswLVbQ)nSf=x-Q~?Ec%#s89_`uJph3}b!Wt!W)#OjN} zr-S7OX|NpgT3Ei_D?SaDZ*_=cDnZ8^#i2(Y8%t;V3d`>y6{A#?f^{RKMuc`YQiyq( z0%nU|fKjb78VdMb50~4Ope95A#oU4HH-j( zI8%^Dk3}nbHB7C8!gB9&RtQ3aKZ~dfH9#Uk2u3#3v*Wze^9|TO(u};(@~l-O5OC40 zo&s0bQcw=X-Aw|FX{Yi>(*7MSceAqczfmDQwh~y{)7ydN?H!1*WG;H|OF0Tc;{rM+ zMYp|+1IaDz2ses9`T0(-&uI{0bYdi?H1or9B8BA`A1t#}49_d67=z12A)iAHr&@&i z@fM6LmoB>Ohvmrxmd6*3M#V70Yg@mT3De^gjfU0qU}14Lbdro4P0)WcD|wjP#Eu=r zq4|zDBX#oW-br1AI>F&qF{X7@;E#neJlPTI)7jn012(CM%_DYii388(N8t3x7%XcM zf#Q*xw6vj&u1Orq!IXkwxavQ8@04IeP~exLj6u^6B5XPE$Pdfcm#I)bXV#w%Qh=@T zmYiiek7=KPp0(9DLty#H3=^7`H)J?J{_B@R?AKI-2is_LnTv_-#0U!E_@cuu0f9gQ z%TuGVvug}gVs55o5v2rfrWXpsrCPDrUnL5qo!U44ADxPiq<$LQBm3~v?IF0enTG}a zq=`i4&uvaC=%5p3RNIBJx}$f03{I5IqnI#>sJ) zI20hTyts#*i4VMw&!nJSy|e~L*C~O6Ts+^$!SkOofaN^_9|V@~^nMwZZ?*P4%L@dU zClzu+6w3Ju%l{PUXr3}XlBB5^OPV-QBtnrXPm2}F5Ev|zSAnGiH8{V5hg+Mt#JeRP z)iw#9uh-%JA{%bZa^dt?HH%h)U0`5iSziO(R`CZdYRKk)K1vxE1DmRGZH)krzvJP-Rsj|bP(h>QeifJqy~r?tN>Q))6=*u)K$h>0K1y@p$ZnEXvHorAfYm<%`2( zVUlMqPuti2nu`hf91NBZR*Od6NW&ZL2Yp|=k&nd#)OhqAmt0FAo14eyDKNF28I_3x z?r}(AkaM7whQOo<{r~KpWqg#^_O?H~|8rVeLUc0jp7F?dq`14gySuv=Ee^rm-M!R+ zmfE2$rL;f`Ef#`9k^9|yKa&sxf(OWl^$SfSlV`SEd+oLE8-;BObS-1WmXt-^I!b zXxw4{cH<6-pU1cfA1JtfoR>8Y=q*mdLs(wf-vWi?`C*y9=Bj1XIKEQ@{LIIL?<2Co zG7c8RozDv4`abgc&t4oXUnj79WkeEE1`}u=m;silSr>UPue6EBKh69Yl4yRtZlP~F zET?TCy~^tdkUE&=^6(l4)+wIb?p?ZpP(4^rv;=KyX$hQZv2&ad8-^+|uB8dBD;VK4 zNy!@(%)a(%-YijM2<9}lu*GdlM?3sR{u?LGO&7B2MWy(13f1hSz^udCp#~(zavjt! z`XtR|Jc612@{%EHq;41B_Ff()0&te6TTU>tDyw!8kROAnZR;#djibu9%h%PHTR%pDI22oGL&=a zF}61O8Ug{+>Jg|lD>G#n%>;(WS8@ij%b80tC@|NLH6k>GJ9wluchU$YYuKKuPNq+L zl7M&xgE*TlFa3HkIowZcXkik6Uyy@LqY|22A4cegSjsQO;bb+gZ5QI^Za)6mOxC%v zQnakDL42$n9=i-aha9zv>M*~(6@N_NVEM*`MEuk*9>uJ(9N$k0a*1j&zNzKKSpv(4 zYQ`Z-DtLPu{A@w#u$;OMSp6W`>X#n*Hkt=vGRU;_GQ#gWqS9^zb^w z+4h~ZX1MWPl(_Y2C;`+6OzJFVhAXVmO&y6tBVDX!Ic1WE9O!c2)JVtfP_GW>8vF1| zeK&f{SLJ_e4`C*y%f1MtZfVmA~F|nE*KXmdkN!5(7OrlRp%r3%TN_*4W;C*q6LI7lnGvN6 z3AG(PI@icx`OoD#><&2fi3AZZd*idqWJ8n)!Z4;`0*v3(86M5YCC0V7|*q)4aG6y%4!(qu7S)OlX zO}~aEpx?f#4auFHNbc|umT9A3pXxDCN%?Gy(|J%TR*OjllxNiUqI9e-lYtA>c^_Rq zmPyE^mts`nV0mUaF1s8R&}647IV$P~Nd7xXC&j`FPMjmK{5Jvd#tvmRXE53;P}nBL z)=oC2sl2Ky1$ch00ET{zUd6-O5jv!9k>biW5q?^%K${wJ2n0D_uT#~8dWFfxID~9& z6B1YkXhTaEfka-8H+*^tAFC_GrC+@ljZ(fPw=LxGm>8K}vwU&23fsC_Q9N4l%5PB( zay};4=k)s5kp1o>n>-tY(y!AfBC&jcfx+_0rFtyvtAis-$PArWuSKA-vt+y+$5--L zgJ0?n5n5K3u*P=!HL(UBPEO@A%O^&Ap_k?!mj91@|6q?c9hQ6M0+t`@2#2F(H3_y& zkm4dam|#1nvwV-j*Fq=j9lALs9=8Z+-TIi5a6Q&N9t&&5pn9x^N!PuI=Up*ghrg$~ z*x#QH#>s)0<#`x0xyH4B$?N)Sf)A@YI-ytaU#c2LT7%!$&)MKd_gq?MJ&uf(2fu6a z;24EvL1tJ!9E=;EhvDN+Vg!eBhk&A9363t3jIM-TM1V}3g`Olsb1&1%s)vC^?h zY--QdQxB>V1u;MTjjgk#j$kb+%5ZR+5vK_(|FuGkV+#zJ+C__m7%A5X_8dQ7LN?(> z<>gp2QpW1YsRj8>5@$Dvm}{0s8If!GqWpON+PD(2Qf%sFW3F(!2U<`pR{rR*K|p$B zjVM-bw3i%Khu4fEz#aa^=m|bq`#+*I<9maAte#i;1UjPfqbAi!MKqG8Gg33>&3d}K%8A`VO_9gFo< z-8kF8%iPAg`J-6vX~y|P>r)3+Hewf9OTHLjN4Ls4&gM23YaIQ3UF)cEc8!`jXC7Os zM4i&ofVS@Ar66m^Yw_!l1l%BCk}@;_wY~amhagtB92tRGB^@|NVEMII~EDy*=#cUrGN;ON=ym_^l2=^H}j;pNy{D%7Q&aw0vNSIPBxIt|MFfbZU<_Xw|4hH zCd|FI^s~Zp+TZzJfr4bc=c7(Z3C6TmV?|#ZJ|7i_LnGZdIK+#C{o}EvlMk~SI?<=J z31!HkLClX}F1jzO1fpIM1I|rxvyAaWF!tgGjTt1SdztanO%mrO`mv}@3~I)!U{s1; zm;>sQVEM-xHpD!~Z8gp2e-tml@dH-i4`q(9jBkQ*bVURlW>I=ljLwP1WUoHIUWNP5 z2+J48C7^R@VNT@5;&^kJNJ<^7+NDQy1XA4_S@efzolg*S^)MB5+``5$D$_adD%JfRYly0f)g4AESBxK2ui+ z!=!rAxHTpTSB51ZxlU}hTG_NZ)v3j7Z#^vkwNQgkd)hI-sfG2+yvpPU9eWj>TthqU z(V?%wuE|;do;E-aZmP$z1$wehYgm@{%o+`Tn6JXoMG9QpA`a**hv4+aaMUjSP&I-k zK87{2Ff|NXhB3ZT4Cg0M@a4mD#&W#>7AVN9xfK!~EE+!SS`r!o^H^6aA}GcH)n8A%z}d6G(Q(pxwu9C{qt}ilM4Os2L)ehnI&gR5{z$WYnds@ z)zu~xj^RC%DG8@z9f~16%)nn!cyL0MBP`!P6oyr!rI`SgzBknQcvvev&XX~9pE=v+ z4wi3`XLxBsJVw>DvBX2xv0K+m4k_LI*q5;1QREYo_UdI@S~ ztnk%vE500UMb{d7R*(ETK#Ojk<7ydM4d?bw4pejJ-ZnHZm%LB_jw66Ov%3LD=jrkH zYO*Mj3G>%VEq);z$)Oo4OzLbzi^@7wE~11#IuaILFwELu@_pe1sHJF7UX8&m4cIX>bKP+GjsY`W^ecGf*wNpHZ^&F) z)6)W{DRb>3=avPCq8;ct|STOo1?s8ZN~^I%`AUX$_br_&tQ3K z84i>ukyu;Bh2IG*pK9pAxZ-x!Fqk&(>F=)QRWTEiPkY!gsi6r<2`^XAn9kR#Mb-Fy zsRkD|D6w~v9yVhn18uWD62*ODW-t7xIYvRG7Wv(O4^P6)5sCPkJe$xg&23EHk-~EE zw-1(S_P9#}bvi7cnyX_67V5}a)2Dp35^_``P0Yijx+YfINBeZTmeaA@jjUsVDG5b} zqIpF%KA&vBpR2UEyje-sSqX0M7UAE0d|cTfz)#C~s9i>uuGB)uxKa|1!(*eF&N79Z zX2o^v(2(o3gZ%E{emxlrKKx8zxvSs!>~5eRW;e}wFCfjCHYZ=kvo0L1!rAczmeas^ zN|u-$j~kO{B;XqPxURhu(K-p27k{9a}VBWn*2M z9qsH!CYAwM*2<0qv-pi`?t5(WA{o>*OQ^7Num(R7Xuh~kgY)au_-CyeXIHCnX0-}` z(O9J*At(Qq2EfQSYF2c>7Vx(@B;)extEEph1g^%P+&L=Nq zC+Wf$Of5gdLf7J%il~lM;iQ%UOvBHDDOrN{K(#iZQmcf&p|+HRe#LaN>ny zMhQEsU;m-53$V|^QLL7Uy!%C5`ad&}g`STmT2 zhdL#tnA};3ZDWo2W0@Wo)~ngIAB_te6y&3V*^6J=Bx5y`6pXKJmymzU@!dQvmJd~- zPa`o3yQS>fH?L$R>Exx5+`^(mO^pKodB=2}>HAx|up0Y@Sn=%`D*;FgbP9gD9WpIH z=u}FZE@w5WMid0Ru)O>CJm$(*r{rOD%UI0r;>@m!(aM8vl^v+!)uLMk2WAE|muaKl z_}U&MH^{;MIwx4J;KuZFE{rH1i)jR!rx8$2%Py~~?7|;plQ@|Lmg!uuYebmS#L5od z%Uj!!XqDx9BMuG;!ln@#{7r9vR%=nW6d(WZy${K}4a3TjI^6p_1ouA=MvJNnrb3ew zESHH^;P}8K4wgG*hvhVF-8rSA87xyks^ZYT6?1@EE>G^k!7@H45ZFbH6|K0EBYH^m zM~PnfjUm0c8D1?4JE`(aZ#!0Yu_E3sdF1#m5GaF-j0}fTE`UlQWdCNi(pmP;_-HYH zo?*e=m3G`(EW$=eQi1{PiSq;m9%G0 za+y6kMC0xm`x9Zgeg*9l{Uo}OadLaz<6(Js?^xDf_PF(#!t%Pu!14tG%ah}y5fKuc z56drNgSTiRF|)l1KTfyc*SRMAFw=yoo%M(|314bI5D;7d0Du5VL_t)CK7F%AW7!`#b z<7pVNbD|Lo2N*E9tDeBI0*%XykQgg~QbwH`1e3Cig~Gpb5M?I5N(R-kUA;}*M}!! zcS|QivSf8=X^K@Q#AX8g43KI&k!X;=72`i5A{c8vriTgw%U^_}c|{(ES2eN2;hwGz zv@4dRlTqn}MJz=Gyh?CWL6m*gHg$O%n!)ik>4%c$Rqm{jR`&yusGRY#tnA&!n7@B~a z<2fj1F(wh$(t;Xmj3zOP05kb`b953;4@$zm4qnWuV@KPfQAo0?AQkemtvyeF(-}ne z*ht(B!1Df)4)SxK{uVYYJQy1md+^|&=ZED;UNANdwQ!kbGIs9dV0V3+!1C{7U2vIX zk3Q7p5|(!saY7gxk`K!-YM`67k(k>p3jdpB!ifb&oLFeY?r}QQDxrcz6w0n4UIe^y z*&ptz)T@a0vL}Sc@3FnwZhHmJ!uT=ukRQ z6{yt>)FP7uUs9|LQ#(2_JBum?bMvG2*DV5WeocM&xV9T=NhBNd^xCy$VGCx~C7@jA z$)y-G0uwHOG)L*H1AcrRcvKevGcH^wAo0^@5V13?|= zXbcYkFG0}0#4rNWByN&_-x!vJGyN0rQ+Gf1wRT}#6$fhjj4;Us;IYQwLV@=wcY6y> zD8-p0aD0IY_cj`FVSx=Uv*@Y+Hi0k%zke44oPRVdr`0U?X{LSb7@}%ee=jw#2EWv0 zCR|?@faRqzxR4x&zo&7TW!f;=tFrmAu&gG`aIF2KYnCro^x>x>E=WT|UTs9a+w+#1|v1I6^k$*&VE`0f-u8d{WoK8dxdBHTp=Kqm0#S?_&^z zqE!tOhP1IFxt|>~Y4o*YLN_}B1Q{zmps+y0W|UxXlW5GzsT70RUwb+G>i{f^Bg4|O zbx{fthEfA0R&K-~A zV3{@eDYL^e(^(G1=7~bK9_3WNCM5g7qCNzaHydzjz8Ou+YOr-6`FX1xxW7CW8~fPN zw!8($#<-Xk^%wn|u5xgAAT$9f|eJapILsR)yb|X|QCl9_?yM;ENVQBBlcW!R(4M?V34j(9i$h`yU`I zEEHCi2-RX0__%@{|7-1IZ)|F7Kdv?R}eju7Sdf^9Ozt1{l+U{yep7T&1~w} zHTb2b7guWf@Erjfhg|$t-wHhGnds!<*gn95Z^l@$Z@3jM6Q9*;ZtZAeW1QA-IyC$| zcc7r}nM@pp(H(48;B4P8=*JH?~46<-L~IN6Ris#7Qu>qZ$7r zu>8wx6MmT!g=6Gkw6wnoJ?g4ar-T5--2%jueJ&wJh!S2tnpTX!@U{vZSs=%q10l?C z1$)K#YpDSvn;Doi*t3-6(K5v8C8Kek9QyvK??GE%)Ehk(D4a@#k=WS6iCYAgA3|{; zGJ^5IKnx(!pG3b5(U-GwX3?7q=2X`s9zVAAV{+vf)QeLiN=DX{phA!AZ(==BAt4yv zOa*K);?@c~7Id;b^)s$e)`XNlT)6#bG_D-A5m;8|2+R077=Ntip#(X6(RCwDZ=SLc zy*VDS#Pz5sNiF?2t=^m_zmms!@G)iXX{M9Z-lO z(vy_z=h3o0!c_ZPda^nAT_&)6si7a6%e(PeNjFXx_n@#wnGee^W5c9Z#$K}Mjc%>Q z|Hy`LZk>uXoL$)_#?>7n9GR!W^5IfU>=KHWRmCWipdbs29Pths3i#~`eB@A~c7hf? zO6$pnNH(u_KAi2F$ZR&Rbc@Fo^2S~wu)MRn3yq_-7*pNIvO$|WI8ZM^_0~1_y{%yA zR!gwI8i9oReq1E5yr^(ALW6_f>1V>{gNCGo3Nu32XVbB7@36J zt7@Q4yRCRHJ+jM6rPXDs6+8@U!@)AmC{tLbF?)a=b4bh`;J}=I(U{XG8nb)GAh~-i zf#tYtsu*dFercr`Gn)8N$!pA1Bbs1Q;gg!~hou-b9^L52fH_c#kzCG&8F=_cB*u@R?NXpyo>iIHtotiOP%ypT<|LmeqD z?%)BR@^F8<68AS6$wp_xy(MwDJ;%ezW=%-My4Fq@W!cLOXf~*Rj1Fh(`*5DT{;z7f zV3YFSiklc}EY+yA7FTwK0tbVz{Sze&8X?={b+QOdYhVdTgWA#XBh5=Qqj)mV6-1Pp zkN)*^*gw{S%!_oN$9G+#wkvTdXU#`L(ayYvCX$0<4Q2wG2 z9vtA|@JtmNlvaSpdp6}C`Z}C)0e-0E!9QdyoT%r9UoC#K#{qdy>w0zgoxtr40?F41 z9A6D&iy0I@4vc%pvqM0j)5?J0m--g5M48X6lEM*v>%C+fxF9M@ZFeLR87=k zLZfJ;PNPzMK3tp-kA=;nQH~rAv@#*oB;rj9ET|iYi}WCo0hUu)W;q_4D#oEVfm#hWzZ~h36Bs{yXkR!sT!9yNeC^4}+xsqtg7 z5kF3~;)jXR_9!j8DS9V>!*yYh=<~CU5SAE`IE&=RteF5f*BVOE$T_ z<<+bNgX(eC_UFU$n*fD^@K8)G9gWLP{79)s4nsA3Xy-D$F}BSwQ$DLjSse$T$5 z(af5jdRDNaR=g1oofPpg3QX>1$MoLzKz7+4$S&I$Fwds{?(0Bu?`R~a!E)EQ%x->< zD8(35Ee;BCWCpn@3C7oOWmd(=s=1scyG&tuStVM6;l;UzUTm%6gk3IVnHFk^-KK<| zDKAhUYgtU6tzI}cWi+MZC)!5j(sp=exDibJ#1xVcHqI@)iq zu;IpnSX`Us!O4$(7*X90lY*bkf|~}lx!yqzmo)QpzJU+J3tO{gpWoD=@H@Y)9{=v= zV0qDCDTG2EyMCs%rgh?#Ohcc}gSkzu%s8gNYs-LAC(2NK6e~vmh6Ws%NPu~v0e>vf zF%A6l1Zq+?DR5=01lM8LavY?2L<00#v&tGWzh~8UVhcGWPp%P%iPd7+fA4SY!x;j-mosIH17O@M0~mMD z0LB40X3cAz1JNlE9l3+c4~l)CSbJ#50*G_Z>|^rPK(FQ2}!s_ zK>06nqCDEgi@CL8Q7ujjjfltUdgwr=&21yA8yGCFYiCC#xAL8A4tvu!##*sDoN7iu zxhZWZ@ZrxIUX(X$o~wKL?T8>$^hsIGGR-V+>}$n#ss=zHZgPDKbTZxxJq*6jvco~l z&e>w%p5Y91%4xkS zo!=&vn8EU_x{p!CNQ31-qaTIk9o0QJ)6j>DjeJNhW#_DWX+2At z$e;S)MmJfxBow>gn0AlER7*r@2I%PN-l+j>ZYYUciw_{RE2iljn zz;BiYOfRx$_`^bjF`=Xl=V_ltBR>w3zm;YZ--iASx>p!wLVP_=iwB>F0EdDwrMm#Z zp${ef4Dv`!A>*Gmanri}u4Q$vwd5e}Higa`vo-=%3MxY6eVwY*2zg;p3Bys?B*UOG4t&$vi}M78ul0Bg7Gv$;m!gVyQRu#cTJ`EZcj+Wt+7eCMU{4FY0H3zuzZy~yCY;T zE@hOmG4vkUgL*{kaJiBnCkZT9FlyP&Pd+Taf~(vQ0)p-Q$Y3PI$m#@-NekPYT;fA$N3T}oh^0oPX& zP@5lvbIDHpGu?x8lYF=~B>{J*B;pP^)ZY4-HsB=S@-RP6e-ev*aS_+cpq%Pv!B z?nhv`PXLxPW|y;;Vzka&ijmyZhY9sOC`%5@RPCmSU5!s_xjD_{+F435s^wgYF^d56 z_jSo;OF)@Ap7rQR&DK|Y7nGG%4R9ft`nm{ zIVr1sOjp17kUKC^I0y|blx|s{lRou(EbASNE{P_bY)(L#Jd1M;{OBKVV$k(A)c4cB zxp|xpr{}6!nZn&KL(sQzIR5Xw%vt*eiArqg$m!{?XluhqcIj(BETlD1)7M9pV8X%* zffo_PB9g~_q@N28>|O7_poZ%zb`Acl?_+D{*W{q+Q3#*du=b|#Le@xokEvQvlw63R zB`x@w_AYfvz?IG!pg0Q{r?$%g$Fv@|H5VzZNVMci4w(7_nOB#|K6IHJM9((#V{zG7 zBxs~;PNpf z<;x2lSll%lKa6$a_WXwqerd3Lery8%qK%TH0}Ycy67Wx-1f1!afNQYD!hm^i56-c#RP^)P zxU&tYU=VaFKAKb%V(}odSZ|Wz)*c@2d>Y1Jg=RFa>=5B_vIZN5YcQju41H>=(W;yl zEz9W8vXmaJOBpbziUG45TCuf*2fy}DWaU!VX@~kq0@8DB_6n%M_T$*L9;)nP`lrB^dPyAlLKcq7=i$3`$m1^57(aiQ&?Wm%nF6@*{-zdAw(??$I?N1W(0I)n+V63%h0HT6v3gPPbJ+*Uzd!m zZ@r6}aH6#zSK9d5d|6y325KSityt&SK}8sewbdNBw^4ux2MgldRw3$?kufESOo~gQ z2#l*`VztZrdfG9Ztou@7_&c}W3wYsJQ85;m8gpysgd$d!i7oIBJcl$zn384%R@ZPM zB?B0zW&~pzt+Ie|^LPfvDQP#F^!YU+kW8LoDmj4C-kHnwe7IcKhp#GoP~WOyNj}cb zJRF<)TX1Jd9PZ5XU{WIsLc?&428`^jW8X{1ZK2>$%oq>}{1}4! zheB{5S%Mm+b=dNWklnDP!7}y=v2$D$T2(dU!ivnWe0-`EPO}t?I>+MQ1({*_)|7ax zBJ1fV4LrCwf`et6S^k1Nvw>x7*w)yM9Sz<1xU?NAver;*>l$ViPFLroi+%N)AE?8n|(_eFC?T1zbw zYLzK053Oz{K=M5GpF#M@DZ!UBRJguFh@0g3o?0uy&^A(-4MKdFi}C?lLtWCY!lK%- z_^Wd~u687ICD7FDRf*q2R9Ng)2?`_`a40rH%5pW;{I2b1+H;HOyYkP zyl7(4vWzxe3!0ZT;NqM({5#K$?}mEdH%W4pyr@>mg3Bje>C$ok+ipROO~Cd!x~?{? zB*dw0GMwEeM)guk*3`FaswhWTu2s^2bIbL(8-Qi%;J0;v9ZI@qw6f#w!pyLIXIebE zlGk0F%&~8J#^d_PMEue#9wRHqLO~AP7P5AmNkm432eg-YSW})HLTcv2@>>Vm`LO&Z zWt9t|PvIz>?~uS{0a^!6`g9Q^3)e+*n%z^v-;>zwU_`=+6aV%g|S8a zy83&Z2x8Pi^eb(}(GGqB%|2Wk<;2z5R(wCzf+a(295B*n4N7KIbYpQ94~{kRA(d>L|B&%EBGH`wJn4074Znsd zj?k=Sw{lU>WNVvM6{viY6i4PtadS6SLkP#UJrVeB5s#^46!R#U4K}@^r==J)!bqqk zJk<6Zu&{m%j&}94ZvU%2;&G`%Jhs$yAzmwCssV2c@K~jM?5O0zg~74p;KpP1nxD?( zu^Y#n#vZNd?o!5pUES^M5V@kG6`p4>ig;7k1{(pJUA0`eO2F`PlX%Q1W&DILK8&hmW8M!>diH*w8s~qD zOE)FCcU*&s{f!8Z;LMOBBSYbKgu@>bO4fs5h{*b1yQ~5uI;gQ`v<|;5Q{a!~3iNAi zK$261b%QN9KHH4TOQ}(c1;ZLzS+>2DQ-Sq8oH#Xs%%@2tCVFsUq#xzuWbFSJvC7dP zUI)KH%xoO@q2z0NB$#ow{zFre--^4TkBrEN<$PGqk5{=dI#eR;Zs^AK z&Vgo&)`9CWa_VO%eL6ua`EaVV7lWJ@@WMjhIfD{9riJ`)jA#@^VA;w_F}C%#qExKn zsmC?9hzCKdcy=4~wEDte z0?oy(N^EW5#-+{#_Ii48b)thAIV`5YoJ|!YCbKHWV@fe*H6hVB3oO^m0hTkAVk8q_ z{Jggo;5400Z3H{)(xJ{xGmv=(N_MQ^`r zYh*+iCYG@wwQW4Ekga%4P;*yK+fchte}_%|6G{C-#B(qRP}RZ}rZ$@c;`b<|UWHUPg@fLl9g zPXaZ1Qc8oNk_96?JeVat#DWkgB_Ys~&uL{LOl~yo&@Uq3trmwuL&B!!qiD1mVt!hw zQV>g6rNJ@n4>FO%s#7B-e_t3n$4B8rV;{TeWp>vDmJb(oL7ea4mk-PN@#;24>NeFm z$%vG$30y-)`+#E*y*g_WfMt61Q<;1$=R<3Yjx8AP-k2`P7R{bDbohb5@^=#~Sk=V@ zm4x@yKZn-a6>~{ghyL%2^*FmqgY)Y&_-UaQQ@d%{Rd;AuaE^^-FQPV`Uh&PX9F2e4 z(&ifi$_UHe?4=li?D7nak6&;);4gWwu@}mytfMm>3FMV*Wh)EB;}?56!?H8Md;^s zl1S`n>cJNz=2mgy1Z{H6V0TSnd0tWsc#k-^=EL$E2FsF+Y8b6;_{b*DhvhtY`qznh z*xJa0tKH(W!!o@(tIu7JrBw0ZNNErJQX&5P4!)0ckqgZL%ioT-Vn)lScjlrEDUHf1 zv2VNyrqY7q2lkJ%J}kxP z{iITi04%r6Qi{P*^Tv5j+;w zp5-~vjE>bPLhmMgtQs!Ep=lSo9PZ8|n=gUop9d#mCplP5t7S)Bj}{8% zcKYF4H^yUCBJ8c@X4mCs+IVq!g$xe}ET7pNfl9?5FaMb)rPs2g27Aaj`f8XJ`-fQ3 zthAb0slScDT->6-!4^JTp^6V}{8&P3?uC*0`%8vB#wizJT9N~etXeWYLOH{v3=(i@ zGK4~21RQb+q>;R5NCFf>?IaD(PVnRAqy$_Xoq$G3h9@QtYE?Dh?ipJ;EK>(R{KUt_ z17fV5pv0_!VqD%E0vrj#56i^x#fSs0d$g{Z3;N#~$99^#U)I||4wfI9MWub7CKgLM z6lh<>0FyitWui6syPKaGwa{^uW_QhCxh4n8?P8){xxIWoEWe}^cW7t`hE>%wSYF?b z%FN~KEa$l(i$&E~HO{4JVs;MLYqkw^D+jceX+7DMs(vi^CP>u@&SRmLdFAa#-eqlCwn+?ezTa_TpwE*2BS{+#PP{$`vqYbUdMpXhuHA-Xe)LPv7q`# ziWerYm{-EBmtkLX53Y9Spk`k^54;-5J6EEX8(@}1Mx;x=J-%G**~-n{50uHxY3{(C zDT%l~E)k!0_QFBmj}IUH`-}!YzTO_236`mYAAX1+5ej@yK>2VmYwG)Zs~A;^i5Vcf z?E)<9AC6@Mco^1P4zrGP4-5?pK?%14lUi!ft*Q=sTeuWHRQikTI7+#@koqK-MM6j<77|4G{#EC)D9! znMOj?%Yo&L8!oL={0~zU$q)rHW{N(13t@(gPXfxxm7{T~9XU7=Sf=u4m&Zoo_Gh8E z_jw35kC(A)>)if4i$;Lt)+QVpWyO(kR_q#PK{W!*Z+eC~?Hb)}kYPu27p~DpPXfz7 zk!MyjMw7{JAU`tCt(VUn1(9Tv;p=`r+!~*VDW>3d0Qllydx!u``m z0?W#DSY{4>-)401qdMbcJ?bigT*^a@k_z14&j${OaC55?W7~0=Ub9w!Eko?Mx5kdY zX2+mfVFS0WkhNn@3ln}C>B0{~TsSh&i;7M;Gk00u!o$=st_@AZ?>+pu(EFi-UshO7 zC9u4pXbhyh*C5T956dqn=%&`YoEm$(I)z>!n|GvL`R7- zH2l3jeeLE>Jxv%A`o)_x~Q2)}MEcn#YwHLP;{LtKwg;hK#Y0;z`fTTCzL2FWoAF?r@ChzI*Gc>sOMKEsc3q`Lc+NY|+rQ<3tN{m(A&G?qU z@^_zDuy2$F)r%+ybibLVEd@U0nzf2p71&MY%C&(B43X(`o z%8#dqq&9`kxX_DCP7>*`+%Z0zd|WCOgRkg8yhirU>4rWJEEforUJPlV$N#3A87$Mx z^2e?8(5v`)=5OPNhhk~jSX?47du^N@CuW(kWS|4HSfd|-SyPp9ka0ZtCzV zeCnT1=SGnj8P@bRttR*X2IB|^t^9}Mo9qQmiVYB>^2N_!L+^mikmyYOx&yQH|N%O;|m^f|R9JW=e8vnFGfrJ8@u`3kQe0adDal zx6&Q_;&E*v8AIa;D1ZDAmg(B~C|FKy6pw`^qM>+QrI7is{PGs!I`JxO>R@N37y~P5 z-$@mPycz;t7&bR`v5EOeSZ=|I#;4Zv;q!`axYg2pSbhpvrW(CnDr<0XtOZA>oABdI zGlnR&=92(}q zf&O0X?&-s>9$p;i?ZJ_OZX6?@zc7|;5aT>#^YSrRzCgy@K{CD;*YaX^RS)XK84!{~ zJu8LfH3XKa#`3DxcEoA<`LO(g#xgC3s1U2f=9X@5gQjahAhUdq%=@GL?YOa*hr0(t z@Z}saIrKeS)|4K~i^fW^uAiCA0W*G1HshPACiJeWgGRx7BQmiROiXGKM%A$4fFHc6*4Ek zujxTaz5Ml!wR~89c?(R*7&%tA;b3`m4P&mXvh(BBsFfs|mH4%r57+vU$w_OZdIVrO zlOhHuBu`=an<^dxRPuNBcHmiHxptBQ`-WKY{X`2h{}|R(4_O`rWu~ng5`vlKqH*KrH2IlVNUmU6gpbq3iSW;thHDwE}FKVZ_}ZMR@ST)5G%J&3gR1{-J{( zh2=X-VsL9=9B$3a?BMq_uzZE=#lJW9p;?^%^}1r_!}806WxrX*G?w>vwPR8}Gt^Rk zz9L2*Y3LbP)`AQD6LB>oEO*TrmZ{UyUp4(`Y11&F_w>0KOxz zJfmY2bV@S*KggTofp&4XDyhNMWHW>1OACxxG1wl^T#gB3m*ZHY->i;KtnK5%@hP$R zCpiumNTkfBj({#)pY6ttWEXDCaxq}OGR1{U2YOx-AaHN=j?1eTX}HzOuWlt(wDAjl;Vs8d#tx&3T7F_VMktBVcT zJI0RLnMyI@(n~RBcXVMvXBXD=bYu5GH@+U}#?NC36caH1eViM|M!9i#fEW9Ec(JOL z4|5uLFe{5e35Df>rDI``J{p!sW`O15HW7oV{CS+ad7kDz<}?Y=s+0M2Owi%e zDF*ztOoPiSbx2ua!kJ_{4h(f-RaY0rHH<-#Lz15v$^$ATg)K^a*UgXX8DTjm z`M8!3<>OLn`EaI+51nF+Io6lv!!j2%gIC+Hz^)z+d_gwcodc~X=auEj=S4GU4wDEy z8<{b^x1AZ19Gqyu%_VwVC-L(%3ugCqJW&-RoBef~Dn_FW1|{{f8VsVH61?ep_I~ z+M!YCR8xjhZV?3ha0Z0WWA&afV@#h5)yNHx2!~wCha*aY;w~u~mnL(dmK?J>oAJLH zHr!rgA+SR}QqZB#EZKwe6MdM_APyyClyDiPP>};3eJ)fT=v6^x8YI(o$W9L5)rtx+ zxVapwN9b^Dxg2-)N8s*(P~7{X5P`Wc+}|rC5U0ey8w~{D%(%16f!hS!ZW8#vG2Mro zWE`9uorultyckr$f{)BHMDoJls=gEo%r>PETN=4=r8|L8vcK)D?Sxq>cx2*^zL$}a z;b>k%hV>IA_+^b0cfX7v&|DBW{2_3V#1|oWu%GurVEM+FMBE~C@z(G}cH8@Pdp{P{ zj6qY64l+SR-bqg7!}3eqjDreda1{erbJ)d!IzHJudySuGB8UJ;=_sTONy61Z37KKJ zdk$L50r|L;IzIeSl{yC*@?rTAu*^j67)`K8di{E#c(N3F4q9tbhx{Yf>JaG zevg6WzsS6w*&-T$ZxZ0%fpC1gP!4ajfI;TVDE-kXd1zNvjg7<2_>GLYKNcI9tL2#$ zdK{S^MaG*3?W!qI*d>Qj&d+2KocjY|5R6(8iun|1RG#YL^091?1e-=`@cASYew|~% zjkRWAg9Z0j+i;fv&h5pqxV6BETXPBEBonZl=_P>U$LWvb@zan5eA&y74Qlr5#E%G= zALXHEnGee^bMY>SCPj4E+R=`ET^;CDO3UhqUiARry1xrSF5@AB7y3eeKV5`_Lkl4+ zJQ$JuLL`F7X|xc+!wV6pD#U(YLDu{c#MR+_m^V(@a#19fH6zr++}H9LyI@`VKkY#L#IgenFH%jwzW*6s`jC6CH3XMp8Ec9}N% z6^qKbag@%n%4G9MgXMu$P2fj_<~IpvY2>2%zDjvGT31(L&r}i4ZRG)9gadoUxVuFg z0Hw#k@_+z#l_wd1gJyaG4(&=QOY%)$E@X@Qj0XxS~vmOe} zI{dXli@#TCae~0}p_zK@o}j|gfpYX~tV7dET2wEtL1DKXZo8BVhm?T56g5g}P_LX8 z-5O}g0Z>VxCKTT;3d4!je4O7T!GnDw;8QWMM*-|0hlwqE+}{v|yK8AS*^XOFqj6(V z9B#~a;W~lJ>$5z#Hp7eSQ~kI-H6FJoC*sa0iTHOy67Gyo!X>hf9_tg2uR3`!w{8q- zc@5CX1ni*q!E-dyr9E?cyJ9m4(X+0W%tbAJoU6yh4QgE4q(I7MDN?tJado>8H+Mf9 zEMFg=RtAuO8$)Rs0D^WB zruKGLib3lS<)T-6tw0x@2(rO8uOdZqKO-!L=dYVCNEX7FXeIg(U|5yx!l^?B{CP-) z<9oH(Jj;xQqb(TJJ_^lhXprEHfKC+xp&*P*h7fiQNH>WBFL@Kq>FSbxu7pj7U;8HD z`mjU}meU#va)4z{J}w^nt2$BKpkUUV1)c-c-{e~7+`zI$CBP~I$h*l{-_^s8+DWQx zMjLsf{2~ZNJW5O^uQMH%dvmZnZ-5;?Pd71GP9fm3Z){eBl9=qJ7-`w%R%zK~U(T>x zKYJ+#2g|ZYmS_1*B5do#sbNfQV1xVzxUmDrS4eR0Km>tH5z2ogc_~@tY=29jG{d6fV_*XvzM5pf zsl|Hyxm=60t2H>cR*ehmRRj`M_-l;{r&cO(a-|%981jfV|-O7m1CK_>kp%G_R=*a8V;GZ>WoL{fN z#Z503mahgH%&wCC;GeGXSWqnv(Mr)<0nGGoknzK@s-_F6ZT(1X?#J?Sam)#?z*CIX zG)wOHS@{huy9;KT;bK83RML<@Gi5MhjRKT#D^c2`W|8EO!>EXWTo?*bB!O;fbxr2) zdx6p#Rs)~cpJP5OzubsY@UgzFmDL>1Z)Sr<`Ra@X=zx}p!qK;}3MpHJ*gH)Lt5N*i zzn^A9Tuv2+5XjiO#)dOT?7*K!;G`1wkI8WFs0eqz7vRnjvVa{5$4_e%m^W01&J9E; z>Lrs(L9Y};*hcg+0FstT#OMUz^TIMs^zg6{jH&Lxjge%Nq_8|V11$HBe<&Z9mRW9- zfb~^kVONNr=?XOCLZu?_gMu8CK6pdzV4nobK?FdX7146HDBbKBQ`ZcII3iCT5F#Ri z(Y=8MQ@h(St*0#$EYnhqZzprGd}Xl#hbLK(oL;va{m`J~QKcBIa#@Oz2Fv7QF;mW& zWeN=jSvXd-vN2fR+<~qiymz_`<9(*q5DdGKkB+sJ_-v{Mmo`gqZHJI$gztPBhI^kE z$~7!sBkRCSV$%$x%4HOvixv zECIyRD>X>nBFELOGF;m(!Hu0_+}tI?t=(j;-NVPf`*;lW@i~FyFG2|@hv3o!=g z3RLmxF|eW)>j_MM(bec@7xZEcJ-?#T;L^(TrItlstp^se)xO(J* z47>`*iZHyH5l5z(@Y{SNPAxIA(v*KzX>oq7hGmvhHYo@wOL1kJn0xPE6f9?G_)h5* zk8O2aD6E&f9lZi%t*&TO;SX|{zf9t6{r}J2S%yb>bpQXw|M@*FMUrfGH|y@c@oaVz zin}|(9YSz-f)sZR6qh0eio2B-YSf{nJcSCy-R=9InR^q0OB1pSc`;XdrD6A$nKPer z=A7?IM8ilU3+m;xR9|NCG~G8d_s*b~?#qYe+#SO35X@@AX{B!NeO)bK`2b0k`lDcPe`icq7X9@B=IaCDaiIHJP+LlWHoF@n=-{FWH* zZ;0XkI)wZzj8j{LSTjzEVeR=Smn?%y5y2{Ra|){HHC6R!v8%5KDes#e+U&|is&R-I z!zEPgCxd#R22dNkomOmSB$EAfPR^<2d3=1+SEN4%} zpoM-6mLDzjOL#mLqv;b;F;X6+Voa}{fMk>WiLgwcxm?7<$huq?zfHsusT!|&skX~+ zQZ$*)Cwe5`wVnzaN1JeJHI23^abbfj3z%LOmM;;&Th=%ZEh-uD!$Ku)?G)hDIuTMT zsPlA>X_Xi-gu^2tg>*=2}`;G&4{`cK_n_5L127z;7A5tmMmx(Parui?a=R1bk= zt_?P|sh4{C@Kx(X3@T-ZO(}lj-j^B3C>AM0dP5^V9qqu;IX3Jb>%b>N?O5E;iVu65 zFr~8&Q@ZFdude~Ch8wYCk^zSo>u`-Y4AjB7y*u0w%ON=e%d~#wat9v{G)zDVlOpJq zXlT@4OdP;T<=q69xmuicm1Cfc;ODbiJ}l?`pn05~%A2z)+FO<|u*hew=jO`z7}MT} zKUdJmivriSityVCH7X=aS%r0uOEiV^P%2rDg=5XQdQic20rJE0{cm`<|5XU?e@Tx7 z3;U~Ti{R*L5jIa2p?^ySVjQwpDg>i>;S?TdF(vi>OGGNMw|^WiO!Z<=EoT;lThwCg z=$wG7)G$(59+u1*$46ngn-5nyCt*Wf4wMVzz$Q;4++*vSvAdfaE805IyqFG>h~R2a z^DJ1V&$vpQ8f)5f=|(e~IAGI=0#YWC&X=OG8jSDc%m&L3qRSMPcaCx5{CqQmTTA}En1ELV0Z=t0 zVqTtWf17nejBRJe&vVQy731$!G6KMA=(SP^gna198Z!~7&Kg=Vq!J;7LIFa;c=*q| zg_*5qCwRG3ELFh2-~3;J_n3W%(n^q;Y{2?v2{=QGrpcg^W#@=Z-O?Zq^`dnT>E+U> zwc8*@&uT_2=|mjZc6M|nHl}uQ34Cr5+-5P1ah% zMv&*SXNDG+w+nD*U(UfY)!e_>)`yKXViBj72K}kdyJVEMsPHYZLzkL(akRb%HC_7r zqTzg4e*SSmZUYO2iAu3*7FDK4sUOs_K_tk%yhHlA^eC%GiXKN78QF$%b{&D`Z5%9@ z&tX`8NS>%bA;@Ln=+#Dti(k+#Ktck`d_OFQGFZO6^>t*3o*C9 z7G-@3L#|lQ)9V=LX`AM*xLLiQU z3)(PHI5Gk%(F#UBKeX==h>%l{oLUnjQUce3_Vyhc;noo7%8cfh2#L?D?7+%^5gH%Z7Jsw+LWzh(Jb3(Jp*t`{tfBB7xO z2@QK}yj!pc{_{>DPSY~W3on>s5dy1bv>HE;kIkyyzW!kXu4g3RCIRNJ2F0OEWhZv^h{x3l z$;>cb9i0u9hxm*9{IGnfmk)n+@}afYoMW&@=b=j{!R%&S-a2bAL7;hiFDJTIH8RI0 z7>qBc4;zZEHS`RYzZhdj^YTXa|I8{8W;EuS@2qI&Lg`3lz&78>g5^#eEI%4urm(zb zm=piZvEa%g6OPU@V{y74mNQc^diqr{x;`%zBk{3Rj4W7ANx<}a9@L39K69?o=V(z0 zF|DzKIa_PmJ5k)Fe6x%9*lA2CO2;TLuZtC5PqwjccfZZ^t3~`vSiUjYhf^OUp>tUq z^r{GaGE(RN_Ys&kKnsZ|aMmQf4yiZ{^ZM#=p4ji3JNY=jNrVn{)U1(4;O@Vij=4rG zK#$^f{LtEii=C2KTEnTfUTmo!hd$-)h%w7pTX$Lr{O-R9U}YA4QYVKhG)3A(ECuoB zIeJ`QZNa_OuMW!>2rOS{;l-&&Ui9+X7|aK?lpNWUsyehdR4)-18zH-rY0W^ z%ZH*;Q6XX-66iHz@CAGV*@gaf5gIdg5j+g5Wy{JtteL1~75TYgSWCvqv2Q%5+xbT} zSf-l*U_qb0!To)Fq}3^c|MyOA>pB)f39kTW_sMYoJN|bm<#$l0+IjT z7m9ndl6|)jcXx%=g5uAIyrk2FXyr}+a|rV+y3eVq6--GOH1G^`Rn zIP^LTp;>7;ewg6E*JB+R)X>63_uVqqbce$7oTfHb1Qe(az>C82i4Xm-oMGW$xu5Id zLciyxVkA606@vittOg#WSBZvEA%3P~UV!C=hN4FW1A%2XOXuoU$@oS#C!uzhrl@%> z5)7(k#?Apwd_(5hPcv*dJll#RbN@Xo-^%dd^jI(YRCYi}ocfm4R5-m>!h#9MKbE6> zlK5Y>w$80#CN^;SP&IB5SiZX_42S0#P|2$biuX!Ygo;^ISW!C$r`!8*DV4w{0p{Ix z<51G9^h=E9!uOIj66=s*OdA6ZPITht(kR?s^y;uob9{d$4sIEXD(D?jd4vEPDn+w< zI^HM|9byeEMI#@I-*8xFg$ChaaGRw_DWgDoa}{RwFk$U*E54jz!6|Ce&+gl&sF$ z?1tB}AT*?KjxPY6LWntCtZZX>IxH7{4X|7gE~^mVuQCDOXM^Rho&w8s&^$8+%L3fn zDPkMl{cQ@|+MvVEF=q5m(ICz)Cy)^GP=N}4Ct~7^tRV1`1z1ePa10hY5z zmi>wtM>=^?)U3$yXOV1|VQCxJW3YT+xC6U}+flu!GFP0ZoF4RqreO(b7Ay}YuuSED zS{2u1&F#Kbi~%p_nBZ1oY)2=9E*}Y*Ft|0C>3r(vv*E9Xi8w>-(#$eWNa#Hk%#SX= zk+4jQ0}N^*8kf^zdM5+c53}OCnKt~n)QrDAGU5c&Wz^&E6`b_WKdaO@xmt-cYvnk% zUW$vG#JIdA0@rBwpWOu1J_`W|$YFmdu#Z6WRuyYS`uTVZ7IibCSvezYIti2aDfki+ zU=)}VOrk7cTGqzFG--1(s!r1{I#$->t8otQ$nuG>9FE@2=pqlv<%L)nl}n0o^$QtS z^d6wIj2JwyJdnV$T+GLy>J}DNUf02e8XoPxmLke^ zr2(@Hqtl#BXZg|SGKJ-BBb_)yVVSIa$Nuu`pQPMCMS7lG=dH3xC;7n?}y7#Hlc?k&UbmH%n96)hh>K zd6f+}7Dr-ldMs)uX&F3)k?$Ols>PXga$MUg#{LWy5+fz-^dxYfRbi(6{OdAeSGTBf zeTf@m8{1e{$6z`Br*poe&w^i?CE@~s<;yL-_^w_8i`M4me5QLaOqBsMlK|JYNN{(XlIwD`-i$jR+i_-YBo0k* zV_upYRlPd0frYc<(086wX-pRtg^J;|tXWV|j~MNoGz9Tx36^!X<9h;MPm3(y`!pOQ zJ4g`9%iZV+1^3R)^tkbj1o%+^WLLysk>$tpmN{7F;ohEXu*}+Ms@aA|TWQ`~XU5$% zHk@DVz~6J6_8$7e+1sw3@^P2_uzaC!5*j4v znHJ@HIStEh0?X|lhvof#SUx<QpCU zOwxcidQQv3u$;ZnZ)#5$c8+r5ECI7iWDWf|&58^H$+IaiKa`3Q^@6Dw94yZwa4@T> z2U7?r*CVh%BbzU?2C409_P!PysE##(`x!0lFq3EhZjf(onQAdqC5Y-t(=;{e5bVx@ z$THW#&w#(@IWWDw6Hc1WMbWQEG1h%|`N zxq=-BdU(i^{v95D9`Bm?Ow@*i}6SCmMNhyfK+aRypgS zmk-844$E{>(xaM4g9x1}8?mXM9bb*HscF6 zkuU^2UJ-RZB87{O^e6QKJiE^XF;Scf)zi#^Nh}P^!F``safQNZUz(Uo5_Y5mLt++)cABR zugB+uo%nXbvtfBuM=3EDxqsAX(1|dxy&eZwC~)HoG4Nfcd|b%WVVP`j43>9MSf)Ma z<+!_HI&f#X3%BX<>f&hJSm=jk@@}38%M-J~@~CXE zoSuX$gOc!72Opxf;v6q>cvfVY!ZLkdhsfOhDZ_?NwY4mNIZ*R`Y2|q}uN3=7I`JL3 z?s;8|h|hLnvb>EQa#7$bH8^Qxx&6bioEcrFu>2L(S)OlZ@^N2HvOj?3{@DxtULX~t zO#)`O_Ta--UQBD6h(1-L@V-;S>1@A3punJrz=uuk*g>v$S05Lem(nnM7VI7UXdXFj zdg0bf(7L1^(;Hc_mdvLELtXfuIA(`tas__Rh2^s`|3 zB!SBxQxZ_ep$Tg3Why~ArlcExk^A|Jz;b7gi8UO{SH%coSf&$FBjuy%`x-1sbucLW z;sXc1Bb(Y+#F#GaYeVn)T9k@cLL%np=z_Ko175S37L(iRur=LzS(cIbMQ8H{9cheoc0Nr(K-RcQsR(S!HJ5odML>J`Zw#2<~KKapV*-;PV6Puv8;;&(Pr@*wYkw0 z9-4AeDNc!=)peMeX2mA5PJWnaXQzf#I*ztIKKZeZwSc~`Udd`uZtkG4EW$6#l-M>^ zipkwXsFRrF zV4DCvZGWYEWy=@?jx|igB?6+S8+nmY+RfzIUU$S+DiWY(oDQ>UyYNM7B7x;3TVE zQxh48U8fK>rYH_{_u_+U4#XMd4749L4zx?r;OZu(MN1>hUCS9*M7qGgdOk(aFj<40 zWV8Qt;Im=*?%r_BAFPH<^7@XC*!Pfk6YG><<^Va)Y?A=l^Omzik)-{L6@0+o*UK~!RayrY8!t!5@60pB+JQCER z;LY!GAcg<}m8@CSkAg_WbAjtGCF3WwhcSf&ew=CV-`T-?gZ8XjyX8`_RuPRwoR zKnnPg1v=|IO68>*B0^hL|zGznROu~s2~QYv6gX6OhH4`UI`%%%!C>44Fk zP8xOH+>?Xl-DFfRstyV@l~-LqnOgZ&K9V-Z5s_ysC$?Wfp1DlIXD4ML1ah*ZKA+MJ z(Ww_>&sZbQty3~s-Ze!Jn^73Fku;A(j-Nj8Fz5f=z$7$DG&0qu;Bt%#LQI=vly)-^ zJx74~TLPga4Dvj20O?$y@JsdmwGtt!*i{%`E)w6RBru)j%rp!N%g4xQ6>A7u8ArAz z$Qt^+K|GF=ds$Z_21YSIAC`j&mf!VPfA_3p!p4r=@ihgEWyF(iQ(6y=jL$ZWyvi5K z^g?MNn_ezNn^IQn?&85I0$YTYh-6daLxsdxx>ygfIHpVj&OxYncfwJMqmJ2R010A>JVk>io%J9|xCAz*I}};W$WO*+5{fcV!ccR?)6^^yj1oHWYKp5gJ+~ zpeAMkf3!y@ry8MFeA>x_^MeU6`#Zy(=;p=5Dv?Mu$XJdR{WmGeI&A91IRUgYmqGq& z-W)wvtd^i*7341h%eVK0>zc9CpWFK^SU$GcNZy+f6FTZx)pj67y_l+tRETM*7W^>Dj!#EAFsB{2 zMky>;PtXQ@gp(Q zCeKU>`_H@Y!KxPG!&EE2Cb0bd6g%d2H$kroe=C6bnj&#hnTq8JLVKgOl)ACof7`RYCfW3ZsfmgTwVb43>{K^q@_wkvX@4u*YZa zw>;t~CmEIK;xS=Sc_)@ujfN&7IP-j&BqedYKdBbWVEGr~Y(>lSVL51EnNG-BULDJU z%-n?gRWZS$3J&r07^57+s}Kn4>}A@$mwNkfp}P;CH}@dTXNEk2&zyk;EgTG-Xym+V zoa&VzgC2QzsbFT$=tW`qn*|!UEqPlxO%34Sc6!{{8_MZgA1DZXK?Z?me9i;*34pyK zV3!owp#Zk3ac@(0MT|^Xrg_VmupG_7^1L|Qm_x=RuzY2r59>R7P{(U{C}K+igsKz7 zn-q}dVnc#~RrOhgaLYi+ zN)^!Bzx4WzS`h{|cQ8=S4$CyMyf)p1(;0T0n{C6NGi_Kh(1mg2|0l(e_fR13)(f4l zG`&D5}I%}~mCK`$ql(?I#YT}tMv31`>P z##AcopQeM)En?3!xTEX^AtsLa%mz`oF(e7+y81A-tm}mu-2~#=q|yK3MeR7%n9B>^ zTQe3er8poX;S?xEf^hf@a`3}~vt}R@me*v1<(Pa}4z9>DEn?|b!HDH;U1(QI3z;Z* zJU7-&kQauM4iy&EkHJ3#lrNHTrHc=LrTQ?tk{gLe1zMLhFvy@|N<%vo;+H=@qs3HX z>RQ=n1QRUNQKf_$CpPf$)dDqEj?!Xm7bW_)lA?7D9vW8+LE{RcXkAr+{!P^wood9Y zbQ}IzV!D*sWts<;L zA2+w=7>!=FDxoEg(TlqTRplbP@p; zcd+2hN3D`cP9S3edikswI#r68hJ5^Sv= zi_?ug4B$o-vmqoTBw%6lomcGYn-9zRu$*JSDHnyqW06A04-F_-;IulqZb~$*g2xMC zTFx?Y5g1hANQzXUXr!794SZHPx|FcuNCzJ-boSvA`FXCL51-eIL;o^PCL>3|iAI+j z6@B@luJEuTSkS`8BJeK)%d|`3l^x+I9!D$1^Y%Fkg`tSCQ)xavlya^}r$}fR{`+2G z{O6rQY|#IvzvJ_HP|5i4IE83e&4Bgk4xC?X!>tug+|DK+cXMG3783yS+NFp!iO{aR z74?#}DDIT9R=Us2ZOqL%Q_`)(%63lnu3iL||5>TU@nsq`C@%}Bjh#m0nw3>!|7a(^ zn`FoS4;%pp%USQ4Tnmk|(RD?2)_sw33~u3Mpgf*9E))E)O!JmM8RWvrnNFOY<-k7~ zcB~xi#LV6<^loN@Tqb;N8ocznSz4D`fR@#@*g8ppW2+-@YY!jTD+V?jfYo-~TN;h) zvpl#s(TB^UisHi9L>!%E$G0=A=-tprY*Of34b1f3g}gBIuSx9SA|p<&(y}qDtARY5 zH^-TvPJX0bhTZKvxYommBh5UhVABR|dI`-D?i^=eX&6+VZBMOOBl-DjtitH1&ylFsIgH)C5nV-Ur&um-Avd$(S$!28gPoh&gnUBoSGhs zlM@s0#|RJp7~;h*eUovbcM>j9q4N%2Tx#pZZ%sVd-ZCaD(zu|79Y*ELRc2FIUef9% zV0jmxbk9`6<`^i+_|?Api`^Auv$-cm6SbxZ27Io*ltOI^70ksEiH zM&YZGG4MJSTt&QJQ#G>?G_N;DwN!w4&AGzP7lGvy1eVW!qQb|+4bT&C3Y5*AZq8MG zYV0D{{{3V-z8dYoj_w>Rmy6C@Smx$QA@IXPp&<@fj767_-&pAKh3saY^n){ z0Gcy z+;wW_sS3raN>MmLVEGss>B$yWOdtI6h=l_R`so}oNAPeYg)8veMjR81M3C>8i7lIM}-9LYab zi!imF1sCQ=;{LK|%O;aXcC zR+e=!`NE)04Rf%H@ zZ1{Gv8=D75VO5V9Z0He>1O0vYzCVHGk;%9=ED2WzB;hiJ%ykC(IW-pBJG+@O z#*)?!_^gr_&L@6VSZ-KR^hV_Du>u#exW~7$6JU-(pV|i2k~vVTy{i(?+0fy|VfoZ* zHG`&a=4jw?O9Lm*jlkpbo@V?&VEG`q{=NMCmUH1H+rTFub{o zgJlBBquRQ&V0o+`mZ@~yWU}tI(5{@*oH#wxi4)VE*gnjKY5s106qdU-G=ne5T?dRd zCaOt5Zo>!yJS%m~NxHB>j&J8_F}i~Sr4r>32*TOiep+)AYO5$P4{K?{p*a>Zk4$79 z8L@e^0o95r*?W1@ftjhb2*c68m>vJ?8jBMPP566-4u38;U`R_X1pGHMHHF@HX_pp1 zwM}HOyt7&?>`F;cLyuN0#J1`&4C0QG(JofcP8EaI0jLqL!YX2W`cyYV5g@=!9mjf+ zMjUU*H6@u|J`yrvcz(S@J}kfN1{Q*{i3%+2r^nHyI$YYIz~#*nGQ_yNRe&ECD=}}7 z4&58cQLBUiMI$2+XBEM$5kaenfJr4nv_S%oNs6jba-e^orEL^y7S-o@;o>tl04X2y zTR2`CmM?9RV8t*6sH)C9w-IHrhLN%A^ z&zhxlxjJ`g1h8E-4Gv7PkoRsN?_Gx@iw&66MTewlF?iuTt`l9s7jy0v1eiP4*5juS zP55J}0Vm1leKX5|o(*+SDFn=EEAS@TY;s?Ar3e|7BXOb~v8xlEY#q_I*elZYFlvM> z&E?HJ{VWI*f#dzn;&GM0@^^JSC}UOybtIO8TsN;3NBtnTpi&exK^XO<>o!s^#++sj z>>zve_FgWe6jKL;zIPGge01~K@kc`s{vyw~Z?YA1P(%3N(0@{{`(%MgZi%jCmsLw59$?1 z@Ody2V5$>qKt`1)9BG<>GtIsDt!+GZbmEi}sAh7*Bn=k{dd~Io2rOqbvAwVwMkXw$ z)m0G42zg`P8wCKfP6`Vd1p?TZQjPG`GRBvNW$K`vUMEG*CK|3idH?`(`>Fg{|ps9G~K1kW5oB4o`4le(wh|ax}U;q>Tecoj6yXHz&gvindj?_-2|F#}=9J zCxP2fCmYeUk{Y52p1+Xz71Vgh=Qb>-#{MbfGneUEzV31IbNLVhN+ie-#tR9EJpP=@ zyQHn3E4noJv}rufrulHTe;odtXJ#oFKhHCwK{-`GNigP?1G~9?6s{0hKGq-+4axKP zzaWe_dMJB$Rqr=ReIuwhSgU92F z#$H8PA+rFfpkLfPRx88Ak`5eBNx;E0f3Y7KE7~{_XB0j6^FxV&>|f2onzpoIoh=;6ZHdNy|2@w%R+UM@gdIV<{Bv!j1aI|kNqU{HMr(i=K4w8?{1j1dHwN3?Nc z90BD8J={1jibj;(I5EwIf2O-|XuJ!H`#h|SwL3$|JiOidwhgpz}DV5wf*V>0m zO}ywCtHpnU7?$ZA7V<(dzOrn&Jq z0cASA9plErUj7CpojF*hpj@x4p0#Grt?Mu9l41Qo2Y#Mu!;!fbtQ>4YoKwo6CnteY zuNES`r3T;6HQ@X@6)tR$;qoR4_Gf6&tBDjYiAwko~q<|knloBBtCmOJ;bpkF@ zrJ?Qw5y=faVU~;X zW#jT;`T57=4NGgVV>BndM4{!Y=@#^8po2~&$n_&UYW$KF}^wFr5} zu{Jd(WujEM9RuZ^vQYN(+=<7$o z=b=)x7R#E(;5dQgtNpnysb{xkoXY>5%amm08apb1iO_*-LJnkHKCcMC5r zHcrF@0?zbV1#?85f}2Ao#I~BT_?^J=4=Hg-GRT9*&Kng1Oljy~#rtd1oG29;IIYNO zkZw*X7tS>D;v|_bLx^)#I3y%LfR+!-&n^(EMs;IH*zwD33N2P_8*N36;wn~r^SUA~ z6qxnIFbu9{VUc2**Se^c6Yo1@Pu;ZX?@bCmYj*LXuzZ)m@-K_j(8xpcVL7jgSBenl zte6Hn2RZTG#FvBRJD-N&&fajW8>NO-FUqrbNKax~S2p3>NgOPHHOhf?9i1rYR^@s` zghp)Y`t$^l9b9DjQCP0eMVHeXJF$Sk@{viAI6gHJ$H@47awHCpiNuP&ZcHKTY-}2* zjxoBu6J6@t;EhzUMnk#vTx%&{d5R2}*?Xie#mNflVNtVa9O>)B zwV_3Ebx;y6^i9GK9lYpP!iJhjYV4b2!5>Qu_;tP!wMwdUG*Tbvqd~kGe>G2Juso%- z6C$Q;5X7k%{+7~X2>2gw5|2ZT@ ztZES^rf|(Gs7E@!z7+Xk5Je|ikQ8Xk!){hgTI$%)}D9T-41ufC0~ zNUcf!wwM8NP6dR5(5!ld+`9HylLQM}JIFOT@#Po?deqUfHr%hn*04rBMQGPd0lGBM z;@kNWT-+iAs08MLLb$a{K<1qSAE#T;q`VeZod5!U80)IWwSzDCS|fAs5(gqez(ayn zhSBvSab&O$S4I`ZjSX(WvU)>}@)%P_4Ul8}E54&EBh25<< zJnJQ4`O{F`+aboS4F;?lV1eBre(fE*SgTYS4~u#_@Z)qF8=nqxVqjHMu0xblCr0NA z4^lAb=vBpzrp1kjG0RwFm`0!I{0<8ZLES_nlI?1!31n+kBIwm(s1*_H@94=AjiMGT zocqs<);)AAqr=YbZkDz(JIxBsOLXm|_fA!J{_}1@{J(d|c$XVgf0={Xmpf52>qY3> zT!}B|3UOs8ANZUH>=fh9CJnByHsYsgPE2UyK!Xx$M47}83HkW%dxiWRG7IL~`=wEE z8WpV=uf&X&Q8+rni%a8^aBW;NZjLF6zXvB{Rr45BjnP5K=W()hJK}#og^&soI zuLCubH81?m-XVahlnYTJPJy-+mFQhVN$y*X9_6)2@oM3^=HyB{Zhqv((r$Lv);=IR zwgw<9XQngtO0wWgOD`@ESl(A74i=dxe=p95<)`P2)<{rc6Pd{S29nJy-GN4B=y7P^ z$kIq6!ZEPAg+-QkbaP^PsuM*W^2egVtg!)smhP1d*gyEiVEOhoDL(9OBa1g5mII;U zyPQXXjUQNXbivER^6k}D+*}%o?E@l_DT{qxr8ArB}%XXj)!}HT|sk z-}GqQT^x&>bK`J*rU&OIdhrSQzNSSDECq+th%T4~048k&wvIA0t?DE5Eofc!?Tacu zF|sTPepsfb40Zz#AG9)HP7eoGll}VKA}4MybK&};DDZ-YD4dxdhfC8Eabv0vwFKdp-8BXc-Zv5$7cc;RbY4;0*Q$yZKhCCweI|S| z%mRl|6tw!$|7KK;GT@J9T!G*0a&9O@f}n@x%y-Nqb5bG-hejbp-}**eSQv@hOR36D z6toIKKuR2ziNA4@(1bWQm9BMLc+p`=NN_} zp`olO;s0_Vua8dfk}fG$wRd25PZxHQF|00ahs}HFvsu-!FdU;AoABL4#|y#ov3VxM z+T;P9tE83khLEZ-R8(`H{(3(JCHg zoGLPZLUT2`#5M)16l(|DnDpY|nKsOBPu`V0caDImp;k%+Xj#&Xwxul$rUF0ht1zm? zYuIrt?a(>6rVS!N*fS&{3&N<2z?xAyT-zSO)KAWC5@JDrEsDn}nL-84)8$5Ch$F&L zIYx{5^&@eN!0P3$WVH9=TM_{2{WeGb7EbqSnThZ zh+{pHaHDTBu9KfvJ9FQEsf`!sn|pDtA=#W8CgPveIGh@6$N4!r+}IwDyL)-Kw^Iyk zSK!uq6TY8jM@9!TO2ugq@dEFa&b>-W3Vc4<%3%4^iDuRT@!hvn0;`4B`bOz2KW%ML zaGTQB3@nc#b14?7m2Cl+N2QKD!|6|yIKN(kZ{}#QI9-nsX$mx{5`lQ9 z1Omc7xmo0!56c0OA6f{N;?!8*fsg@s^PQxjVN&xGae65Lv2!OT=+K*J~X#Fw;kFuB%}2AfKfYth#NY~F=pTpI%p&9dV# znR`2j+fmXjWd=33@&T)Rv`DfmUTco_s}3p|MROKu{Q-?KH7{;>YTI7sAd}~r-b#gY z>!qBW+xiIfZl+|p%b5{Y3cy^%m5cPyLOZHS+sbFgffgQ|Pxaz*OD{gF6%VgYmZNKi zQ>-Y+=BYvwfdrERbz(H=Q_O&I6`fd8D;B#OdhknAFD|r7#D#8gxH!g!D@!%FwNrq* zpB2Hq&k6(k!ffbiYR6ky z`#?tjQqHUne(63FcdGCPoVq>gRK8QNForZxGg!X1AQp2{9S^~BfkK4>mdM;}gh^5Dl|ZYKFj`%3&a-@+sp|6FRo zi4{7WUai5obxK^?B*E3K5xBLR4}2Da>%HguJt5ZJqGiWVv?4A85yT0s#-j*VS!E+3 z<>yYD;7oA-zXI>!zf2*8M{HFDJVqG?)^yOT4ji`$zjop$r=b@Q2gKb$UdIJ!Se0JG5CUj zpGqcVYd|3pz)jXelt~G*TEgmG3i(x^a10Aavp_B^pVfjsq*wI3udCl$YSpTCo zE>;xxB9T?5d_%2n>;PlrLat+%U-kasSelyYL@9O0;3 zLWy>D^jMm%!=VKd99yEm?~AlJI!})^gRQ7jLW^jN7$5g>;NG$*+*%Za<5OZWnB4pH z7LoX7a4dcumVjS|cyM^22b+h>tuM`{8t4d7}SPIU2Nd80@)DPe%uDS<)7Bj6r}2w@mmw+{vt zJD`q=R>>odN;vA4Q(qkrit_3ScZMV)edlxAm|%KHX8u(Xp6iFQfW z!ef>9WTH>&OjQ+(PlaVF@P2WAG&)t*v#QrXmR2k2RuJcgGd4SVxzMk+ndPd!ErkY| zN-H$|Kp_uD*(4PPw$NkOST(+#Y-I&er)S3DMn(dzPv+7vt_&xzOy=IDzCK*)K}KgE zF0}XI&lZVTQ7snDV+}}&(xFv?8Li??Xq{j}O}h&3t0PccBSNxDgh;YJ?6L@GL;`li zPxGH?^pI}C?-YDI3Ruaj#KEan9GYdtPcv<(QB2M@i?$CgJ*cVh2YjoF15jBR#yBn-YtriALC!B0n_e{xhP{?JngF*i0PdJ$(p& z3~(Zq05i?Y&*{06dAd|FMuR<_Jh+rjKzSfl$?>6gNgHw8L$mrTWGQ$(Wn>nJQ~N{H z9~Cklsua^;L2s(9Zzb;_5_cBH;`%HPP7=p`Oua~^RPySIdOi)-rn#`I zn;YrX3|!9db09?&!Na%?I-Fds!j;X$(_JaWz?Ld#lw37?<}oCbLwcl(7R{fllc>kn zWRX%>zBIsxpF4U{+V<)x8C2G#LYxBYdN}ZTx&!-%Ixr{I0-N?hOKkcxDN>A2C!1LQ z(UV~LHZeT+iDy19)j>Q-e!zk!eV#NIyKzw+)_0^i+b(8o(yAC(Q;fH;ml4Z zE)`?874v&pp_cRC`tDHKVR>$IC+zAc!!orWdg83C7;3`hjdFGbTH336qAfG3gy>bx zjDrI_>?DDX`?JTO| zqVcP^C~=rT^TL5Dw5+CtPA$sO$hOxd#(~K;9GPpums6~Ww&tCDApPDRX*Qfc5{(6u zU3lLoXE6A>u7}Qt_w5?|&?XVr2rTce9tXEt8juB8%#kAwVXN8-?8s2z*5`cSi^90K zpN!87kx`hd$=JB`?;X~(T)4`BHQJyrWK9@jHGxHg?U zgDGUcrL`O5I9O(u1*Q460KorRc{eHa=vXEkSd7~#T^>7 z@)Pxa&{?W+~$X&_k;^V5H>FDs{u*^miT2)U*BRV)as*B`zr^xTV ztLMS`YO%;Dr#g0*&);EnXx38{y>pMkKSpL`#%L`k&n2g+$ zHfZ`gw>bhkCz^4I!1D2xVi+~Nr#ehDid->9jo${6jd6G~P7x5O6Rl#POdS}bOoUaH zV{w+eyC3SuqoPBXqku@G$xSOLv0;Rn(*|FmWhYsO7a1_6n+_F|B@h#Pn7xTej-)+= z7D1OfW*nwf{PQdr-`)aIMBdr~8d2V~Gz$3Jj)NN=s8>~oP+sV3xh6Vqns|*kM%Flm z<+T+eA&m&US`=!>9TqWWr7Lh@uM{{Kiu+%N;QoQv56f4&`*60S4-2bB!>g0#`Ux0o zo}-Mwq$XDEC;QhoV;%T@stps{n~>oA_XXHAa8e>lh52oxaB_4KZurwb5B2n-bx||; zyqr}uak$opGEac4!l)OE#TnGcI=vY*FT?aSn zc{R`UDCxwa;5)6Gp0$9bQYs7j>sZ$tC!^toh2aCuY~=T7YGC9&=AyrpTK{A2fi5Y!2aP*Ol@O@RhtRS z1qn!oVsxqwC)cQ+2+P#iTq6diO=&&e3-FFt^q%x`K1QZk{y%$X9UkS;{r&5`p5OBn z3L&=c?iNpWlTC1UcXxMpcXxL!?(P&Q6e+ZY;>C))g?!(cxi^7OTod4rxk7+!cITcs z^EqeE`5x@(?qsc%cMZ0oW+5$;(fgW!Ipg!!U&IKCcmeR*RH&QHhH2$Ou)S_14mb7S z?>59Bb|eO>gBSP7y1GjovD>ZVaGe%%5Kz8MAo)_GSX^l6!TEX~9H{Qb@^aBwQYIS9 z$QV;79KCagpbr`S^Mqn*;Rq}(9*xDtqOiV1G|rZH<8Ly~S8(G3mHr~*9|F!-tGKyQ zmB2aqes9@mtSB6cc5xQuvT4wzl9A;t|4D#(eLouYlYG;#Oq&r5tzct0%Tz)t)+~G_ zEYo7QHG?=_-*QVg2M znm^k5)T{XDRm+IO6A38KH8NN}G0T8CT}{XzCuKKsRD=Fg0Gm+Yk40U5l2-(l%jHTN z={|+>Xz|al4&byNfA7?zdKoQKHu==Qmj*fp6}B+7gIjguFh09I%@sk@RGr8WDOQZt zBk_;`I2eSaeSrj)2{7-@k^;*~6qt8>dRV3bg zaN@`q8-AZ?!`gnd>!gl&P8eBpcu49tQsixhpT*l~0~B>VgiMtE_1U_AD= z@}NYNKE)n--oypHoc<9)n%UEYE&|<5(p*T4_ z3e5_cS^B{9`KDd-T5+wdmwB~2tHvNiBl{o?W?EF$xR3#xyE?G9uLHaLIx(h!6&CHY z6cM!|2#fk?nEcp_u>6o1n@1Dfm|Z^#auF}h>n76Aj}--6I(Q5+XoZ1L2?8PI1+oG^`c*)?s|7wAqF~>@ zldm%JRm%@VxKfO~Rt@S#ThTqM3-b$vVqd8U{8laoXDYdIr7CyLf02y82$1bB8--Ps z!m)#_M+(d|!aT0I2?`nS+tcNIP7R}52`ek^qtWG(ZuLtWXVBX!m0W-soej9XT8_)h zq^L$5{EV+H?8<_UMMH73XFTqc!>VImI|DTOGyg|kuWPg(*Q>>{XVW3x`Vlmvvmn|b z!rV?4{5i$KI!>OMZN#==M$|5_EZ^^!fa~28aJL(Q=I3CU-MBT3 z!*$|dEGr%flSJ^zftjuojhv6RWsKN4$c|%^xpjPmIGxLSnaLi~!DZ$_O3pLt?E3lB zKu{Le@sj>IATW?Qq81$w#j~j}xup#!$2oClS_B?XiN>RG9$e@jhso6=5NVXXS5u<* zS%cJRFA}B0t`;;;nm8!rd^*!24lT0U*uQ-h!K`lrmYF~}AA`zS7%Wo>vTRPpYYlpa zAN^1&hX|Jz>R8+1#eGZ=@cr@M44F_qA0J0%ONkd8fII6%*f(B{-6Kr6IL(R21ePC7 zi()#<#od~ehzI>$AzB%>*N(>B)?Qp{=tYY-Gwb&EK?a%^fX0OhFn4oeUw;D40~{Dj zfZ1UXru^g|QsDoYm&ntIcbRtcsxx8lG^I|H)A={12!Q8w~Y$+Lq;{=?~6JS19nXD%=jT!R$hV@H$vcQR_bHZ_LTr@VejX;eYCf1wbv!_6iGs0_;V|~3C-0DPtnVeyN z*7u-dq~W79M*0rRpDVIVHbJivTx5B1Ll=rht6!T~pM@M+4NGYlEMHorM)x}A6v2CH z__D`HFtsaLytR}FA)sj|UR>2Y8tm*7mZGz~xJfirl4lV$`g45>IB=zf7x$ZbF{@}O z#DWjYEu-)uB*v&o5d*gNbmG@R4*W9EfhonddXYc(jK{rR@wiF=c~_HI%&ZiSPI=8J5urtdK>?9~_nfrb z=LdcIyQxljv`&utk$Ozb7lL2Q$KY(07@VvTjbpt+SY(+NVQn33MUi+VD}4I)qRW2B zMqrY{GEK#pTFU{gEcm6*j5<%b+)^Bxsv*E2#8JBTG67c zjzz&f$NHo1LrUghK_?T7$eoyCMVE>?Vz<&p8Wy!VMx6+2CR>0%2^9V&1P%+aZ=M?7 zDA^}b$@t%onNcl{oKc;)8_QkgBO&wYsizfNoj(^jNB3HhbWDMyBQJwxf9#kfg-Iu1 z>tCx9U|vrR9+PwGePNkOXkHtTfU%XrU{s1&9=}5^!D?cc?h;^56zp5L#EGiZh`VPzKV9+b> zPKC8^owH1%U=4h*e38I%+bSlep7DGRmPE|wI!^hNFzD~d8>zsl;Ze9h&W$UBsPB;|4G@K-|*?vjnVr9uqCHL?%BLZq-nfw@5;1Ge;X;Mc)+92)MxqK;PNB=3jo ztR`N0?_w^LjZ`7Z zAZ52B^d=&?)o5A(1iH3=@D-aWggoRkDbPQM1AEIx;Y8g?{5h1SV{o~pYx-D_EnNOd z^?uW8ij7tpgh|!8Zj|dMudWv9G7W)fIAfNM2vd!^DnC^P&tsjd*IK>Uxbh-_na)ty04> zEo#16J{Hrmxxf$ld{J3?_EXk~vWw8Pv=*~ETXAd#C;7@+POp^V_F6ISZ4ltW<{&)Y z?vE$i195AW6kCSc(7%oer4r=ODTOJrk!j&f$YE3A*ZOYUBCvd$%<<9^5im*k={ptg zTT;VlnO}zu%|o!RSqOm@?Q0>GN}tp#p-zb`4`{^YAisDBJ`XG`ErLMn#0Ft_KsN3j z;@#HBVM%obrzC)VkfvfZiNlc^vB+aqd=w=L`d(q{l*s-pc6~(iv zSp_-OfUaFai8J#wNL!UaB>FcnV*?U zoQB~#)Gw)pS`o|+`((|?&;9=B@1^rjZy1Wi7%;YKI1YAn;}U_Jhl3OFXb^#90?XG3 zB%kjZhYgM0XqnH6>~>-R2?S8J4;nq9Yb3238YZJi_W*g%Sq*Xw%;m%{4a0DZKn*R% zq75Wg_pl(uDEg-4&p4D>=6CTc8v&|n#Hm-txM!<@lZpWvElS{ z=ECkqIo~YckdafDP|1Q>tyGyjDl{)|K<8Q} zOzvpHgbqe@sck^J8ah-dEJs2F4+b@lIZO0>NNYE#lzGZW>2bDUEN+oGzEV3D?YuSw z1_XSE<@BPnyxga=+_Qw~wX$QhlDl9WAAir+vz+D4!wry20^hjk>4I-t(#Fy-C@gm< z7LqC=9YDZoZKX)uBCvd|UL2}8Rjd%_V;Lv&Rg^xuXV`R|$Y!1T40Sfi(tTksVKG zhvV_27}k8@m$n{MhzM@L#ma6hFB%5^J65LC=M!QOVn#DN0aH7EA7>+= zY=t*e`q^_3Gy3#-$2T|P_+(C&kg5RDNPV4L2CkSo4Wwa6Bz(*qpaqU{QDqJagMfVj z_=h+?6$&Xo+BG?iB$oDQaJzpzZg=(K_xf(Ag+Xb@ev>sgqPG)|&p43uDp=m1e&>9A+AFuJLt5NwKmeT_)$J-T{SC{MHH@dPNW|iob(K>p#g<6EzIK+&rOVv0tUxiY+ z)UREf$@#phDsH_GQ=@RO3>L11-Ev2a|cnwSmZP$xu%|785Q;6|@?^2I2zxT771 zM-gDAsu2X7d(|+)q!F-#u2w-EPK*l2!-)izhjOrds%;#~MH$kx=JM<2ULob7Q7Pgm z3^uZ6EVMBKy~et^N`eE^G#JoCiE{b)uo=Y&3JzutQA$d~2S<=I`J%smP)Y?T5~aY9 z%Aq*aJr;LqSG{3zxKEstN5c|uzHb876F}}=!hxKjT1W{5(5v;Y6%;KBK1S9uv=(MXZ(Bo-FV5 zeyJqX&>B|k?(4vzVRo$RZ9|cG)fefM#|qgTQmpJ{$1$>gj*PWpYey%8G!&YT%F$l=lZA=@*}#@SZH#J6%rfkMN_w2)#)hTsaK)26C`Gv{=|@ zD^Poz`A};l*tOaLT(%S?x`@G2e_QuYlzT1ePxi zccXJjJG64)E1gifj@sq4;&O8@la6~4mTwl1#k_KqQoSdmPZRyw_%P-&O8Hn> zHVU`N9A71l`-D89O!N6WET{1zKYA5DrMiu^O{Vg3xm;2PORriqLF91jRab*6OS$%~ zD+g-fG>cxli4sB-I5vdKS-v_r4!Owp8B^t~`eA122;BIDu$)|w6YG*-S}O|ysiDI5(R$W$ zmugJk-yp!#?ZLRYo{vpq6qwjvf`%oP$n93as+Y27{ev&nAvvP^>hbLV(d#-PFPH$K z1jWPE=vC5)`Ax!ben>1Hj*Z2A)_RqIGI5*^b&bQ=Dq*M?r{xMU{QSNNgG}dDBMV0F z8YUbXZ^4PF7W^^!+XH4g50OR*X4Q4z=k8AI8|=j3dS>F}y;|)eqYr+i5`H8jM0cxznj)IE!=EcP>-!$IhCC)y&Wi* zQ{zj$_!2cInNc~99EZmeTQmvr8G^+?|qh(L9)k$LLSsg5gQsZ#Kh_T5GhC+1+NgM!(Y`rxJBmpSh*PF zGON>P8s4`8%bX^uAKDZ$VNFvP0p<|auRZuRU6$y^$`LKYo^f0UKN_W+*;NCpLHL{( zmJFwUaG4}n(J=%Mrbgkxcn{XMc0>1qzHDGX7VNARi91c=aH>`;irJK`di_)BTUxa| z45(wlfzdX0b$NV}73=z1Q8mAYHCU;c%Y;9>$FXidce;9UqFEeDg=o@cbou$`M$=)U zog%cTsKVCKTHIJofO!)SiQD~w-G0DM9&RnyvO=L{$BhPrvIDDE+# zxSNa^GNO$r9!W+78Q}(0iZY>1f(?DL*)TJ=9m~syU~7wToah&WN8{aiGQo`pV?DS_ zK>6CxSZrz&gXRS+h_%R=%+-H0X8Pu$7WA1=E$pty4!Qtv|+^EUHa@TnK zJ9X2dubU@ShUG0B*xkd4oxPoCT}n@ErT-U^Bx8Y#pg?r4tY^S8#|dDr?9-K zofA!pnN!{1eeRLq(ctgRYT$@~%T@k02ub?`Q$>}jjxhFQ#^p6ZD3ec-Do6Ky&axII zthhbejr#-Rv8J9I25H(Up!&ZbeneB^2;Msr1zdPTWVx&E4X~UEEy`$dbHS@&nWkYp znizvd`HioY>7#4AIf3PiuZS#PC$M}dpBuR~@^pO$zRNmNEBGjypuwO9YAo!b!HWJ` ztRAGsx}gfJ9xTDgRw`61sDVx`cxOA!n!5>jm{BkUcZl$4vrV>xZjRy_g1OT>v@c{0SuUP_LK~ zdxzM#Mjz9naAkxCRkP{-C6#4SN^qoZ3{%6{SJi_AgW{8J$_ze8X;|FAs>uH!phB-P z_p?@;Mgl4_6pGSePYXBhcJtzHTQBC7j(|3uSFR>|%2^0BYn6d0o>PJ0t@JoLSBPtC zgYaO32-v6qRvUn&Hef+09!`(K^)YT-8XSi+y}dZoos7H z{a9RTK#XfE4;~C~AbAw_qr(pyEZXMK;U}hXXb*^;UPld`% z9JD}mt8Qk%Om%wyBG9~|w*^@vBDHSFmDxM;CT=cVZ-QwpG;W z|3dIUf3KDt=o4FT1%|W{QJq3&%&FsKu)L+c6LVTwSxv^5dahDQAok8v6A%<|QRV%< z4s{fkSyb8A(wPqO=QSfFOlIzV=Ts%&&rE`vs!`s>m_)!QHXowth}|W?>145$;+`i}QbBF2mi$20UI!Jl}btxIQ5YJ<3`k;HADIWkrV3Mx1UOi+g0FE-M`ggG}_v z7frGpRUxku^E%Sv7#k~+p$E^ZJ~mX&r$V`SGq%=?#;rD9Ty7MHsuB9HCfb+MIy%4) zT2(Mg2 zlhzds_>~xFD#m|mrU^TSn@~2lnzd;E7J!*ny$`Hq#-TBGrbGSb6f@>_H6ve~EF~rA zZ5*p)y=&T`v}m{%JL|;Yb_*)k6pJI3Jt*POymjm2jK0Ws<#-LVjaxf7vAC5JUYGof z-%3Q=h1k;H!EVPk53nG{CdTN>T!G&f@;CaSo?ynaSJ7pyMQS{a+ zKP-P;BEZ@r5v+#dWF^5T##u4CnFY;@S+TNOG_Dc@vc60dOj5yDE%6mZ zz|3ZlBA;7}s=4*(S5c4A)r^>4$A!6d!!f&NIA&G}!dW%)sPeANY$OqA-aT24NQdaX z);eowVU}S)c^g{hx3V;qwBlsaXs})<#p;Doz>P56`XdC7kDFepvz+*|Kf2XZBjCA| z$PB(>>3p#YViyc}x=N3;1nSIM0m@~Qroi&WabbwEt57kk23JRN(s8>w#vsxpP06)o z4&{$rOXi;W?YP#~i(4;gN^-cg2Xk{r;%0si+PlnTZ~1>!=U*}?myTCsWoJ8%jIps> zW?Db8s;?FO>uFFip9?|n-x@5l-t5v~469(rCUPKb>+D4TsuqYvL2vvy znv#(%N`h{66<9e`gTu2_xV=_{-=>(bvbPOAs_Kz7R0jXRe@DmY!Is~p#?i(e=GFdH zFBWA(b)P*Nz#5ncf>1W667xITQh=E@jo3QGhN;aR*g!n*3pI(shr(PJ>($jHadaEXsa%jsX{b(&5Sy zE%r~+VQMEi8kSKZ2RXFt1dQY|0Xe|4K&22N)T}_c1OrA?a$tK)4{rA2Y7TA^SUy-c z77aY_2Fl6#)Rhyo+^t(nCnnXl!>IbQ4l|RWA`sQ8jG3wWP*`qQ!UUO!hxSFSES-+R z^1-2YtmB?1dZTY=+>SGK!8w_J>-6;+T)c?cx);j+rmv6>18Cuxzi zR)r@k4cI@@4wIUXLA9-T;)CUzQ^L`qv;}1nxMKB(W8JtjA{HB3#h_LW6C64@*<%7& z)l#&`WyA3noJ09yyX(UhXtdLW!3m+bL14LixQ%l_z9M@=8)B8A^0}>@*gw#Y->9rC zIrE#9(IMO_VUBllEd*U#$>(AKIS)NyQjBh^#Fb?VPWO7L6`Omz5MhzNbt+LFs|J6T zkHO_CZY(Mq0jolkzKSTnHCX0`AM%HhLz)~4JGwZrwTA-@is%R=z5Ys!iHHA~83BQT z&};Yzv+|KOA^>3)0rV<9D=K?g(G7(solJ*>HER6G;o5NSyD&17e(SPYc6!G9J!%;Nk2Lrc=GAg9jDjj12xVeh1}uT!&c@ z?GR&JOX9FiH?h3AKc|^7wVe@W{nro7^q`@sCk4F<%fojDs_T*gaN?Ed$lqJlEESBXMihnm=^cLy+? zoR4WWxfC_3G*LcY{n}!w&$UJ*!a$5~!bQSw0?VN|y~l=}#0gt8 zMu)_s5>74T1z4u@bagEcd!__n`?x?Ho-V=NHF991%-6xsfE)8I*geRAOH-Yx3j8jQ zi^OmJBXM&~4DOF{vkrcAU!3a`kG*Z&*xDotyPL+~Y&$RRbRrIA+h?$Rv0f~GDiMi1 zCIyuIU@XfM#ldozjqt$N1IzRo<_b~br-n}K?CQkc{thhcWJ9iK39}W?b4$id&$RM0 z`t+RX+NQVb&B|%;_gn)Kms;>}ZU{!#wL>K2y;XonMx44|OGe@nf#u!hqLEcEO8`l%=Q-FbujIOXJ+txYJv@mTiW1uNWkX>qzIv>e~BE< zW6qStA5u{eLd<+r$fL#dwsxGFV#bZRHauBu1D4oW1BlzRLU4Ml6N}rsFru-8z>FM; zD-3u%*M;5PqmVmP>1!$ebw+^MwSP(~z=!K^zU-M$XLE2v6OK(YvbN=?XPGd)gArDP z=yS|U|UM*JA^fUsXBP-iks>7GQC1I%{>R{{~KtP$m^3EZ4gqV2D z$)Zv4jXqf3Phk14DOOBuWn=|mU*dh!J)%(xv3Q6Y*ys0}sIotSC$7}v$ucvNmRj+|r-qR@FAPs+Md0DINIar@VSEhk`C$3p@Hjje8jlBq;&H!U z0`B>4UT$~v;ue8rnuc+?u@^ma+9061zhwV~%EdTUIOeN^WooZ2Y7r(^w_{Ul7j_U> zp4GyRSeH1Jvqjf01!sjckerFZ$my0M(hG=4yt)j|xfVa1-l4jdk7$NGMDl+32` zMF>C6BIN}KqIEtiE_5avwR0S(N9G8Sw2hA^1eW&8>+E-h!}gOh;d}L6sP8DaB+?m$H#`?z`$^9 z?G%ogwOy!{-2$^poT@R&yAA;_5W^~1u%5u@+GZiBnxIY-1-|q>||kfQY;Qe&C*)zn=8fBUpQFCo-DYuMu2n6`M#)o z0G@6k^Rr2W2dfo0In#iv3ychwSqHxbb_Qzu2H3H;Zz%3gNp5%j43=*UiNh%Z$XEKr zvxZx@d&c8xCoj&orIBSXONIQWi5Jbh7Pgk?zH1(B#l>QtuMU=JcgrSu4Orcj>mE9% zi39N=(w77*cxX~aho8uqcVdnPSC&a|Ww{6|25C{VxQy86AQl*;Uzc{Z;n7?d9?yux zq z>KD_pgZqQJ*N{b}kOm;D$>)-IyPoK9u}EfyBx zqiO~8di>Bt3xO9inwM1)*p!h&o&T)uW?BSfUy+EEJO_7(990X-FtDK%%laB|e!d<_ zYc+VfMvKH%Iy_xzK+*~mF3oaaO)oq8)zqPIoC-4Xv$P?C%fiRzQ8Fa$3_#LWK2A(C zqiDSPs{rNX0vMXJX3&U{BZ|ybeks~lCiB%ugJI3InAz2UX`S>K+EhipSE6qN30hR( zA-`7+qgG4~8=o}Z2R^f8VE$`{k>&87nPb9~_J$N~^KZ#E(IFD?;k3vQ7p_F11Qjae zRwJKV4YyMTqgujlG(I$nN`F49Q-OK)oUCEf)S6D#JmrTpaEnA$CMx7IV4ttucIPT4 z@Cn${+)B4ugoO<_)eZ{F)PA2M>!o{54O0~P-0;a@nK+hXe6alQsInhZ6nMHVn7|+b z!%adw-6+9>HA;+Zs%1f%FXkjug%)D#YD60_yHo_u)Q`ih264DiHxAcp#j>{PH!6B? zp^OLP5?pYrWv^^`P6HDWVM^@X6w4yZv?3XTEHfn; zvlKIGaeI3?0p?2CwW%PL?h}_ufJtpkI6K$Cy5C+~uE6cp65L%U#G}nT++4>)-$qJu z9&!?YIV0t`Fp0{oM&itn7{uA6ZwzSA;@hUNHk_&C##sW(Eo03H_>2Mv-(mS97>Yau z{8n_cvv#~x#_89wRt#-Kn?^I%1?Qr}jjY5F(xiuKv zK#N5^OxQ`D?J43UU0tlhwWS)|Sgyj2mDG63ac`Xz56C<`CI|h)O(Gndr^KdF5{zmi zMX{VJ$Ymeax|;%rL>!FH1ej0EFfd>~JI9D=9Sl&)g1*VT?&phbC?x(bxd`WD-RzJx z&?Juz>zakINNwjLMwS+k77j65l+>{TvB|>-43D>=P7yVCB}_iQQ7K>rj@vpugJr6! zvT3LlA!fm6hkd33p%G%mFeR`z^Gl-2{;8tMPdAE@xSoLZ1||NOqJuX~{@LF%-K%mj zAJsi3EUOTKbB*F~uc?W+{+JV0lDa6~x3T>{MHa$2u!T&=Jb z3%clmRa|5_aiJZj$A=+zgcRj+m~d?Z*Y29aGR;|jG&&9&TZY47P-13{2;AwLfUDiS zSW(-J91aakav@^$GA3t6&kPEVZDXxCUzXEZrm);O#KINor*pQUpRG;~9lI@}`TfHy zTA`5eQf`Imn$;! zkck7avP&3)WjgOwav0xO-#}rx*>_k@--B)#k5h~pZEg5-vX!MDoFHS%P!rlz(!;Fd zv*Ir?}iz20H zBF!GmOqPlhZx0F#gk2{@6#`Q8+BxtSf#$QbxQO51^9{JTK+m9R-*_X|57J?HQv+%i zH6T7hPBs&*()MRXleEg7<``zklsVPhvGIzQ(it+Po?|*_M1sB!H30N=>FZ0yesEd^ zD411+R#gmG&_|A6rw8KrPeJ%+l@N*B_`t4UUdES9veGc>Ij)uy` zJPa;p!RD4BSklmiV$rHJ5mjdLj)7S)tEB}8hud**lmkWMC2Wt<_bn#S)}@#kJ36{j zV40?koh9p~Nm(tE{`$Og>4(DEg}Aa#h@{<_|6SBaqsm)pR9V1M3=%g;k+@F53fLa6 z(qnidEdjJozrK^Z&dP*5RB#)yrfMY4HjTsGmRwi68w8kd)F+Tkqsld7nKte}2E?KhVQ51m z4v*(Vy3fxu5LnRT*NHleYH32%!fNDn^ATbRgh|IE5Y0m<`E$-_KI#`YU|~lmE=&l) z?MYF1G~R=Uqr5oN(~Gec!&pvXTE2p((JFd%sg>~%ZNycxZVhhcfmXq;;9!KD_l zxY|Ajm->a_?{QX~Bb)0S*<9xdR9#$1VDcv&0cbr=&e7xeOf3OuEoODGpjTZp8k9Dm zbZ#ZQVZn&71;DBghCxk?BpC`RkF`2|eo)ZTsdzAIc`%XTGzB5rnFaa00#q!hK;!aS z^lxIoY+^`{%ogJ6>Hu6{7l^x?1M!4-z+9n7CYB3_9X#AvEybw?QsOO3F{zyaRSW6i zG7BLT_@{J@duf5DUuLHB`TKM&ZmyEy)><(}w9>Ggt@H?N$ra92tF&n;1J?Gn;^+h` zQ$aa9i#7)_W8YZnBVOFqf8f8hjp>&(GIk z*BB$S&lx}C-U{XgVqgm$z$D{dlYX(8IGGzIEUKKiMujJd2Q4mT#C+<-uGJzx4oH8LuBaHvEK!sKtS+L0ks z77XcY#?u?V4t}R~cye5c(cLtVNcij-(m_+d0s@1W14L~Ty_Mw!b3qWf#18_#KeHi1 zeiq`?B@ch{y?;usH2wcFp+A#^jj<_^5Tb!uElCB0$(qY_NcllXFv}q!&Q`QehQ%c! zaI^Ze4t^)|dr(}fU_hOo_cnD3B8?)s2+cM7n9hSeAL1C?0 z0X2aIGfvJj;qoFa@o?3+vQ&ZVE2X%#Mubxf71%jJhuxF4ti#QtwK6^MH&iVJg%xUyJB2AMB1=)7H8q~XS5H5n>g zUZTX`KdG>5tP$&mnz3fE8PmI%FuJu7W7^PRz*sV-bTVM|5CgW1GGOZ%1Ad>a#+`M1 z+}*&({f#`_-xQ38n}hL)c)Bz#B55Z9qiPPwX+zF%4(1h zMNQ%(6?rvmKUboiB2^?x+GYHa5)a_lP3<9zai+Sak)y9q^T(_YC@kL~u)IBY3}TeB^rh7B zQpYGW3WiCsu|)`zgB(=Ono3xJt_i0x7{5(0v!+P9M_CbJ6TCF{n5H)-p92|Ls%Ze) zma*VbGAx%3C9m!O#+0f7IYMxb7Wh?-LG5tuTXz@z4$Eoy0I}*tXjoE-*H7AIF_{yNAp4^IQ3GN;*l{8f-)@}Dio){ zuzEUd>=}wH9s5-pC1!@a@rxYwVIUIdi8#^YoQFE&(nV?miHjLaW`zFDnk5voBm zGOC2BQ87-5x&9%LZ@rLw6|mOgbUfI|C-crHfXu_=t-)megV_OeZH<_Ku?h?O zD>1gc1U>5qqEbN-V#DREc|&I646xkeOqt%PlNoIf-mapK6`EaLs>Z>oY81*UXAz$C z2+BGIA8kt;v7?^@zm2xDw!y!Rvted?D{2>3!cGoi8mar?$9I#3V>c6Ieg%SH6v-~b zw5~Gzvs})q{GYB>;rdS|^r@wXLdt(HV5SG1MJK?xRwkUG*RVh7uy33ZrE;oR#OXWm zewZDgQO0KZ^w>lWRNB?FZZ5+Yt2=nv$Q`A|mR@!oC9piYu>}g5AO#TV*ATq~GaA}) zU`T3MrnY9!1T`!M(PuA`HWHw3RaJsLQ^~ooBg?;v`Vu!tkho5s5>=)e!jG4k@MNhO zmuEWAsF;!6c%`T|X(c#1Boym9ha+E<5*b*OG&3tcHfy8|rr)&x`N2V`=+9nC?3#nWgGiOeT5Wi@rGCnt+IU0dvjmS|w z&VW32awbScSXGq(UTZJz5C`E_a=Ytl94y}|9*a2%VNi$!>HhYLM${{MHLS32O;Z;d z=QA;2eSWPbgv)SbBG*B6ZWkLgiZ`oT(0QlP=P?aKQ_?V+6tt(T*;l4ik$+!RI2`8* zEFZ5NgCb^G`ikCvhvipaPtyEYol1awu|hN}uf|9Mg6oGFabkfCcQ*v!?k0bnS|G=| z!4^zyYe(C1M&yr@K(7=sd9}0@fn>5&WOGO)K`5VJg;fLOI5pjfr%P=}qTP^)hj@2f z3~mjN#j$R2m|ZIx9SS;8DMpKICMg^$F?3QP1iWBY`0$^MKjJ?=kDZSH{E&$i-bf{U zSoA`~g$fAJ2+_EV2EFSUF}Ae@OZr-{eY6p07pQP?u?&}%5U^S%!xDY8eljnM2z8CnEKuYx$8MKkH)W77)Jr?LgR`*EGlC@fQ%#JWY) zFsk|773Bx6RXQ*9DwW>MRLCdCJ_0IF*Qr>W+Ix#E7+TK^xrF~-^T!Tevk1%kn(;RQ zp-T&O*fPw7xG>pQBir|-oG3YYUOh@$xk~v)F60YWrzu#jl1q=BeH}PT)@1rz zDr*QR>+oc`5swKdKVCv5E3G&&&WUPy_3UgVOani3L+yA*yqo5mLKm7 zz=+lyEQ^G}s98*dE;aRNUD1g62nBPDStBiS7BwttVo}Y6P?ax@E)&G$XTmHBgqpaa zkqem}&*@TQbwf8Ubxpv+Y7wZLV8x$JVsX1w>UP&G-GspMKP6((E!>QZe(Bq;Wb_FQ zRL`bMf#oV$Q@4Ys`zXZ3XOU$J%Zqy0n0#D@x9BqwViMr5(IKqB@AlXjOn)u(3 znbK6_4z9?`k7>7-%&o+l;SyY3LuGj+z*-G6&ex`f;5aeHBWi@9T!IOqdNHKrvvOU) z{Mcvu;rXT%ueHT3dWI?z!2t~6|{o-e%7#YQL zDhUYjVK?}}Vf2HA%(qI;{k)L84lORAddV~|j$ZdAt5$pr-Dmp#MdWu-UFj3k%{VvL zz@+AA`{nf5oiD;9!noQtZ13*Cz5x#G9pu2cCT6&uGIr2>?6u0ho*$x|5-jgyz#{?z zRJ;2Ad>i^!H}`r1q6e#5gh3)o?Sv+$TnK^#P}yt7&rRL9-ZdU~x)4aF zO*z{8(l3&u%E{>$$whrNxT3ym6$mJoCZnhamkM~$JKD*#a^EG5Dt9(L{{F?08kP?U zUfRL$z)T*ZTq2kW+;17Bzysn`++C%@`hg~dn8gg1dsegK$_yuN&kAJ)W;C_z|NZbI zN_u2CH7E+l`bOi=UTzGn;9|jz#<{Jy+=FXM@=wP&oTUx|)mm=(Z&;=Ueg_K0Ag5lL zzS=Oq36`64uv|6UzhPM=3&e`vHkO9*=Tsx|$H^EkypAX6O-A2ZRy>&N!jl=1Sk*R) z)jGW{I7Q!2nNR~xRB+=T0?V@tg+VVBrmyJzcUXRR?bGL#8d9k_q(RW9=>)kvV$A5K z!OgWiJlXEgbx7JI!O7_cEa_rKwR{HRQ3_dip5(NVkNJ82rE=k$zvRwkFB=&%yNf#50_x~a66eFGmcI+p>!@ynrP7Qu5<3x3NgNh9osrPvAd@O8@f5swu~N9Q6PiQ zPrY6(dJ&d%H{l_1$ez#?rD-8(Sj70=da^W4q+A{aj!xCH=<>PwdJJo7U{`|Qf%*Lk zfT9cnrhu`&nG3UP+ac!rr>QkOxP~4FhB&Z)m;-eSDVcNp;{SK@5NL;J(MV0kPjHFlb4Gs)AS1pjV)3a^`&SkSL4zzXjJ)T2@g&cbYr~7g-E6Joo^jz9{1ob zPCPxOPZe2CIuMi!mN`x8OgK7MfDx^YI5AHGY!M=9gABKq8BjT&oa}QxCbe+k5t*aJ z1uo2N845cAYmHohZl#G+PSXg-dhl>`EdJ<0;J!>aHZ}L)Rv)e@$?Yy&2fydrU8lfu z^;ldjAB%AbP6T}glAy`Qwk118E1nVx$4@CdE7Mz(ydnp(&qoWyGCI6+j z;y?I0{M9a^#pPMVv76_@9kM2y6*0fDxd{EeqjEZNxpFKnRrR1>R;w=CFe@Ry}o-Ver7PUu)h9f>y z`QFcmDz>z$sKZHO*e@;8;`mHG8kW|uo1cu|*YG<#hB+K!7FDJNKm*I!zza${uuO~d z#y2qF@K6V~^>?!FsxRxzCld!_ep}1GBFhw(A8if7V**_R8)y(5{N>~x8PtbMv2~aM ziEA_|MSZEG${Z-u&S;P3gy7MvFg%zMfd|u`1LX-^Tj#rDJeb!gf;sX3$?zjv|5~{S zc|ug^U&@Ii?c;E_claUqfG1`GumstEFPGD_=AkxQq~fK$91jLxTM) z%)no7faPT6kmox1B@*W%X`LFY`{*#Du?71_I2kNIp6|l3k>Oa-CLGJ#MdI|(7(95c zgWuiZqSKv3aJOR`Izkl7> z<@3m~Z;XYhTb-W61t44&5$oXkzZ6~fEKEbZRV6jf&(R@qsf9Q!Az0Bq1V)wMwKtU1 zi3`)n@N>y%+^FKg?-ksr;L@b86pZh%{B;hR*qWh% z%C2D=qn{fVD3C?jCD=8PMuVIT0Oq%JvK+(ry)BVTf-$Crfk_o!S)#>(NqQ9UO1_Df z*dIIcRLZSpu)LNWrY#DXQ&r1<>2*xIIZkV8#^GUhtm)xEj!4BzBVH7$+m$on$b^@} zGA*vVG|z~JMGP+#IDP)TkU)U>*Rhso=@(0VEu2|Y*})vjM{@}%&kn=Gnc;Xaoxt+c zNZg-HV0of1syvne;pkZW-ZKWHD_JnSycv_KI#G|elQ>bcYV>+TirQDBNkPD z%c8#P6+F0H+Jl)n!;qkrBlCO8KR(~bpj1IM{@!i`et&mZrp=?0RvUnoW+X1La83o8 zC#pR4WL5+oPbbdAX;REr*U6eyohjoQUk7~D*Vbt5IXwOWRxwQ4+BV#R@> zF654sztQey_V-68uLYN@a4pl<6b*+-CQ5$=l;2_bYpZVeN5%YV>>a1WwPk9i4}5jG zjLDuA&L)LG5aes{@m;6(Wzsfnikq=-umi^@(=Lu?mTR3}Hg(3#+?8+HST&Y4a$#c& zC)Txcp;3MvOR@RT&yg|n`=!B9XQN^+4gQ`Kio`i#xH>)pweuR^`v9hgK!`SyXu(1ws$*jf!Q;MNdY@`k41@!F!kSYM|; z5B@3Z!IT_fFp32qrHK}OmH|QjXjzLmw>ve!Z|?@nEWev6hWOG|e6ak8z;f~&J>Ty7 zjj-JA87xyZjB5mzN9GBELdg57f=ATeDa>8jRIK);+@O#Kp>JJ1j?XaS zpCuaHT1BOD6*#>>iA#hZ61N8fwi>pFx%t9bwD0yVbz zR@qBonSK_rFaR^#SziguOm$*z2oCj$M7{{^7dx!E0;xdstf9vv8d3HY^`%6W2>_;~ zU$Cfh6c<(YrC%gRl_?P3qd+)}OEKJ^DH&bMt z*U6z~sTlN37*WXznfTvD(cDc=5b6}uVb^F4&dk@~&KemWZxZ6^HXf381mX_8o&HIT zL5&Qo`|F$b5Q|y|69~`cV9wZ$YO&Z|G75I3IDOja@38!Jaw(aX>UV&6voS9kt;X6mP8=TQ!0Zk-Saia4(}0A&f0}RFx}b>|MlJ_+Qgu75 z8qs@0GS!q;5eFh`gaFlx$k4j727{ZL(6gQ%%_=BSIDsm|2$*Exo92nWUfyUGPL2vg z;>-w~8xe!@3EB_JTcfuqv>pA~`5Z9+Im3VwIh5bm^IO6)FDL-b^ILGZza0-26Ifo( zU2|WbQV~yBte9I9OzPR%;71idQSr(A2Za`8D`!n)#Km%<_OIxUsuk z4B~B6ulUPdkB6GY*fq$8q$SCq?Bw2Ga#We77EGn-1-|r)7oy7dM#OPIIMj=~g9$8C zDD3BpD$`=N?$1S)+rPS~@A`8^eK#t`;;+&kl(K0)NwWyL<|r_?sHVoz#d2UjpJ^=9 zPOGV4nY9J~G_ZV!%*WjhUfgKq#m;ImXc2E=ZNID_;9ZpbCuI<4k;*8ag zGN)4H_zuh8$7h8k3d;TKQc$+A{_eEf*^Ev`ctRyi@A>;Yy{L!vf-zZRLj_c2P+A{eQm+|fp%!+yd0Ckq<`0C$pFhe43NJDmTADi zrsHDsC?g9Nyb6|CaU6lmjcsD!(1>!b9)Z~9{tZ+}UTPt*oLdMSX50)pKJ-=}4&fS=*3<>irjYi7}zK7~e0H z;_?1a;QPX?;~~ByUk?Nz?HytH!3(f_Z(rcV zGXLT?Hq!VQ1`U>VEvI3M7<8}CYHfm<0P*YWF5OQwU6aEJVeQE?Dp4dFt4l>2`QBh&8yEcAC~hrD04Z1=%1j)@tIUBQO`QgP3){=`J4GF7jJ*%tCR6C zvxyn|2iUM>h!qt)(o8GwbFD!P^v9rT1_sJBvOJ`^0fN7genH{7M2rMW2C8vpp_V}? z?Z9|#jko*at#u*-%>vxn%wq~G6hxA?hGE@UF&uXO8?WZ7#%XYMY7|oDIIy$712(nb zy`uLtP39A)2;WWh0`ujs6&TfC#k9RY=Gzo1;UyG?qGX&By;>--Xk-W$j|{}(5dl~< zJOH0}6r({!1*}FPlka*pEbEzU+{R8ebg!bv$tgBGUT(!-Ga^wUf}dl1;6+$oNMTw0 zYFJM1M%Xt&i7TtrZ-C`EBo8CN+%yK!Dp8I_m*c`^I6le7WYC@!^*u|!U`1=bqP}}9 z{USqDIUSV8_@c@blt0T5RnAb?7avcxGxJ_ieWc}V@GGxI)h_>=k zw`>slw%}uY4;f|+P~h9KO8oh?6pyy@k+Q{G;74IOB@7M-LnJkTY&jJw1fHHwP-b zH7f7^oNP)VzHJnPq^{n)@bBt7QH;QIo_?13u$*@XJp?;e*Wk!x6VA>x;M80_CUn$8 zE(y(5jZyMK)o`hB30AbV;lMx}%dM45xOpnSJ4!3W$~IO8%HOoJp{V)Y)FBG`K)G5` z8Fr4-~mEpvEHENfVesslt-h<5# z3ONTo+vxG#N);~bl;ZATF>ss%{2UA%3j~e^;L-jNT;0UM>6JlPFjRtCWtA}LxCrA0 zc$?AC9MW`H_BAb_#XoBX5MU$Vmbx?o)!e+7bd9rfPgZuzux*GpEox2|-5VR)&`4Np zxBz=6X>se@*TXV}%0vQ^^J_#w!RKVVW93yL2*I|Y20U5eO}}`wC=!nd{LvP|51%XQ zb9vJ*e7VZcrC*HBkbW`z1*td|RVJ{~GZx7#svL*w1e7neiN%E$9-MFL#`y#n{-{Sr zO(!l@bECIag?|^yzGpx?t^TV(Vb)}dJ`X-Wl$~D@#$eR^M2u1G^w>4dfQySXxI)I| z`8r&gYsAfYHr$>Ufm^eqaBW&NE>DWa#c@&iVXy&aBu)jS}sO+QsCysP(0ZmfRuef_Y4N($B%+2BUTrCH8-9#r+dX;532c zlRN^+oD3b&0$4Y+G+W$ZTOO|YEwX)LZ0cpUSI z6`?s$*FoR!)OH3uSR8?rB@wtbGaA2)iNJ}`k+?a{`9f6LmwxeLRC!c}sPYTx7c@8b zZl5^(-YFJGTR58PhKT16tvnPJ$y#kv)_^8u3@GbVBSI&HC@cU1E`jclKxV7xEmr|wvzCAQ zEh~M#Tv}jRMTgx3tT^(88Am3VF|e@?Qem(+#o|3)n>x3&^?XgI3cK37aHoG9lF8b; zMAlxfA_fEo2IPGQB_EdaW`xOM6kttXBTh^;onA?*xp@E}0i zFJVYKMqv4eV5EH?h_pjqSbkP8RhT(4Pxc1m$u2HZw+rxivlvIG>CmBu3f(Ij87yxm zu-un8S=VOUn7rTK;nA>b_&H`zC@j~Adj`u>2rR$Nnx;;LJ6wb#Gvut@^=l)`H0nwY z^WPi0&^%J}Mj5QEu;W7-7;$HQBo2>^K!-|NShZqA8YK9#nGFwS&_)}s3`KqEQRVp8 z7WLgBu$cwbbkqZ$R5WpPkckRNLD+2_+Ai>A*S+eu2P>Vw`D#3v7 zMp|(ED-(X6X2Mrp^zhjEZ&j$BnQfx`#;z9N^O`oCqg@ioI!q>O@Lbne4F1FjA@?JZ zeS{(XHkLtz5Z>2{| zoeg?@I;ocw_X(KL%JwZ21(3Z$7LG=Hs>CXB#|O(xI>tc4q>SDl%4m1Op)HlT{I!e~ zBp#fqfWsD+r}skvA1IF>W<&Dt7T`|}($30}_NxeK$9YKmiJM7OnZk164C(?w&(sCB z36Z*4iYFVDxVqGUW!=50J9HfSJOcL?h2zPRNK9{MK^QkQ$5N60E-e4gx1L9|mE+cW z;TvI@7Q5YP;lcK*#5s`inJ#R0!t$W{My%}{fq0vUDNxYoP4|si#lyOuF}OI^jR#+O zaDP%Piz?rn5Qhf@mhX?v5LM1l)R#)crRk7?CR|;oV`n&x4T2*@MGs# zw2sq#91-PwSk9ZCA-w``SX6->1FZOAj2YjJvtY$Q3x1evz=5#_d^Cga+k5 zv$yn&BQ<=cO-v)RD>|B?l!oQ0_ur5}#rjS(1;b9fdo4L2-~LLO8by9^=dg?L+t*&<`m@WWDD4qvS{z1!$7SRpX?hH6PrJR33u-avgIxWx zgFwN>ma$q~Un|9}brO8pO-*1vFwY)rB2g&D4-ZH3AK}0yy*H|SI=yXh#;7s@W#Xt% zP=2(}9}oBXA!R=S<^BGwgWZ#zG^)%;>J|x7HY$AT0y^ASV8+p5b{rpJNAiMjZ;{!8 zX!Ne8Bx@_@B%a;}mg#dd>v;HKwiJ)w0+w$#cjHom8||Xi*{U8y-)G~}Iz$_UFQp67 z{7wzALmkTLaq2TSei-P+-aa0z>F7YCI3?PZ)Zutv&r?n1I|P&y2`C@!=tcvl24SJW zuT?|IAOGyML!~$bz3XamWU>)w<{EH*kq+m`*fCy<@tqW?QBpznkN{i`O~3Oa=Yb#l z8WdC*Msi-(Dxt=tHU=E}ECNYW-FQ5OIC2D*Z;|!*Z7T=L*yM~=KC0aCd|1v~i`=H< zVre@I4i2^8yOCy0Am8sAYXvrHfo}~+`^Jn*v+Wq$!U(B|lb^r*7KgIiz{j%IHU`U! z+8PlOoOk4eX!N&F1r-D34V~<0RYLVnb55fJ^~1V8g!MwMkq`&Hs+_VxiIi`(-d4+B8*y*31@{(tJI6g<6os=BV^F~%!@mmrFUJnM_krc~ebJ;c zahNu9-U!RL2rS=d^w3^OqMe{rc6S68WUHFkQz4Lz_6yhVhH!pWCCG0rC`Nmo)R*z7DN5C^rRj-pdXxqY!JAXz4*Q`kUQ;)RYl}I}+_C=Ms zNIMqdjVd1rKc-Aq>j?lLHaT7YqERv{k-Su_k@Ld|nV{^_Stv9?lzK`FesIGs}fT z%Hw1!Xcl~ne=p!Gddt{)ntnc7pgFZ(6z&a)!;f7&#EvQQW*g!Bkz+U2^s7=DiXQb; zSpT^OKh4tN<{Aa=Y>?pIW&s{-3&VpQTs+(rjMROBz#cBJmDrSZUKN+C#Eu^x5`|&4 ztccc2SigdgR%s+3mh;YV_?k}aB(S_|fE6|3WejX0j6yUjt3rzkDlF=$$Ni;Nq%I4` z(a}+GnFZd;;{50LN?5KODZq~Ib^^>c^sjDUS5A2)I-ryCFsY%L4)tayc4Rkma3jjAT@)sK)O#(-+93`L%{x(9dW+&z;!6K`bSQ3M+Q9{L(Hbt8AKlJVH(4rK7;2P|VL~SfRt{I< zyXi`tUZTLmongR1;*jqP#ieiL_<5!t+eVl$tD_FB%Bo>h3f`)|B_EdaN4AXMpa2XY z2Nwmp-Fx9_4+6ml_0j|=hvJPp#E0A_7Lsa=k8dWCG`bZ#dYzsz%iV|dO zVap0Hxg5;vF9CLCh$^qsctP10RerSG+h+M8?Hrfh3}Y6Vo0(2Ln(oHKuVV4@U=N1Z zw6a3j>;g%;w&QIQeB004lw^K4J;Z`{pTB~I{ZXl?5T|DAkh<*EIm=fQ-00=jJ-t=Q zEBilO!NZ`6;n0w|$t}(x-OD^q5H!S*4+zXZd-4)6(=|k$E(Mu8Pq+|eV})o@HHg@M zKeVhCget{^h>s9KPXL*U3DC3RALA6|!*bqO#2%vv%UgSk(7x$pL#YUHra64{8m?J+ z4Ia?^!^M#p)7-|2{j&2KHKSf;fkMyzJ0F%m{9zeu6k>@l-+ESK144q|twlG5lj^omd>A9rz$2-QjmGHqx< z3kUnvvEuGb2Obev9$wGN+F*ZZSgxv<;$-(ITwkWZ?G4`Oazc4pbeOx-YJx(7F?^sE z_is4y_(}v$?}_q8mCwkKc2f9ED$W;GPWdhna|X*<$HJE*tNs|%p8Wn!+A=spRC#sg zQDxQ%Exl{pG+)QKNgh0$6o=bm;xWBZB-Ggi%+zUcn%}9&D=?gBXP{Th%Z=#GpCNJWg<~O242t05zO4%xh^z!{SPo8(T2{9M7^LCi|jA zBO7d15woxF`>YH4_Fwur@UQ$M;OmO=m%XB!c0_>TjV_orn zTPj1XQZi8eWUrz08qEI^_|z!5SoXODkM{-v-vwanL3zFOJkxY*Q*%ae_`xlV#R8%0<$SP2=;kItp(7_|7YL{S;e{S*r%MIz~} z1w(q6@Zh8>)2K3)ic8uVgt!=9rhA$mYz@jvSvSTfo6@7ox@RqeeYwg{qsr-Bp zP;Fmdw>VnqetSebW+gi_q|}u!RM?dl9=dz=}`n>!Fr~vckmt^Zdh)ppZZe z{WJ6}8BjT% zPhQu10Q15^FsUo;il<<}d3c5tRf~&RIzwn^2t?#-k!U`a3=`tPE&^}|{BdV{C_2=U zyfRPTZI$5Sg#>GZX{LwuUS63);d%Xx3S1C}Z zl#u*R?wj9q^^32@#UL%o0bIA^_k(5>af`5LsR=lhp#jNJUjq^X%X?-j$b4j8#7lwG zs1e}cBn_}hjg)T*D6clWLsU7|+XQ2rudOnHZWL)FF613w!>oP;pp}VJo>|eCFFTKqeS`7IUkn)c{#NeBE|To zogLe{*fE!Q?4_J4a_EcDt3C()8gkI14j;9OOPM|})kZB9EyVrBURX|^6OA?%$U&nL zp^8(E&SjMNyp|CID(g|#t%O}IW{Mf~@BE#%pap$b>t!M&nAXgUJp-*cJi>w>$D3J) zpkHSiae6j^F#=+=>BRv8&|}&wQQ9S9txR)Ef!|IaEDx?}{6|HWsT#(JR?pNh+B1!1 zubkC?$+IaQBgDa}8rI|^af2AA7t66=pb`_iNw8p$948h_kg|u$#RcN=-T+MLBZPpT zdB-Li-5cH1ggdjNkvi9jr5(c|5q#Lj!my~Dk-_rX0W?KO{NA?$^mVEJt6naITQ7x7z|B8rKJcJ{6N{3E z{_<)i^y@k3Saau&AFA zG6Iw7MwUvL)hsE-kF%A&bOz#xZRO+9jxapl#UUdUk9Gy))@Cjy^^!m?oXD@Sf)X7k2oKg^I`epH8O!g0f>zj zVO$RdPA(5d(zZ~f?xU@23$p?$>vTx_)`;Y#7CfZat3Ft!*Q<}_ zI`DXw6A!0(^AOq9>iBrv8xxNQqvG*!L=oH=7>~0(VsWUA1EVTf5v3A&H4_WHK7vrv zCc(1SR%|1%wxhQV%Q{=oyo?%76Bh#xT76(U?-EyA^L1-QPRM+OJGrihVHNeZDL_h2WdB>fXim2{-H(NMmnZsL)(de*;j#-A9&uV^7nyHyY-BIl_v{ak3AZvXdo6&HpRxOF{ByYmq)1YR{h=f!;xtH|X!s zd189zA6Z*!`gv$^dGiV?9GRjgu&l+ERVo~vr9c%QFc-|Fb6CKqFJHhnFX?lWn+p|b z@p9V)8Seh91x|~Qc9M@Ba}8R~u(xwKwvx~AO=sdL7{qzzFw)6*nC#P8UfjxpaGFb6=-mzo zTCF~`xfXvcqS0k7mJc#ODtZxo{aEYMNHY($%c#(lI6n=@A?OSjKqL%gbD7!S^*Von z=vQBb}DDyLmEAoVvD8dg^_Sf=SPWsAu1+d47uL%`FhGPMb}w*`=S z5Q5JOVd@vOYMsiZ(f_VafMoYr@>;|;c%#ZDUsT!KfF!f1^8G0uJenMfBw`=V3?a^Q zj~MLj6ounGUAR4%z%sEBNyJ7Z_KL+FYA0HG5JR1wLRkYZ6I-hB(|8LGjJBfwC%Frj z(}_V$`l~M&j?0EUKJ#UW?Q-ax|@@ zVonG>%o|sg;KmLCa3p{@(0;(-!tADr+JsB%!Z5R+0_|&Ykx(uW9cu|Ny{8tJmg@0j zy%u-BHsR8ID;_RSFY2>D7geUZ$|lEcbb4BW`twMXzEO1O$Be`UC3x^sK4H;V&#WImLqBwIw+&{a4TjCG>sJd~%14 zhej277}iFHg+tW%alQ->cLm|mo&com^+O7=)hXL~c)VGH$Fz&!Y8@V~GUDMf3mz;A z$Gv%xxHl^X*Csi!v#$$ZHH|`-a(a}sN+1zs;WmdhXi)D5FsJKxyq@b&oGEMZQo200;j2RP8iaD;^5(7KF0P`AS^5>KP4j{ zmJ8>3V`4S&v3H3aI2qmefP9g{4)m8+UOWUEyAXS$hRsO1xH=;>_xphf3E1bz| z&;1jPgg})OhuV2zd24SwT9;Sn8KXj-mVTAgtUz&nCp(%IQ@*qDrk^!9BoLoAR1r|t zW z#F9#pQ1U~4*QkDIQB{PCUrTX!vk*Vb7Qv|H=bCx$(>WaX|F8oW4M;nuLh30A`gb%i zXM@6W!%8CDAkg*XP#_M>kz(^?8Ln(3cH&?mr0u7vS;4?w4zOF`t!3CON7@E8exGZ? zzyuZgH#FkTV(SZ0t2LbrM%%pah@ zcQaH-+$h4Mom@QH6^h5Zf?2`q6FMivUSltrmtDlBZ<8QxqY6)Glz+7msVgiR*jV5+$u6R`>E`uZ@zZ$nbab^kzsagnVq$P ze>}&l4No1)T|GUR-q4N)9yL^AUam>c_}706VbSPN;1rL6GGmFO!MMGPk2ZB=|BOz1 z`LO)q4%FQCo)mH}RuhjKr+iHZUVvqK<(jhJ5BGN$#)Dk}NF_%3L&0*=h5{DZD z$l><_EGH6JPHaPfxtRw;;?3atnnzG?x?-dV-*)sC#m#GGhK?0>8xuAmDV~g0%C#w$>*_*fL9x zu&_X1>+xXJE+;_iS^`+~JT$DRz=gF0j0r41*-PMTHwRC4JZo#6x>1SyYYZ4d0F$bd zOlfb#{UtVU%jX4=xa&*5cs$#Qbv>h@AP4^c_n-gaUzx~B((kF<%Th7v_0#Q0wp>M(mDIRNodVodER#ZlsLCKEf5vWr8Un-DzS6NpE9{qb-| z2<~qpbGlZ6T;a*=i{)YrTyn05L*^)(;GT;hD_&4=YT4_dHR)2@Vu7~I?> z`7)%N0S`{7koIflu$+1z0Lw>6;SLW%*|;!l8Yf5UP9C1T2Q1$suzYi5JmxozMp2U( zVb%GX`#@@VV$H&7B|KMvfcnq_|HG z%4I{v;1R&i4Nl(3es(t>ovd0f`#-zBXd(XBI5%X~Fe*HauQxXF20* zKaIfWjlywtN(@qGyD+=@6F{-i^CK>;&oY&l(l2Nmi7{9IL1H{owA}iJrv1XhYQVHjy$cN8|<*Z76CyS$)R)U?iqA;zj z4Kf}l#}7%GH&w(f!|9!R;P(veY%{c?3OSJLk&S-2XY5O`e2c*Htp*+}FC7VCNHCNl4#w3tvs~qGJ6KWDE`2At zxm+RDMLzGKA{Jb3=w@)WvU&uTx3V!<-Zqq0-b-_B<^79BQYGeMb`ukW<&|x1C}kJ_ z{X9oN7>jQBvcY&U~2`o zPf;LgYY-mo;IOMqY?I;oay@2r)x)UbXIaFBJ_9}{1dGcO0Bq#OWip@ROIW}Oc|PZw z9uUPGQvA9|!Xkpl7syfCBh0idcecZFUmG5t(LaqUr~Ts9RX(y*irVGm=-E__GI0X- zSt&GEDlW$UnIb&dOYFoRaxm@;!=;r99Gt8|;@3(7%igxu4_BG+aJhx$DnBMR;r5(p zG%u}y!z{=7@i9o7?Z$}OYW(Xp&w#Eay;OkpO&qw}^99?`!h=f*ZZwZJWQiP~R1}KM zgADj(k{KI@S>UwrvwU9`U`4M%DD4tsUSB5eK>5ZR1x_qbVaqrvhO| zzOmTb+J%G|HEVPI-#iFC44BCpZd{p9V3orhy!$K6nBLY3-Ye=P{%-MJFmXsK7Zqdc zSS>D+{c)2xIJBGR@5?0EI97zt_0+JN_+-BQ*|TSJNaleRrx$uQ=-l`*brXMxdBLdU z&|pSFIDYEw!R;YMaBr|zCFUAAJEvERfL-Qmz>;0Jq@jT*S4@nZa}{{S$}khGJ7KFy>#URaqA%ei=Sh6D#;Y)KP-Yvjbq1`c#}=~-9ZL;yxw*Ea>{9UWQ> zsH(&6el{GNV8wt0rPrY3fzLx7l|fat*wTf7epfp>lvcf$oEQE7Wa1Ef+K9l{RIRsz z-?tLnS|>*01`+PiYsxKQxWA2y2Ro?FvbQNo>VAKu?I%Wge+UxSNwH~^3au*3nKDDx zI>Lof+oHs;bzN*ef2iX?8G|fSkf7-dt3H!4RgC1#BJ^z{BnM>9=h~0_)QX3vG)Oz0 zp{+GJ@KTS2;K~*;ZjxtxWWErexP|OMryvk*GCZnkb zf7K(f9Hq|^Sf)*L7IZV<*hDjqPO_kao0nzIjW=DVFl;&=hP6=R&=dpyBo5=nWoler zsm75RI!x{+NA(gCh(%d{JINxVQa)N2)#BS0F}T@34#_lCu1_p3b&bW?3O3l~f?TH= z{^TnvLA4}& z2?;&GvP`@H*OQST3;m! zCNU46gv+q8r-bnQRE}nqMNrGbo<`ZSG7Uw==VDp82r`!*TuyLf$|qK`CWBr9 zAcfJiiW*neh*(Ab>X9mF6x?jN+JD{X-pYi#Ka<1m*B9Gb2LXruSyU+XpdY^IqJ63) zL*KJp!bOjU0*q`gL)|h`OzNb?{ndJ;ta+iWHMIu|B3VP2!^0zRWLON6i9JY}?!nAv zHYS^u*`ZG7jz;LmRJ7t=&$ySO%D2cf|Eo5E<;bjoWtuwIubu%%Cz$c;bQ4-sl(Mv+ ztN>*WCzy3YT`|ajKNjkkjNOcm*u~5P*{_ zL@4Tzyma-LUe(*Ik{qXI8}MNDn_>CJL>E?cj3%I*d65-0%H_=x{Lz^h=Mp*=Ri^EsyHzkCC@}AIW1_|_QX$0dnlZRT4*ClOn7cT2?68puL$I>52|tdv z;K*bPsumUH8Dk>h1+zj+TBNwKvkg@pviF7;R?JD(T}Vg}>;?|1mEfaif*R9$>+sD; z9oCN4Vf|Pw<_y%JUkfFgRuvMs4u(WT^I!e5+|ls1S`R=cryiFZk~K;|`FLFiO6p~= z-P2Y*7w47>3H0-Eb*%`MigH<-_?(=-8WnW7^}P%@>5D3-x3$jDfaKv`f7B~4_FWaH zU*8u(A^$-52L=%c5Mups8dWB+%xr-dloxcfVp5xM+?nH*ihD%t!K0bp1|$!sc(ALt zi|KQ}I9~;QX*ty+l=!`q$7>TZMwOcoSg!BJ#p-S}4cBK$&N8iqXi`>#Bje3DIn9K@ zO$;p0_e0uj`dTtE2cI_3;JYu4IJZEL-xug`a*iI;dl*<#B?{8n3CWq+E$ZaEv|`Mu z9f`|iF79+AU`A~9u_i7gM5?l^IZRe-14o+pI5ftJhxDwP9E-&*qM;CS|5jct-5Vx# z7^Za5;mkZe{#>eI>14|X>rgaWhyZfle`vduo<<|&hM;}C9w%w-4}s-7?LD~I+>IWw zMsUbkT`&vnAPsEvZKK4KbSL{r#;9_-F1uHoJ&ozJ2ccm_VU{?a`LLXabCqM{d~B%| z&0zUF0cBb(e~TQfduuuoDdT5*-WQD)gm6MJ;WGfJK2zR>sa3+C!g8xm zbh$z^`E8#&mBboV!i2;m;DiQXc0VnWHu7-&GAdZe+aQ730+S{TV_F+u(cTkA=&NFE=D;We#Hvpc<$9Q{hukYcqW>}%;{(XzzOR4UH% zEUHZQ&&@h+oUiOcS-m1l>J}*cl!%hx`*9|mm}b(LgOfPj;0pA z&m32dQ{dtx0?U)g`Wg|B9%YQ)4zllPr)+uwRt(hRG;OcFNQ+ClqJ+ag+nGi34pmf&D*aIX+pzCmF5HUXx#PF=S5si)UZN+l0# z7de1y=GVgV5dzCm)>jv7(Vxr2T&x`UYFMU`Wm@$OtV@r)_ z24xhMTbIg1uuMh?ofJPbbRmh%{gnnZs%*#*5%WX5jljW3GfvGiV()k(V$8feQwR~R z=CRh}bZ)5jb-74MmPGq97AECn3s`YjDCSj+#LXrimV&Xnx&z^|H)}Z42wjuPQU=RZ z?{&>6HN=9Pb&5hc{@692*nyvX1-?gKJnRZ1WnW=T>Lo!jhY)U<^&=6h7eOHmgGI(e zn<9D~Ywt!PyYeTaqgN^}J*s@OzSkz4DC>Yx5SB#_Zege;LD)UQgyUbCuy?E(c3mjT zEq?FUCy*9r7hryG0^&1_I6d2d<1>wz*GCJdRg^1bMxQ#ziYLHMGZ2v3-!?d$YObCnN1 ziz+|u*RbCo_jiP#M}jg-&WNmZNGS9C+c*BtH?k$*`7y&XT|i<^Fy>Ya$C(6g3dTh; zt`ShCxpub+1g<3DC*ox9W}?@5ZYLj?PdI@quYu(s0&sk}2=OtJS5|;iBT>dB#DxVW zq^{8;_3P(h`O$)CJe=de<5^B@`!pIRrSO&DO&4EDgBYhez5}jfzz+?^tV$8M)5^mNlQva}hDI3n-0ujuftc3O#9;aCJUu>5&>}F%KTkLU zbRIgC)?j-#Z$9~?h9*b_p&zA}Php`?yb;%$5vP~T99IV#G!AvQ+2wZJhc}jnqgvnjTg5U7>#W{2`aTBLF)li;%X9{N4^eF0D}F6PFl; zUU=`!o{@u@ItKi(U~C%@!R)}ZsImw5C&l97mvOi^E*^Kkh)42>cpU2)howy%*xts4 z>wUZhONmdT%ET6=tK$$Gdb740*Q>a(qF5BTfdN^zZv|mNnA*|IVEOnoBg%U|geI>a zibe>qs=pa0rjh+lAo3D zO!uT&$;0kGF5LfuO6A32N{tAFzD2Ve8hoO+4WnD@aD2Ln-46UXO^^09luXqmM{Whk z^Y;*7-dr=9aRznf57mr8EIog-=>5>b*J_`L@z*91aK!JGQROEG$oKn*ec2Pj^rp3n zuv~t2d-L|GEz^kjh*e2YSuaCFg96>i=%rI2TENTtHUF_kmOUyVeyAUfvkA{qFs@Tr zrqL*3TrLoBiq(j-IkN1B8dash?I>S++gBI(CGQGDi)y?~rJY#u4JQZ_JL-|PUWeOD z&G>eZ6-kR|^?NuTEsDhE0g?D=l+&BD{G}T$KT*H(prP07O`Iy+>X~_gABE)`1eSlR z?uBJKz9c}#3CaDiOmiO_#c0@kC$@6q0@a4Kt6%c;=>b%`xD-E=1N67~dK{RfLxho^ zXAYbQH4k%|Sy(E@rY=^rDWzs|M<3N~5iyz#BUL!t)P=+rWNkK$#l(_U<_x{f^*nQ& zcp>I(Xh+FGIT; zI+lV#BSdta7xsHuEv1M}gq7VQad((Ue9Z?a^$nL zD6YZv&x;_LtiiKgJSb_Bzj5DiLIcsgmIlYZGUN1YBYv80K=-=poCDT)fEWvXWzV-n!fEHi`U$BQG;v!)TXi)e85O9viJcVS0w2W%?- zOI^B{bew>L735hZ_sU#n`Ajtzt`b=OrGf)1TiRLP@`^SVXr-K7f2dew0_<(@%(B}{o*GsXV?B}F59^4@g?}n<;u#x$FmtxF9WDj<(=k35o3;n1nMo5T%4$oZx z+SQXHc`uLYt3Rt?e|B~HWKS@j?Bd|bc0N+Kijlllj*9Ve*8HM%B^5ReF=9|d1C$cZ zOOBLM%t4omdi*rhh0CKoXj9sNN|D5VP)HsTk2}M>ZSNB)DEEzf+SWSBmlvDF8WhFi zdP6rZ)g*SbiW@(bb|PBHLxC)HB>Ye*R)}A|GU3E@Bj)xru{`;|o#(FSVR1Jzj*hk9 zm&s=A8f`|y(n_|+^IEfp^rjmWn15{OWa(wMi8HgXYy{K-Zk|#*pl6a&#KqUGVsMYF z#l+rmm|n^D+H@G|IM*m5$9^)0CubO0WO-O~9lK4*X`5Hjm-5v(Qj0Tn$$lZg{Ch(e z+Q(?KM3$5lJO>718&$vtJrYWVLCg=v<=JLD_QCRi zx+ZdP^01*-43myap5(#ew$ZRE`3%}=ds{ji5b`Fwd)Hy%SkOfI8n!iL2)*m zE$hU=QZblP&&r~g-*&K}T$DUlA10iTKuoU^j+-50kxZPU@5!O!dBt^DL7y|zp@tl1 z=NXvB>UUFBh_(uI+?c$zl$w}}arI0r9b;D?D<(HH!jJ{sv2tQAi|QrVkwBfESO&`n z>-p3#{zfWPNhcpC7b$UnD-UOu@?q5Sa{OjMC&Tf*LPrljcCj)9f7Y)N8>heoJTt>;09-H zzBh%a2t5}Yhg%pBeK)~?a0CButsgaUA|^C5;m`;Rj*hcn`{x$aFXaX0yt+TUHp>q! z351-*3yJQU>ZRSF(M)Jx6_h^FvYx|k-^CUC7 zA(+!c54kuv*UTk-_JL$=jV^A*)dX(?tc}&9VV7o2hgix6OFr{wu>2Azv-FDqufx4N zl-ZFd+Xc9{L5@BRWy~qfDZ5T>Uocs#Q3^h~7c*f$u{VDayK|HBN6T22YInOKS=V(u z*jFwZjjdXQQF+kp>}2^d!?IS$#s1onPYe4l`3n133I@H7r`4)mV{xjz69y?S+cpms zV;?;%hNWRV_`{B#?M&FaOaq*H8J20gYkHNkf0hs(>T*!p9foFAxR~BYiEH0T@nnm) zDG7}%4{0pJ-~=7+WJtp}_C+*?)HUG1AjeaktNrg_VQs_Jv)ReyT4u5G*?=P3Ym zj>RRi0lRo~Ua|PsTxXdzJbXRGfJ@6YxVS=v&)X`Q>`-1fQ0aRtNw3}8TCl6P6}$Ue zF{q9XLSEk0)l3KF?TwvCA`Wg+I}c7bb)!zW`fnAe(8E`!;$hurB_3|$;o>&}R4b{> z6`xZ|oSo5K`AFOmOn|vihNyA~iw4mHE_I6pDH|0?S+B%vyNDvyuX|OQCj&&`fF|x7^or@cg*gGEgd&J=yaWK0V zv%oAD!7LL(CE}yGU5h^|x^Sk93sqFoER8CsJAhIl2a`K`bBm8oF``yU^*cwCs1i{B zntJRVY{g*$%Ug$9(V(O4RS<^Q;86t1t~K(?D4rm8y9{w8^VUA6(d95~AZszX zPaJM{jKk2P1{CyrIVWGt55edr1|0svg5y)nSU-#wWQXNS8y8OY&fXdh#vm672zGMn z5b%Mc%k4mxVTn` z)ZJWwj3?WkZ+HFId<*U^GvhHU@Uyc5zlZaq@o26CNmDa)@S7Ni`vjODjxBw-+oPcWjU!EACGtN zaBG7A!`i5F#TsVPlA*z9SBH-u7m>q^MueV5m3c_rDq>OPlnqL<@4aoUSpyQEuJWJL z!VwoPV?{AWB_E&FH=|ie4J1Ntrk{^G4)j^bgkj)>hCoFiq(?D5W>=5Ilu8kh^SNGW zIk z{vlTEB%^f&6)WETSla&5=cE(yu(onEE5M}Z-SP?%kc8!}B44_mx|THJGO^kB$X;Jp zJ(_*4jO&c1H?%IJ!fxXD935l9&JkwRC?;b+&#iS9ZDRDS$HSjwtgjXYIrqaxz$xg) zM~iWMnE*IkIFqPypwHpXa67d{jMPmsJXohem)i1d>snjTSETLGh%vm32|u)U<6ieT zmh#2wBdC^pYoA1AV-IdL@ZjsRQ80>fuu<5@49jg@di>JBfj<%)&kFm3nlIx5WE1({z%>L^%6lBKD|cq75Jo( zh5nep@?!$atZSFAz3oE+%XjBT;y%?`ezDy(f#tj7IfKC7uCux!VcE_U>+pvhID`1E~5sRY>E zEC$KF<5-*CgH4=ps^6~g#T(%Z#p>Z2TwAR`(nbm9_E$h6;^djUMjA=$TTRCz%Lj*9 zuzQ#lJ!-0%PI6v3{HZ~$5vj!9RxTv<@UF|>h!fY*;|1mSIc#XrY^!QQTv;Q*!|gn5 z7$aoOCko~g2Z1_lPCE}X`w4M>J8`0SagpkaDyRCQ%8%DRYis>@xrMd0PMQ~q-9y9C zr=}j0n%j^(&4s_lyRo)Q6skHDPopy4VnDy=ASGRziT-UN0by|%$EUOshy>K z#G?a2-hAa3i~3ml1&6T%yPaZAx0KybJ=v(jcN0x8syMHdW&DtKQ6&mP?@}i0Z$<1$ z&p6!a;Y`TG8-ND1E zypwvxvdZr@O~YBU#m_`Y8p zj+4)QHv=r6Cy;!MK9^o`xZXJq2NR+Z8tBj9vZh6aU#q&1Sjmk&1ePPEVw8)L;G6a~ z7F}M}#)=ZQ+|ltay;yNpy(ru!@PDUwEPikACeWpRr#Yrq)m4khaB887wRyg^k&g~_ zMFcVe@=Q7g&Cwjw$cX(zEjaRp1^Y)?(6cs;Fz4=OD|8O|+z@msZotXT9^C2UHK=FX z#iBFKxBUPqF%$~pqohne>G2LOj?5Av+$7F5&QQU^-ev<5F$W{tE0DNeg0$^IUsPG; ziz;W*)_S40t@W+x4&0jRz=P>7Jow6ul&NtTTh~aSgTRPJgn?DV(Y%-mk>q>ol+d~j z6)zZqkbtLJrt~n^2)Gzh#DX)lsIMBaq2=9J>9Rw_4b3*S0akdc;$vw)BhJn?;=lwG zD#pp*SVutTQYHw+$l3<%>}ki|{x(c&Wr9u~_EEO_rJt7*5`=NZEV$mtn^z#XblQXco9(%}K9we~5xSJ7rWmv8bVt8w3 zf-s`E1(zB*akilYJ>pCsOhtyJRE371cQZNuTt}Sh1O7n9!r*;D&(gSd@O@Eb;&gA4 zdvB=LY4G41Jq9(>Bj^RWKAK_~p%;Q18u)TS-djHNg1(ds`V6W>DzTxN16K)Wus~M2 z;tuT&+989MI~5k7^=0+k*i}A?)u83Wauz9JEGuupg+^X&WtM_LAAEDSHwB}US3i`> zBi$VokAt0@Fe!xDvf+XWERP!c43;1NrbWLFCYI{Ju7?BsaBzMY@N*#U?ct(hJpp3u z5?uT?z`Fr_u>5ed2&38=(72ocPuBZjd6fyNE6IV-R)q-SjsGw*3Mq4+hvi%2V$rUg z4HFv@kRDwG_dkzE^3ZsESt}Z~qEwh&-HsuptSD~sdUAYD216dwtd zfQK+n5WXOX5N)wcfq7g*6ST6NEhMA!rxbE9tzIN<^e3CKZyYX=jo7J(ks083eZ3F@ z4r4p287x289)_P5O5w2Oonko(1O_=5A!<}jH!J^w#@UmYLy(S7~L`~3Qp0wJ>Q?%B;oHtPveoZwC%xJ%Ju z#oY>}6bMc!h2riMTA)t7JQa$&yXL$zv%3+BlZ1rkkNE_myYrp7bMBpU&-tN)2W{Q@ z08q{?exyQxPu~|au>AYSGNhDNzPxL`#~g%_QQ;WhNrnrn)yUYaVuxF1Re5d8upmZeJ|G$)XqOwkzuN8P^=}Vsb`1Tt7KF5OJW?L|d7KZ=_7-RfSMSy z1lvE5;><=NurCVujE{^R5{ztTMEx>cV6y>OX98ARaP{L@^scK1pU=UH-gewu;KJRx zF5F3X*PiW`kRps!bL(AMdp@GX;R3KZwRJGovxHy8$k%IMa#m zWxr0!u@#Wu+uX0muC5+jBG2#2AV01T^kaK#Cu-Vr-vNuR@5MvKxVfG3mc{7PO!QDq z^MWv_0#1)cYWzIg2yD>f?wTN1d6_j(RbCv6TOS53?y0Ty?CiGIUR;~vV+JHAMkV3= zsDQ5W6#|w&NsYm%s?j*y!;7oEefXuF8!H+(@xNB&uxb;i?$874TrCgIRPkVpBbpps z;V)%>H+)mcu8aSgZ^n{$jL<3tk1TM|&znf>oY6d>JHEX)iBC24h{#8iA^IAqf>DXE za7e^_Saf383}onogZy7E;S(?s&N!#JRjH>2S2eAUQ>!vvRnRxgg- z+~$cA7&iiGHKh1FU4T2gdB_M##RZ!BLi7t|;D&0wo&e=QvF-K>3qBiXLvmc;mY7LS zO2Tn=RvfOA1bhXV_b!!{=u}aTQH{(PP%j253I8#BkQ#kOp>>iTUv~2ZWGM#*HQe70 z8Xk2IRFyA<=ohrA+=?0>1@zo0?)asu6AtA|mOy&bxOp9)Hv|zl?wT~K`w+(# zHoiy_#O#r)%W!h76!$(4$Bk_~bZ?+x2U1}I%v3*mR0|`1pfXFdER6fPcDNZWswyEB zzdYBnV!^|`Qmhhln#JMB;K1{{LXz0yB&g195C?}=k|(c^?z4AVsd0XT825JZF}ptn zE(MdK5@<>+g$gby7WFmZ^rC3oU6H-293QMIXS21Qk!5R5`xLHCOk#GzS4RhRm4{FR zk|f-q2UyV7nl?~gp$Av{0B7)gwyN^l(g`q#_%H4K>(v5m7-__x^UU~iYBXvjNgo-r zsX9a;HU$inX1Ai6@VtDjj+*r%w5ch_tll!L9-}+SluTU zGg@0%6Q)rq%9SQHy5CD16xdH<_epXFe%;84N=6w2Y=s3Zi#ZWkMP5I(i>8vVjbhYj zU(6+Rz4e$@ku|F{tHNvcjH08HKayaqPD0&U`2C&3EJ8TsJV+gLST3l4)Ejp(4+uR?jLjp?VYWv+$CF6U+X|qAB#H;JdFBvqM8SzNRl2I z5ncqAa~muh2w2`yJDvmzcP0gc*-m!MM!}#DZ7>1LBmB5AJ{exei-L(iu zejp3(G_5S_fP->e{#K6u9aP|Qqu3!H6%|f`EgzAQB^lS2{@j0<&T<&SBO+O~;`N{n zWJF|S<_M3B$PBm?B+}~=`gwX~A{X-@anOoiT$rEEv4|uq^9M--Hle$@_<5EQZzd`V74MNgW0{zPzK!(w zngERhv&{r_nDE04Gv@R$pu9^?)?Rq#yyoRW82J4qnM0G`s=%biu{bb@0J?F>xG^SB z@%*Ki7hTC(lne8YE<#^N{fcTFT`9($PkC55Mh=Cn;PM{>nxrKmA?vYLk{o--*>G!# z9e09UWm;9fF*m!dHLWW9SXKENwY8oQu(hUr3Ri}a_?O*)q*vC#m3b8!w6#88%Y*$D zU8tavzEp5Rxz&?88W;`Z&-rEyZ>7tW#(VI4t!h4&wzn~$yqN&3Mm}|(_oWmIHclp3 zMR>2b9Q)^saBiIp*r5QnYJd#}V67QgX$3xs#r?$zxW6zFcjmZp{9P};9Nbtuk*!MthsIv7wP&KVPB&Hmi9*eOp zqA{qk6_@5XaC2TT2`90I(z}jL@}Nz5edanXRwBzJN5YRnM-scg>EXtuVM*-vo)#tp z^oyY4RJJ^j*#KCk4t_Ww#>FpW7~e+&pM#GkDIy$R z%fb4|O0=w{W#Bn*SmxxrWhdLe{=nz6z83s?@!~m53aG_3Cn^GBUL=Z>h1klY#d(tP z9qZ!7-|akEcGpb<*CBtC46milkRw1*AY+vC@NP2;1Itvy^o#M)7)1^;je?ga*Zd(j zHvu;SsipP!VXy~RCnn(r0RyMV=A_xIIv1;@^l#AvaNit~p?}81y$w2S7;J$_Ei6=k znLY<<16!}G0;`9babS)a2N#;~=K>>sNH<`550V79BoGTDSrS64cDVr@iv`y#{e9u# z;ZRFBsOD5*e*1VF9PPm+^6YL-BF~S2<)b8lUC=B6$rgD)i!_gcd%RVG-#->I-two@ zRERN&3LJ0wVTlh-HWDooEb3{+@tL%$OhDIyM8;KSRpse{s`9l5s>)Y_^b1;5W(Qby zTkCGY3J<*sZ4tZ%B?s32DlRlKsumI5$2CJG#42F-}F+f7o-MN0d^R8mGr!sV+uGTwFaK zT2bMlVo;uIJC`97EbmBlU`sbUc97>eyQLL2ji6A)-q*;yS2IZQYpNTE$n)4%C-1>> z_8Y0DRh2llRDp~w+2|Lcsxp(Fq_VLO~QX1Z-;* z0>~v;DA@{Wtv?+VJ*fj2z?Z#bRz#2ejn9Ppn~Q zcGs6PO-XWsNjOZN=fG-K@Hx5fTt(-sS&9s2)=F`ofaM#D?RdY94PpVO zP)bnQ3_^@)tH++nA!}~~{wCvp^Yxh9&xDpKayX)Skg=pA;2z1q^BXynt_SyCX3|zH zz}I~3jgsK;I53mLtzv=*1L~WxeV_xEr@L^KfVmq}eYia(87Ij;+|)S{&65nQYdXK? zfl37awup~gJ9zl>6BVlX#q4z#mgmUjgriQ92J<^x@!e=LuLN}6nMD;ayg{zAKTuU3 zpH)@9JoJI8a?b~<%B=%c9DRWg4_b)vL}B!Yz`R?*j)Vv@23KMI!r*D4V^-m>Y*pp- zz>U={5@Ws|jV8p1>rfq%3yhC?F8n>eu0iQ*(exPueCoJgMEyGLA8c&lEY-*01pz$ z=FE?((re@}_PgcyWtSZ|uFV0KGk)MQon>Tm@cVta5YYw>YXoUiTZwfOG*~-Ek9qy{ z%x#W>7pq=`DILsMGsuoHEu*1T1h_=ps4#S{q(I*k75Y|Fq0^fxM244yPA0(m&K}$v zlZ?}Yd`Pb!gWt#kzWjjQbqFkfcHJJupp! zc(aI^3p}rFbU+8T1Y*eh>{C~ZuSS!NJcn%F=^osi>c@}oc+t9yfnDF_6?hGgD1~vI z6}Y{YBsxoCaAK+pJ*t`m6`(?BVnA)qt9s>_*-MX~$g?`OM319ObU5*e7RQ%qv2VHo zbNcHrpt%UCl_f}aNMY29Ad^x)J(qyz5(HQV#(#^Igh0T9RKkZ@Cnn%QhI(aXcqdhg znca-oJ|Y&UXD8tHLI-Zm4Fuj>1kfEH@5i!^iRef`18o+`?|BR-dtu{58Ln^R znpNfEKmRRWsGcR=8&p~=(JVu+>N+fcD*=Cw_2SMn3cmcf9^xuzuPP6GpsL(8XI1%P z6A!jjaiES~k+(qenGgLi^lE6pfw?C9Ip2i$yO|*5XYtJG`l*qq!kVD0<@7Ww%u0Tq z#dTVws9r{bFJ~)pdsh_heingSyQA>wbTPU#l)|J9IF5y=ZkbosnY5bX%nZU~kzsTL zD-MnHGq8MvBsYJMXO!mCKX;8(SjD!m&=$N(0sbUFncfcn z)xwEg-R+pwA{rKzpwLvvL;F+Ci^8Im1Xkt$qp1_^Tt-IO$GXr+-jJI#svvpu*s(}(l#`cWZHg$7;& ze(vwbwNZhqk{g4Qm`vBDM}XxMb=_!e(>+#^fGLrPx#(I;i%-V|c(H%XGvSZn@%Mrwj%&;ycO4iTCz81yKr%;2OoEIpsY>C zstqAUk-U-NvGI3?2#-ErTW?l*?QrNsLLI4ft-R2}hP_ zablSUXI80jVVwe(Hpp?9{QsLdYHXdXAjz5ptH+73aBw6(91@O2L&LCmL>M-_%f;r& zB78ngfgfh;aeT2ESRYVnxxdVYJB#CRV}1e)zQ2ui;k_2IsN+&XDdDlJyq9qRQn{r` z-3_?BS%|y4cz8RFHn5c{l(8?+gHQrWlFU?$lc7(F3A0-!;_JR-FOz+Kc|^9VGVR&O zURCa#wcigBp!{BG8{*}nf+sIXhSMs*zV|FFwtV}630}J>OPZ4;%OmO-u&sw3+sWu! zQIltfE{!oY2vGiZo)Wh{<>Jn+NSxjv!lWK@Sd9Xvll`>C0s8F1BO*}GrNUQzy|_9q z(0}n$A1^A|RnHaAXcFJmV`gCaAOUG3%Gnr~xmcm7EEh+NT!1|d1GmG}iFaF9JGxcU z7O3RyX>T5?m=yS5lYoQY_l*xGyYytx`1Ovq`R85ZaXyZp{mH1)N~YU=yCrW570GB#%g z>KVSOI?FV$tgd3irL>^8c>938HGNQ2-;W*^SBCr9wIqGe>>5AagRWK8WRsT6w}Z_Q zC&3S!jle+)mPL;Q%T!$a?w(ROyqbekYq^;Yei_>o*gjs37^4_{8=G+ULmM+C`QNlS zw5w)D4WAA@YFTh`x-(N}nQ|C^8|uLyL&%&2uS-G>e%bA=vx8;oqO-n=11f4n@Du=y zHeQrXkYMou6MjxN0}iSeW=5&RTf~C6?d1!;__Sv_K!+LyNU*8Jn(w)ESDjpQG&F_ zHmKFSKm$VY+^iCmfZZU(wxMwhEK}?7Z~J&q)~YPjW(KrzOu&zX%O*gldOEBap~oK| zDRFqI3a8g7aCwsy*SCssYdhullJ&QntkXRllDI_xUs3~|u)v_whP#Ep4mq$%%c>Vw zmqg?I0W*aBtuM1mM5{a9o9J+HqkuK}jp`(04Y7sU-HpyC zt<2GirHCJeXayg&9BK@%K>%b2HxBjk;shBdd-!m&n-3>Cd2zI@2S27dF`;}cD(dCn zM@HnEL*KI|c(jr{xr>R#l|SYiF)+=*D$eYNO)bQ{R?*nmGX|e@h(Wm+X`ZM+P#_#< zA#vb6RX|p97YBcQB1YRfa&S1|k90!I*+=q_&y%FFf?a{H2uQw08b1-Ihs^;kTI<+@oN5`Qzvp&aA5P%&a~L+B6(;0=_mW*f^Y{ zs_f56zj#Db--QR7`c5_QpmnT1Uku`kz;d=RBH4=5&9d2BhbR~W0uM4o!JrSDW=d3x zcyeo7!1A_u{(<_m`g)xCS_k~^@nAV%cU=-0pNH(Osr9WKS61tAWT6R{mYQ%oc%5={ zu^s2<#^G#w0xrzVmK6r=u5SddW*@Y>ei&H3M6$jkB;#ust$FI|Mri&N(kP@=(O}I8 z1Ad%k!qJcQIJr!VQ_D3t`iTaA6CieQsf-LU4t*lPkrg}~TgAc2brCqfIUHBEhqHqy zW4jdCqGnaf^NV8e?SvQ%Y-omofB@EXRQ!S9B;jDe2TpvoH33cQYr!KRFn23tC6VG* z;OEg!+@$kK4z-=_6Jb}03mqNfVFv(J9T4)vkw_Am7S*+w)>DgJQziIzwiLfElHt!K zQXE|+!MTlM@|*;?xRsAf+j%&>k%yxzML4uXh6D3e_->jSD+d|zb|W)Vd>W|8dWecF z#clvzFChBPbWJy?MCIcIxV@8ynf=ue3G>gLF0ZSwp~hYcoGAZQ5EYJCwHUP$^l0fd zqZJvcP9w^im5`D{J(5WxmMqxGLdh^RDlcQ4<-ZmfvG+X#^eQeZK-6_9u(nGK1ItsJ zm?0JBeop}d?1D(V-%E*WTLrj5`R>a|f?i$DlCOvTJ^DG;d|e`p^>FaGQS2jqFBHt@ zh+$;@>n5sji0X`wO2TRKv11wYGgp@>;Eb2@@O@(^1Iu4DbU@839El(+CMgB@p=p4I zL0|vy8b($vF9=jmF4;#k*{3%-4>r|@5>{FW5ON|hoM4fosRRtBx$z@;7L^PyS5=1I zg1+C`h#Q|+vvk^NRXIez2uV;fWu1@=C9Nt4`XHDTWvCZoVh|{g$yQY!8mua3Z|dv) z_@+MU)VHUG6M6xsU^Z^P%3!&b!-!*Po`AjegA|NmSriQV(CO6zwT0e1C;@uvY?hDR z@KoAm(m*5b{49SWSiYal?wV;PQW+R#eVb)>ol|$!5$Ix_<;($=Sw=YF$zb_10m~;^ zc`+m@8vN%p_Mib?CF3zY-at)|JXD@%K0Jxc;XVlZWb|ROYht z9(iAF%4>0Wl#f+_=xxQS)C9yRMFp}V_xxaz2G@X_p-Cq~=|lypCaKW0nhI|d)ZdIl9~$xNTobyHq?l4L`c>27(_VI_gz;7-ZJq!_ z3N})!%5Z9pjDh9T>m=yfNXaNYkE--XlKAPeiqN6D48xlnF{Ql?!<(AXsj3EEOF-*B zySh;n0n(#u+i;11kE`Uo+TJb^D)F<$F#7upA}-d|No1VmpPD2hM#?KRmE{D50NZik|NqT%WOOJ16Yw_(o4fZckl7t+x;QrrQ%p0$RMkUC#iXk&)A%CM+)o7dxX% z@Z)a+I#S)bXKGZWze~aAU|zL&CRg@LY9cC_3x_>)h=#E@$XWiSu>)#;*xAvI1&!k|zOo6!%IYw_f(akiio=g-Zd{@?M)LZpqQ}B2anOr+ znLY(CbMSfL*gMV|pkI7UoBHA(-P9K{H+nyt!BKYl#h8aQ^$q+d{el`EQCxAkBl$l8 z%XDriRrX?I4=&g9qQBF^q(zIsay}0sCjwjQIRX@nZ1&cSf-y4ikgvV#XA6Mp2i{tk zfICZL(5Imx-`&~h2Gnc#m@`s~YhQ?g{VxwJhtx2RktAbKSu3OjDCgGZ4qZjkhQ#p5 zNJzw7MCu6F zpwB1HEXKw$CLI3Ai0{*lnApyOxh<_s1!HmBXz1j*?>0z*X7lQ5CLwusiwNJ%Rlytg zaJ_Y!*qce>wRn&oH`nO^s%^W6qEQgwNh**SgveQ6)LbC;w=Bt$N>fSYI#a3? zx>hvf?3iRGkw)D{uaoohCIN^y2PEO<+vH;pa=sE!c%^-yXX;q02jk1yU=|geB1(98 z7~by~!zi1ysgDBXtMd|YWsU>a=VUeYT@N+&g{sQg=oguCl-aAwgL6v7ohLx~Y17ML+Fs6HOg9NNwi{co6X9vl)B%=Jk3Se${;z+#RT8+Qf32}=yN_|V4rh;^Y zFNz~$9|g;ixeAu48pbt}5ndadgo^|$A0Z2Sb>l?TkJo`qn|$&p3(jG%60A(VmTiQp zlrI8osXp-d{yN+~paFgtWgoXqRHbfQD9lH8LJoX1Z~6h6m^0 z^`T=0Q>NMjo!3;a0f$IjzDWSt+LjI|#ZNDrM!~X##HROifMsQ&0Lzre?N$o#zh+)W z!`N5f0a*cPPNZ`uBMD84Lxc3D3HY_Q8;AOOar|u`&h+-e2lj30S;x38RW#dE8|OoO0C%){KeBKtj!V zNX(>ru2??COIlstHOYuW1T6pkp#fiwj%Ix2KIGsJ%jLtD{k>=jeweSo)y-lY_(+Ya zNn$o<4+HY;>nd?$s}T3M$#8DD9+Ns4U{v#2lN$XxjSXfMA4|H%;mR}*GwAttfCnlu zCll;?3Ap{WH~AU?%ey+b5v!3r^{q!?2FtWLu99Ay>EO3GC7v~>7Aqiok zS{bg62`Qnf=at$+$f^8P~@@K);|;yn~Z)hTyDy?VadZ&H}wO zu+~G0RM~aL3*8y>s)J=(8696W2G`#9XQN>FgA|M;1|I2k1HFQvI)fB&-rAtS2fcJ8 zyMOsrGHOj6XO*IyTY*-!l<3|>h5++G48Li;`B*(hil63bkg-h(Y}Ei84Zymfp6zlQ z?k%-5Ohu)ID9mT7glygR(WfaPMrDjTi5$OPOx13Dqo0#}R( zZ#R`;)d&;*USP%Tl@``5Pm^zId&?xGs03y3cIq-YFu&{V!`##abWG9_;4EgZHNUE8 zw1ISJOFjNvNL?uP_>DaO?R{)$LS9R5?>+jS8dp~1ucb;Rqqusk0ty-bq3=~HiNu~6 z3f$i*z`d;sOzElxkNeLGG`-<+7{%B($csVYSAo=(NKMs%aus>YyxpYZ~OQ2PqhoGj{8vINV+qjk|00xW847-xrG!Z4eX)iJj1O z=xagy;Ma?XK_ceEA16kq+B^(tsld2)I*e_r!}vA^Ea+*&&JpqWdYl6r2Rg8@TRg@! zwPJ8R6S`DTqGqB3@p>sld@h@x*D@QjUeT_9a_H<@CzouJoc(ER5S1XvDSH@=?EE%YSO3HsM zNaXP%klrt=vfQ|e=pPo!FH53|_6#(&t1+RB2~)~Pv+7!2{4I+?h|yi-*uOxAJKJTz zHU;jk)3e*Q$ARUmObghL8^is$@JBFL!mph}i(|}{`J-FE1gFW>U;U!6K zs5dD@t&$44Xy%urj#GgKUJWY8D_Ii5<3?g|iUk)&B(thAH8uOShZn7VdhiI)ekJ=o zUUjfcg9Rrl0%J+Gb7@dgmbP+;f|2fKR0Y}*N^KwSuGirHb}>0<`54|oUSI(vGaVq{ z`9H6hK#5Y}%tV2X$f!t2L|m9uJjCeu(93y{lK<1sQ>$#+SoeQHK5(((uYLm)tIl&H z@Z}N_qhK(lk^ND~_$~q&--csnx(H^yFjv)2SY{p-`RZlX1#}WD~uT0$jq8{i#?)p8$|%xlL_3qaqZ9CZ}kb5G!jraH549 z-!*a|HWxuC-5>OJrPiA=?3y9MO)_8D7m19WLfqJ(!nvgeY#kMYiEVA@UfYDWl?`ZD z$%wWUjObo18dIA(u&t{HCkFd)esF-Vczu8$7km4$ySWn`Jq8H5QF$ImX|q!QW_kve z4=>i?*I5QsOq8Q|E>r2~ZNt3&Vgi)qII&8J?u`_WbbL)s(ctnH9`G3-i-)L5T;@Hr z0!`N+wJNVefX0N>c#LWoj}!uALRZ)JY+!l!GlFIM_tXLoKCY3#q~j=9E^Ck%Ja@E* z%!z;#fe-6AGQo0cthT85kV`Q$S|P%=`iZ#I(u;FxUW`gI2UIAE|MPqQ^Ew&D-Uyn0 zmCWo5(MWh$(K->=30OYf--nidBWr$qWpTx;4wf@3PdW)c>+HsL>R2~EsDeQ`Vso-n zFpRjnS&92Q`M?*Y@XdT7V$GrgpCuJ5k<$?>vuQ4ej8}>0l zPr<5kP?ithgyG(o5t!CbOp=N4T;1faYL&hq@)|3|h_Ruo9eaoT6D;2&;P2iVBYqr1 zKthb-p-E8)ERXG+1(sVE5U|X^j);#%DRDU7+=cy(6H(Qw&PCcqDYUOA$DhljxW9+& zi7&!%b0-(y%~qm+njZ0H%0-S~^Al*m3CkQ|B>AAm3{rk1d}bL2R9})eGn>f8W>vBS|g``dL6jB-aXi@rdeq4=HQG znYKP$CUg5mJtw>*A$!)jr8m+YlC(HCI2q$>#j?h|R~lpd8^CfXn6~okaCAt(xsIw} z(1tgvCrDjuZZD6;G)<7diMj$-tSjBg_XvV30$ltzwiyF)9Cvm{ zF|hpCN&&`nkwT~9XBw3}F44~3tV4}!jB)`6RIuR7wk}-l>1Ud%=R0_@x{d?!3Q?Xa z>(I(r_XcYG^`QYrm+0{IbS)fKQSRxgliwqk^09VYfP(Sshe}jQQa%#6HmjZmmgf&p zLO@L`p7phqEQxojMdQriBm$O`@KNJf@HkOV{d?%Sm#h}zV9@S*eVqizxdq?Bk5<*I z#HewqqZgN3d$GBe6NX1r=8ML&?fXj6O6+gpX0mptT6pn}&w^5=o;}vlb?-JvF}Fz~ zoCU;!ya+7k(x7yVF?C~bWn#eInraB1-9{~=- ze0rQ{;lhEYPV`SQy}0BW0k+Mn%kjrj1#a%(GO)aBh6L5iND&tPV#NWbLS&HP!#c4z z)yc<9p)R!XV0BFg9Ll@{%rur-^#ZINWx$C~bU3tFhe=(uh{`3oF~%R4@UdoW5G*fJ zqS|A?a@AxdE^H!Tc{d-s-qRskCwQh?O8UKKGGDv8IB{b{5>5|HLa%bhf2`jp$)~n- z=ODrZ^PNnK3r|>!=$n?1;X{Nuve9JlseHc0avNrbUQD$ z)=7j`%zy6RNBPMHx#-`)CI2^pWf~w9VjgC+h{LsM9^9PcWKAn~s6YCeAO+)7KJF8s zeE0KGxbH4q^%d12w1+@!iyzU z;$e{R^9(RkdPtiZO8hdH0On;{{4`gGI%TDgq)I$9h$~eJi-$-USU$8&g_boQO~cSC zqj2yO5i-b`a%G(otx0lH{3$uN%z-o_0)tYbaei15t`GO)`?uV18RgG3cbte)m{h@z zLqV|I)osjo!>#8Tl&`$Cg@ZZoULat(tzCux7R9?4!ah;tY#UM8hBMTlt+N+@xAdTX zjHbZLSr&oimq^FZD+KtcOQ5s+4%Jp(ZporxP>v%3%XfB1u!_s|t$Z9@Dnogk7%PFX+(Ze6+VlAwqz_XdgM#J#*?=;wDt}4Aa*0f^obg3*99bI)Z#=(f z{tD5cRkqU6LagaRE6cVgfaN5tY~g}Jz{wHd3p!Z-Kk^>a>}vdy>cXMsE-a{Id0{!q z+5H1n%{K^G{)&L+GKu1cDm6UpaD1jc$ce;|G8P;q2Q$?kKiAZQiDj$=4CPJJAFck1 z1d&+KUx#B$bvU&`i;susncZ}5*q2jaJg>h9S2oLWa9ZW2E6ebafPywVoQdK?_&!;Mi%I5)(Pk=0|Kxq_z`aq&$92M!aU{Bu($%4x-n z=U>n(ph*@b{_N(#wQfFqlj??FEqSJjdeO+aXKA6WmCuMn-MzTn!-sR7yckp_8c~rE zMRQaHmLCt8&1xYQb+_Z@$9CLXZN}Y=YTVl)!u`*~8Cbr(D~jo@UfC?frHv9S8K#3w z{Colab*AGQiG~%FSUcK)Lrc^+zfR7?>hJF2;o1%XPH*Jl=qeHZUaZ33^GrBA%Z~GN z5^;OBo5=~?oRo}@dGKcwH=4w#^G+|Cj5l3!d^=N*6U#It-s=NH-qnb! zE6ljRB|yQrx2IH)g2BPHZG2XJxv*Y}qsvt2)kKSk$naOKv6)iz*3hiL2@;Ks#q$+$T-pl5i# zzYi-?9eC3$FIvD)s4@uz94wnC2~?ITS2+hz&Iy(?_Lah!4LsB;C(o5CRDQls+R02o z)&B*@YyT2yz|hruyK-uLKIF+@`9eP*x+GZ;mhC#cFo5NTxd4`#o-dz+c?0CQwpl`A zn;1)m%OMhS9%|K0!JeAL$SN)oT2v5|c%;QU4b13LMT?XKDfDsyYkq#31D8@VmZl`& z0s+fs(>z#RBOWFRFVB+wQsH43(ME@3pJ;G$g&JQ@Hy}Ad{K9{azSkyIvP? z7d%oDj%o#WZ>++FH7aCmQsd?-BX*6oqE%%jY9`~k^ONyiFE`3W%bz*9;73JbN!2(UZAR8jnj8Im#(+Fn0gq*BsQ^3LC*pd4KTdb? zqo-TXVp`Fe_8b%mvWKh1tMOw`0+iqJ;aWdG_Ox^&NiW6Aa40SU%Y_(B$w;74FsYc0+%*W=zg1MaUj>P`2eO)*`(T`hGl9*!C_3_Er)y;)U_GdRYqJOuxRgGU8xo|Sgg}n`(C`$lR zL8mg%8;eG6Ee?`>O2P6sEnP^|NQ)|<&qci`g_?B+%dv{(nYZ+SN}pzIbJEmE0KOvO&S;{%f8y-EVK#(c#DGmdAqS%j6LL zAkH#?bxtC#&vfJF2VUHs>c`1ZNm$$}j>IMr(+Ym9R9$!} z4E9H7g5^!M6QCqOJ1^zO8kCpgw*`8fCSdvSCtCDqtYJzEFVvjP3CG&88eG~a#pO*> zyqzW?VD`}!TY6T|dG6g2w6g0>{*LI0xlL+j>V}oGS_Kty#Ho&fmf5Dv0BLIU{13*TpON*i+%l= zS>66zvS$B!l^_xi>w9(h^&M~Kjr6bGJ*bzUVIaC_o{GToa|31?SYs^$%p9P?@ik&{ zVDfQgvxotwGpm(2v0RN~OSSAEp4dqbshIO{gM(lrUmZUI%A=$4`y4a=oNvOecg;wv zA_t!YP12wU{mc$xs%7B+%Tzt+JjEHs*g4LG!%qOqhg-YhCHp1&&x(Z+SUoOK zS*D3{1$Q`;bbM97GJTI+ZWP9MAs}yqi~wdC`Zm|ISe1j{NY+`eW)fWAB1XnmCGM;> z;P6}vHVn37Y>OE5scXaHE(tg^){RS({J1$WiOg#<*0f86MJakLsH5@HMZRZm{Xn(z zKockG*|m=a*)O^#`20wW>qINd8nPx-_-2*{%3B|9KR0=sDJ$3!^^ami{#>-am{nX z(W|-ze~$3t2KAH}lZ0RUcv07(2{`N(%~KIr&W%BhEE-f)VEcO#oLntu2g~VIN*rIN zVKfSAr~3Om6Z)lU$@fP7W8pE4(P%N2_ld^OA6OVz-Z2Rs)guVE*g6Xz&K5w_xbidTx{!QQd}2PJvi0CgI$#!Xc(=9Fe>ty zRSTXbN&9b*2TiM7^e}!c`2T`rn@+3C?=&;u;G)Na<>PHVXdGwA1Zg3#ymovR4Wn#g z7;6xHRT}*0GgQjB_;8Q`7uLyeVwDutk`+04uyh{0aXcJeDMQAmLfqb@#+ETA0`TM{ zNe^Q@U^>T9k)`0a$dKM59_PmRabsK(E(}k?#5#7SyZWg0Kz~0?_D7ed&3A3Li^{>!4HdUdWl%X5{0Sg>qckBw|hA?dnLMcoR`9 z*z`x|Q6=S|qDzfNlvNmkNGC-CqTGM9W@JlIiz~z zJbci~g0II|@zXR5){U^Bf=l{Li$2q;`Y|AcUQM-g8*sR_2NzpV`JxSx zGYHEGNcdrKI5QvlCs#QP_dkyeRF$d5_6{NLZId8ln+(f_8X*@)<$FbjK6`pq=GRLw zykazdXh%SCH>!>4!-WoH5TJaaWk6ZrR3k5Dm9Zm6CdyTHfe`(NHYgcnLO8V&lrzat zJywHS30jo5%8_iAAx15RM8IW-dqJpN(PrAcQ;m-W%csbE_VHPAIMm6+;rML2h5_Ys z8^lP8k0>x;nKn1Ij8)^erU9_L_&LBbeU{NWE_O~a;XDD$$5u!XW8&n971YshXa_Cs z?v6snP9gS8HIVrfJ@TqwEZ|^VeLK#LOu~&(ejIq)hnjJ!$4ZmY_fpHOz|T$GI8Ktk zZMEZ|5_0o2X3>4oq>>!}TcpAHwF(?xp~gEcRV)#G-r_|hNf<_V(&Fl75w2|!;L~Xe zn036D8he>Vw3v@YRpMA91{JqGnkE3s{`9oOeLabvm%*QO+4M-Mkr;#KTCDZ&LsU^&kgAgvTw4FYtjufV#| zCLCO3z+VfE_x%qarb(Vhql;@ZdZNjyvi&V3qKTHpK%Vp+RK@PHy4= zUp~C4FRQ97U=EH{Z~NY6CC)C>qna;&yN2oE;5EuHwn{Xf{tqA1H-)TIe1Nmd}%fV|w`*=3*Dxds;;pj;#{m<_;eA z&(|W>#C@U4V{VTBkk`>SQG?^n-T0%K6XVO8Ul=SOT`qw}o>MMPzz@Uc>2i`hM&UL| z7+cqnkk5xbHb%-tTzt|d5m!d|aea6aStl_MwG_{M9pv*?g$NsJCEz3h{`(p@kZj0% zia=yk1V*+abGSmuWIGRhq(Z|=vS)6b%UWwC;fWREt63^s-zs3rNfX~vy;RvrD$)1u zn>L(D^WuC{4-S$2*@7gug#mDKqDoY(9kQ^<=icU6s_KppEM_SRbMxgTi`07PTh((cTmZHM)QF8n+TZ#Y8HsgOE z*zx`NIIQbsN5@KLC`8{iWMKJdQx}@Y>t48l#)QfLxIgzZDGXRonlohge>?#R*BwO)rN+M?0bzxRL z7t-syFtY&}1TfEROg^TPK>+itG&kmuWG$VHv5lN)U(pJ)TAW$6&Hp5~1e`VjzM83J z!1rNb`Eo}eHdM2tWDrEq{b@Bs;>eNmDR;oK zB4=!ph)UqZ`Uqf8B>wzZ1FxO`&?Z+3zNj%$WJDNy&W%Z;bZUqXH-`JMv7H-c`J-)} z8F!i!h540i1T4GpW2zIa5_Gw`h9C8JRWc5i4X1Pr1#58JH&cxyhvd1EVfy>16XaWs zWw^Lef*WMr99u0xt6B;+KgIGnN#qfrJSf?WVr2*~ak}wcVGNg?LKhD+wfTbrPi zav#Yd4(XUWV}w{TQi=1MIRv3j&;56VOb?sKySIja9K5mtrsBFo}$ez{vIr0(=Dz1oB!>Jm$7egiS4iR>H-R zfgW5N=Esj@&3g6X$4Zn@n#M@K5l2X(^>>;Jqmm8zB56k7t1pg^{c|)7EK~jb6{B>} zs(8=G4<@gf()E@MR}iqw$L&wKIIu*5MwMj&z?={LBmWKBijOE~#o<;YiEb5$53?)S zp(+GDEOd@&v;5ZK1nA9o;N~m=SM+^vn-Y}-B;<9rwrmG5nF5@#}A#79N z{(1v0EV5!nUmMEA%GnKHQU6jASbpiiInYd05_%<{92{y4uC2#{R?*n>Rt$FZjKTU| zHl(;@kIm|6C6QXp?wKjU9m)};;EjOgBTKaSYKjS;jfuwZQ%LY2V42AYO-RCyZf-bq zk{n>{HS%w-QiS~t-8eE0J#z-=sJ$|j^@v4_{1xx{6d6yW!EtVnU^M_QHJ9x3Lt^+2SFjEPqPI;2BZV=!$0n2mW(GcLs zEf9w_eGMuR4-2csF|fS9aU!Z&)z1a&v`Q{kjxq)s{8mcwrY9%GNF*qU150_x*b|9U ztCXnb|EC4EfER(^M#baC2VVR_z;T&q8Cg4F*x$>=PC`wa_>mUSp@zjyiFzDp z>cUa-o~D*H=G(zeZwZ@Kli{x=3S8bK!Ra+pjO(m{P!RcC&zlxeXm$F_*-G3dvE=UV zNc_eCv-GJATb>s{(K(AHv42)d49=4HaH%Z?%RVemNkFtrSSY|IoujwvYjBPLy*mpX z_9s3 zsFD~n`f6};Eg!dbk@IVBDS%*xo8-LO^R5Z)QnZi=IR!Q;3VBET-|NBgz}yvh6Rje! z{Nml#w30QTh5_4q*s+~}<*|*8;Bg8?^;$!1W}LXZIU%36>!jrfP^o*d2nS=5GWHMcd1Vh zD0dH3l{4uV?E>@*+PHJRkq4LRd9kB>Jai)d3mu9~|CZXJ+6hpunuwXz2|%V`xmFff zrWB0yhGbBn+}NG7s+<<6DyO&f1i>=-Hv!A(9b6dG+yR?T{Bo+Xd=5SuCLv&%_fW9> zb-hHytEKFFseD?e`Z`?PNWd~#4-?)}fWwI@5Rz4to)9Y+VpE+&W?B4I!vxqAqUV|u zAz72}^&szay&R`k%g~{oE{Akn6y=Q$(&HXUBJrsZbNcF-=5pvDqaQ0IsBr9ECvHtA zbNG%AZle?t;bHi=m6I7JT_<3<))T-oeNRnewfKo7T}KF5o>R%n`Y-ZhzL_EiCj$MN zllQSg&KmTNuacl|b7i1E_I39^40RFvYEj}%O!|K8^jBLb3-Y3{M>(EbiY&8 zk$SOeY$NghGK&#jM$wvIB@RxNxKIFP8b@6*Li~`fL&j*`{>+f9ufQ}j5q zR?ZrbZ|>wU3gMm4Irt)7fq~5xh%ppQZZdse^gV@>xi;xUDCd@<&YLpSEk{NfIqH^H zpt_g7eksI49!uT}?Ak2?%P$_dv{D|XG_hbO0m`d8$Dk$wxsQ9`v5<&&Se{3S8eNM8*S6eW9xIT?UkmxUJioT z68uHx`f!>PJL<$i#EE#$Dqbn{Y9hg<4RS_7ST<6_Ze23h0$H0)Q{=e3Re<|Dg*d-b zi}`(YsOVCW1YU|-J`J`GAPM3OH}1^v;iLBPkdOn8PeArJJ;?kLuza$A5-M55kF_VJ zb6(k^!q*L*3@k6IW`|tJ%eTrBjRVxlZ+3qz)6u65dIvv|p;@P>0MU-n=(o~(Mv_*mR+IIZj$s1_?C1CjkNv5Y%ihG zEf5K#Fte`$cQ&hVcclg2j3GeZB*``U6D=6gbC61hQm5Vo0*D)x*W#_ZI?U>(#PR_e zY#wgH=VNX7dXgOnXT;&i%mkdBn}GWtJAfq)WGp7*qeNtU=)(PlWXyNt{#-KVcyKG- zi{tP5aB!>-zYO=`ivb>N>*>U*P6?RP%!*!B%mfSQ5O0wGfA-!oKFVu*|9o=k}&}sCLWV#ltgVZjr)-nF?u(bW93*O_GgIj z{W~I@+9F|&G$&V?aAKJqzh*|_qwy|m9T0&j%`K?zRFPybsL1@+OJTVfJy5IIgxE+R z`Mth&EK9R6ugu5VTUq${{%tuMdO|no!EL3iTl-l^@@4|c z8;!V2K>6-^3+}G9;nwO1{C9c;1|?fCv9%4?mqg*#5;txVSiYSTjXMO$j!pNXQH&z@ zSeYF^(ds3+9}-?L2E1j#w*$SnJT@T@l$rb@UsbtxUQ=IwtGJ6T2`o4B;$mYj&erqd zP*pc-Y2+_7jE0WN9#_SQ%sL)q)b&-BeXyKGKzUeAC+rFl!pQUKP>C?6feTsrs>(TS z$s(Yf?UP{S!LkS0-94C|=7LczDwf2^NdonED}?xK%Y(4|Rr6?6H*v5W5Lh0o$7*nG z50zo?(IqJu|9YcjJg>BB+0(7V8IqJ7Bk%T-It~OqXY#?xQ-t_pF*ok|=qd>+x}~{s zhxttlL$Gi#NgDSF*-(-@TMRh1h&;1%ZTNjbByKGBkmsEIEK_6AGC{+h^C$xICr8BM z#@KiqAqk#KEqv_eO|N-PA1t5n!LpPe{z{Kw>1VYY`Per{!64-N9s#~zDML~<>2pnP z^bZ4RSXF}0mP&E&qX6JYIo#bJhOd{(Fshvf230tL-3qLFmUm?Dt1OnwxBQhx`sY6A z;1hVLY*ipV$${^Cd07MS_5N|VLSn@?Q6#co{7@!%?nAy+eFaFryBR~N?M z`a&=6WX9s|!Z_SrKvp_g^W$-MULx+yNyNFSiTIVg6JHaEKGZh~>pMCzuZ0c6>l-n; zp#ck98?daa0q+hrWA_9z4$rpWn`|?VuQK4&J32N&^XvvSPOews_&O#N{O}TwdhL1!W3i zH?yK~FWZZZwq}$i8v)fX)9M->Ypx~9Q%al;dwRs+Jb~ov&9Sej13VI;Zr%EJSy1GXCx^?hxA%*WYnQmWp}Ow zBdc*Vrq+#uTO;vpMr9Eg7>Lw3BXU}Cu)L70aY>OFlSDQF0(03N^CTFws!U;dewQdz ziBcEKJq`{D#QXF3_-nJ_p|D)d2g~7M0r+AG54ZR6@Y{L?>Lv=ArmiGxJi@SGq}O!d zG;4c$PD@UmaEYnJr2rI|R!RO`ab?JLyQ1h^CxDr=3lg(_09@s*F zVm$$g)seWj+=E}HlO(E<86jjNqw#EHeLManP;iSR@^7cQAboA4=Asc$^>!^~R==sAQ0_IPkhygwgvP;}GI=l0^LdVIc1Al4H$KGt%T%MGG3*+N)d<==> zqulsvtP@{Owd30b+_c|cmKpKGViW$GX~d!VTI`%E$Iv!f)Qp!yK>(TB%a$oyzCg+b z7F1~!YsE+nE^LwF`W_Jmqzaid;7Q-7rb~lgN00}Jyl9)-xuKEdHE{f!{P{ovBz{;P zUs_py`ui6egki1KxV%w|zgSgS@2e`CxT^9xD*V=Ft5<*zDJSoT$w zbDG4UcO@HhV(~N26>5=aLVEk?JPAfO0?R$f*X`j( zvnu*x+sG$&)#Ca(Gj2Tsmg)7d8AUj{O2C@?K3$|F8@Z@NRBY(xV-|(uK#~WiC@i<} zU@O_cwbHN`(ut1_C&uH_m;?-}W+3sb!V{f2xCXzN+y=jY7n5{=%Ay)o zk>aamV%#Fh(v7`599*bGqWk%PIoDZ)fN-xCG91d1;MN`quup>fJJh&CB|#(s|6zdx zYX&+otAhLiuPyRHHX}?;2H7!fBSU;Ww{C{}GMvF?Jzx z2I+BZwH9YKC~;{U9eyOo-Z@f??JOn0uYgf2@Ll6_Y|-D#CEG1J-nN;3txJ z-<+06VhV}Z}jD3CW*w)jAN_N>}C#eMmmB+^m zrA&kL`+6lBRp#ebvA97f^#8Z7WW*`58BthX-`WM4Pn$-62HG4mv$Bu!UxGeiAH>L^%1}YllNOkE@SuaD3MglXa@RXL-syMP2^5rO57vBunI zku}YQ1*1z<8*&IN52@#5pzLp)QA+rjl;T1*t16cqSZ-Q_B&I7L1Ix5&EmnbJ>qJbi zyluK18l|8_*v8RopKMd%G)YWOko9AGH+FQ3K$2JWLa@T;k>`B~+01r`aO*uDj;;}* zRb3e>1P0_uGJJ9+K7ld2UW_QS6ndqQRYBkIfeY=`Skl&oOXS(UMb^i?V&K+_pQxXt zCobdT^vpW$m)6l36R$5eSf-zs9{sl@3B)gJC9L847Fh=}6sY78J~uG?Z6R$20S2W? zv44&ZH@4{T7fHtNkwp9+Nm}}aF#rI707*naRKoACap2xc7w(b7`|cu|Ym`1>gT-O@}s;&`$_>RPgCC!~^@71!YnlH=e{Z#@Lt)!1=r^27xg}8el7#DW% z(V>Bi-GefZaZ#YnmvJr$`lbr8coYwZ7fEn)KXo<=WWL~k9}L0Y`@>ij|NcG^zFVfl zrinVt>#e|mW@0p|D23A`fm$J8N&mn6?iKl(@XEa4bL5xK_?L#xAnR}v~M<%Nf$zFURGts`-KWCH7hxJvfP43z2gsT=d+aAQs!0cCQp zW{^cTylcKn0t00#zZm6{UleZY>-CVPzBXi~cyWNhtXCy{rp=q`k*PDv*lH1&Tg!#% zH6zLIop5Vp44C`GS-GlmAqfU;?4yv_e0& znFBdpISEEqcLK{j35fSBURaK{OK^Ib>5;HZ19Y$EYMk97!aV}ZE5?Ws9v)UAY>Yw( zyw0lTV6c3WtS>sdu&+-9rX(8>8uI)Nh%~M^&3x>gqsFz}eC7}Q%X$HZrzs#22Qx@7 zlTQ!ocM$OFZ0Vny$p)C!HWHUeB6yQ5dSu$Os)^YlKGBVWY zClx)YUwY4G3LM`cCf6gB*}#36DM!T@tT0o#0M(Y7wLCPhCdQObMjW1L!?jfwTz@+P z*Ot0)EysLX~b`n_if=|5qaN&a+6cPWQ@j^;NS{yS;gp=s>H@=0(`rgkL%>$;M4NJ zCuQ;X;qth5Fqqu0V4T?^#FlA#jO(mM%eQ!lvGbvl^AH>o%&O6}AeCPyoTL4oa`QpK?InKt-@Ri%P;mK=%r!EZfj$(yt%s-GQs0-B!%Sz^JMIZ;@WNzIyR&* zQUU#2D{*!!ANTht@aqyITGdcNFAqfxmlA8bM&T-fuA2n9z8w&Y8a734)=3}6MkYCq z5uo~`RWv?p>Vi%fR(gM)d6h@2ni`y6WyU>PRbFS|Ksi@_5$Tg(L~-(q+^TX6S5;2u zK>7OIcwC=N)=UD*(-Rn=au=Wcf>xF3*jfUvE$szuzMjTk zx}Kd57;$3uTalPU);t2tQ)@)Rt`s9eF2dw$E@alur&n%}2g_MaqA{bP8`Z2z@JPUR z>7*E0FOs=nPzi>OR$t5Jy$1%R2vb_Qke#opoZZWf`Q4*XBSuqf_f^Ob#LroV$HMZw zesWyhEo9AovwDY-Wg3*Q~Kl_JxaB(JQX?c+( zg4r#dOlSL~B!fb+g?z4U4P7`*t?-(=S+iep!yh-yhEC*D;N&JD^S-Axa35vMkr4G_ z!0eZvyivA1ldmWx!HBl-P(MzEjArzp+U0Oh_s3pq$OIB9Bo835;x6qA!{z9GM$%o&2y7a-_Ic9hak};!RY#SeAXuh ze~gI3RRYU5$R2T->=DPvUcb3b6zV!u>}R2SR7vt8rk}^4;$hif1AbX<#BVG0_)n%0 z9UI8Wa~}BEKCGu$Ts!Tw6 zrL&;?g2HmPhm&7qcnegOug@W%Jj(~lQ@N`0)%;cEk%g+t{R??2`zQ6~YwFun(*<78 zvrT2>Q7wIf1v3dG&tkCb!d$Xukgrw6q(lva92vDe1tk~_^I66<;U@N_Cr4vkeHZ35 zb#sGAd@dMoMRMb4=|)GZaw(OJSkTc|Rc5g4Mh=1HIbB`wSmni6oei#ljU(*1krneG zEE^RFCIGl?x&U|I=i$T#DcaPNmk7Nwt#I}CnsACFOXtb;UQZI0jFvX+?n4J3MPPIz zJ%iU5+C0hkhplp`)u#45hDvC*IoL*r^Zqz}~M$9E*Swl@^F_ftP%3d!V|JU~xBc-Ws2 zhDklts9jMGi71Hah5geK%RJ^h%nMk%iE7U2E)N|<$FED$%ZDa8-V z)cAXw0r%J0aEAce9coFIPF|St37Fl~4uvSZz}IUYp~eXU%5>cI59EcfWt6|vW2FD3 zMehx*F5g)5xT>J?Y=Jwj;<9kFrgMt)MxqLE(Pw=hSv>d_CC<};3i2HsYT+= z1#$RlbS#F}vq1KgCt0l7lz`FLcq8kt_>Cm@bc}aNYDT6%BefsvlOiX;%xA+N?tK`D zPnSxOTvLeh)PK8l4D&N32TEBuGWzQ9`$`>7uT$fjWg0Z8u7H3*XeGB0BhsYUGgpOc zdw3*K3&ZUXLfIt5`v*hu^Li<^%n)EgHxa7E${>7>Q&S4MX0-?%s#`HLmBg|3zClW@ zIaeQ61fWw%>A)pArL?K9SU}=nMx$tquHi&glakqI7Ioqx=7nH%9V3noiouy7v77{f ztZQV?_^wwR#@DjKsS=fdB&s}WMoVyTh6O(^Hsbq5M)XKhGf;k{hTk`I<=+LS_C4MA zi%<&jK`S?|QajZSUXo(Jw{fC*teQ1g<*&fhFv)S4K+MIqUN+e+ zy}BKO(4g185>cFi-J%Y|(FGKg?Hnktd`wech7XkI$Kv|jxPtPF$2RrFKhV^7Ik%}V z&L_W!Ws~~OHTI%Sg#MW%81!=_=w+B#-NCBL6qadKnS$~HvZz%YYwV*EjQrlpkAh{g zkxXb5g`PDdFg4kYY~LV~iOoD1*4Tx)?Z^h?^H!!+<*XhYENAtOLia|N$66`A3S;~} zNoHKjd~kxFO(sIUicb^5Q#RR!9?Mh*?Q;wX2aEX9%bqZRtT%N6DKu`i4)E(I-WQ(_4A?`%ndT{QvvrQ1oan z@=f|Hjh9aae}WK9Ow-}VCG?nHhhwX>nA*dL&PhtF97AP53fy>)I?;sT=Du(O%3(Oa zU4-2Pp2v0;qh_24QVEX@f_fIX%5^&lpaZ0o7}MN^oK9Y3)4@q}+GtzfKqU&xslKVC zDZY5uG=__RG!Bw@nBB;OId$D=<1s=d;uUE>5dDl&K`>@CHRH$t7vAd{jgtep0?Snr zyDkoj$9wHOXcw(z`t{;?4weoLMhbLk zqCi>$C2D#VkV(RyuDD134lMwEO5(=l4zakWP&S+I8MHMTtw>g=~B!J@V_(T+TMbf4^Cd1!IGf2b+cmos7qZl9cf^b@*Yq zhDDBpt)p?7Z2VWq%YU%32eE4LYtbp9W4j_rcp9GZ8^oqrAUA)-dA{uk+Mq*+O2YPso=n$nx zrziu4#ahuT$_Rs)|I9$aC(qE}Lc-pZawN-$WJr9}*e)ONxw z7mxrMik9&P2GuJs>=}i`NM(UwNTFXy052po5YY|^ z5qFT@KB}3$xHB9xdZ{22mjd&Xfhq*UnriXi`4;@N)PUbtYw^Ph9X`pH34`32vr|9-`o|e@x;`|3;vRCIh zT?)%D_E1yTinL0q+@T~x>l>H`=}DCfwLA=~$Ery-&1cOur?!S;Kr1Db(okl$&W2i) zc{BI8f*lRhDR5+S=@6&K=bgQ{(kqT_{71>l-hpgFG>a~U-`F`F{lYqDvQ1{PiTOS|s>EO{aU}+NIxdO!PdI#$cagp?CbbY_QX`Q=PrGP*>O@wDm^@g{UtRV| zF|t!)kki78?83m@&=)63yzCcmg`fye7yMK31~t^+lPM%Io@~LuWD^Edx8UQ>F}OT1 z9@hvsU+Nc!58Fkfl}F2l`n;;k|fANS6i(9&a{$RO2`v9eHr1|f-Ak!1mBKOy%QHJV z@bxSQQmd*E931F78n1w~>RS9f-HTh9URG7U>8mQ=nj4S1b2(4t>;9&`33*L@*G9$T z+>iw9OY@*-MI*Fg9$^flISGTAzqb4W8n8)N76qen2uv}=ob#7JJ2g})H z(`ZdHd3p`}uaSDwb%AX`h6dz_J}5jQQH2&N!#o;U&=Jr#dMy!lk$K{WOFXQK+$z6-8dMxVc zi%Wi3_E(o5BE`sP8IAD`UFcQCf?;ntuzsmE~(b%h5AEV=<|w4SI3-D|w%2)AX_)CVVm5g0B}^ zkW&3YOVjZ1U`*|<#@WphT;I*dEs`AlxK@M@7KD=IC;+>r^YL}I4tF-1ac`|1cixV| z?xB&0GKe4Bhe4%WDGm*OX~{{{jwE|fQ7d74Qz?D-1Z|0s|dtN*oEiW?hD_;|V#>jpZJ)7gPlUEMfDofGKPpRrW%AICDw zL*!*|6R9o*<(CL6bOd%<9Sf?vWd)Ap>HU<8!q6f?jlF~1Y%J%++3~nABOad(k3~*f zC$@F>;KIaw@(XgWu8)q#(SC6lS&MI$*_rl6cP z%tn?S{aP7Nz6i9<6fP~w5S*NyS6Qakd>K{jsGk^ylN+dw6(8TeEg~=@Uj z=JitIx3|^!bE_1Wwu=cUiwQ6ZNkS^e`iTnkZz+M(BFdd5P!v)og(M6kQ_22GdnXty zd$^>Y#;dd#rd=-F=r^4taFJSW=o1~;-npU`3-d`a{IHx=&x5HoqTo?Uic|tXPhEO8 z(BjJlX8gR=h_7>u7}81wn@)nRae5pkpW|{rlKl6H!=Jt4u)b*&sv4w^9Psk8mPQti z?L$rYdaecA$6Mhx3ko<0(HPXSmK?vXk>kov5zcRwVBJJHY9~q|BJqq4JE9VsSce32 zyJ>N8xr5CwxU(o4@Ah&rXPrm7nou2lcqlg4jl=~KM^2G7*sJHBrBYZf`9YLc-Uipz z;=R5ROiMVjvF?#wp%2slI7~du?k~fsO;X(5%~{9YUvI;GI^Bs*cA`_AX8Mly$He28 z{;^ol$ccEJq)4ig|I3S3z{G;khaRu`4b$x!0a9WmXylflO+^g>7a2lBLts=0k=4?H zD-#lNl^M*(<><6Pj1)vOrm32}4}Uq{H1T6 ztP(2;!AB!wSk<4x^4U(Y7*R0-gIm)Hb^=`4CBTX?8uHE--;p{mG#Jxr+Hs!zY?nI3 z;+vK+sBKa{;yL7=)6_~T>>6Ujr<1JsWSR|=(~L~U^+pNvVx=0-wdA>>W81F~Sl-pZ zg$SA8)oBf1Vqruq490*|InHeov%HXDED|tvX$gncmg|k$S*_*C-eB3q~sZrV@l_o^!MA$jpjBf}mFCS!q zUdhiJDns`PaX8kEQ6^4wUouVQ$j zB(JN-h~q82I7{x`8WLNm{bZ5Hy;4|yIhpKRPHO99#|QoGSliQzSduwEZ9t&r-Sh~$ zViX?}I~(w2x)B$aS#dtwg$wD?I5RyCrzXVVi-BHDZR|jGtDH4(l|pjSX-A*5Y5sq2 zkj1j;@&(3qQklXhePVHQTmpU|Nlhb{hRgJe0bnB45=^fVnX6aMttvlGg5hiI%V|M2 zj~aFed136c(a%uBsm8)KKFwcROg;%lbY5ehAC~*N2rNe;dmveZ9mpO^KzVqC50>o@ z!1BnB7HCz1B7tS4I0SnJ=fU#H4qo)DYR9sXS~eWv(hdPSHC8iyYH`3M9ZB9Z-iY5j z$FhdqKM5?4h&Lf5=+Og?=)VgM2|)h_T6{RphA(DW@x^=#rgkzyAqg!JRZccqJ1hiq zYFL>aBGnoGNRqIY5$YGWyer1WKRWoLd$JOjHYsp_rxJf{*WuS36S~*dK+N+=3d;U7 z3qx=CblhQ~0r1#F7?`TX&gp9W@U{wnZc*U!b}6eUpWYzDx6726+)axF7at-)Fw?=m zijxm|{SzbQ$m!$GgJoZJIlFTVnkO1qvoh8Bz7?s$+?LS{mb+KC7w9*lQn^;KW@I#e zP>PXB;^(ZlqTo`9a^F$<_vyP#9U1~(QvVR`UFqIPgC7Wkva(x-PcpUa zS@>d!9Puv6BUy+(Q@rpHOl@Pvt(+L#OpnEZfiaLj!6MK>uKN$oJouw^3_fq+L84lS zf0x4Y>v0Ul4-dxd7Dgt;_-LdJBa*djTGP`)5@)Dho(*^q@&XWJlb~L#25qXDP{*T1 zv`GdjKbSRrm9$AdrK@1W=fY$w{v4Hvp*5|n0$5y0jb6;h^y*HZ1S4NnnGPbU_XJo@ zi9!FG5fG3~g;{>7gqWBd#WlwGB^VtaFTuzjKtOqr6WK%juw1aJ%*in97}d$b{EmyF z!H>RIVtxo#ke}~{50;O$k3q+3I()xUiEFzBIJHrPSSSCL0~}34=<|{0)#E6E9jHC3en`qh~WMA`CoMsiphctGo_0 zv46{}=Hd{IM?E+xMmC94GuwI??D?CHL&+Z9p^63BZM+!Q$i)WzUAX1{V_&O~bS9`@XU_MFSxe3*5kn=)b`u_6(EGzP0nLaB?RcNB5!{r@P z?4BWb;x(W}rdW#@|D6zn+Y4fGYEnGvxV4Y{H{m3Pyi+$4r$~}>ymd5E9V#ZDDTU?N zWF^HYn0?%bBW&0{%!Vp1F$)yWogw><)614#+t=!-wh;+jD_VJ=D(11{;lY8JSk>`h zRoQPD_b6{=0?Sz`(U{i6joOhKL>nX+(J+$J_qBVt1S31Y1fwq}!C+P8K@JX9jmt=C1Opb<9k%BM8U%8dm&4 zKHDXd2vBd-w`)706omg{s;smbct}eE%xew!YpVfw-ZkOG0y{SLu%mx%Jz|YQ24gSk z>`)vhYn%&HIS5J878fBvhXzt)4K(1396e60Q{nWxDxBS@WPp6?T{S+KtHHtnawJ!i zLo5m{*1=d@Wm$%tzCKv?RhP2~Fi&mchE*-ht#r~~y(T$kHuoUCWi*L*oU0UlXXyJ$ zb;}vP0VNEU^GPvi-^avik&uRmLN5%*v>GmE(MjEhrq*zxU9=IF7wl8vrb-54Knpc~ zU#VxXd~TDRYna?4z_QU&X0u0=nW{!9_Oyt?#UAmv(mfXE$a}Z6z7qy9@1<6l9ZZH{ zVX(Ynhy_M9Klggl=O($T4Bz=+dDm0GGJW1?b$M}TJMLw~;li{8^sQxmqMmzbf)yuy zusrZp^gxut^2=L7UNEM&FyX*(8$O?6#e(kiNHnBG2TK3Z8q=k|nP*ey*QqjZ=h9B^ zXR0n!vv|8o%#P%W^JfVO3P8UETR~W+Q~T<=^I-X5-pal~Bw493m`8q{Lx11K*9=qG z1*2y0IfdnUK3Kj?V0j-2u*-*=aCxVI zP0<|DUWuUKSJ!M-rW_}|NQ=|s`@W$Mo;Ww zb#f+$7*mxy#iQ;+vwhz7sV?0M>xXI5lHe5JL-Ib;>+gqUI-}v%{!pwKBZY!m&XUjM zR0!~Pqez@1@7xu#&UcQ((t3`U3d{JAuD*2_b{2Hxz zixArfSn=s(EB-?srvA;eOj=P=0;0bugElkCWud6#k)v%LEe1E&V`3WvHVz=Gj|tOS zSTMMr740jVP~D-1R1jLg?yU4)KR#3bzY^d|K(p`WE<+)2<-!sSU)7|*AQGQJe@m|M zCA+l`l=Dk4Iz>O&*!O@0!|@Oah7Ajb*fBKCf;g9y`H2=KK=>ytQ8 z{wKx_T411h+~tFexV7Gld+RN@zQT?##&K4n`}#%T-EMZwX<7!uTjfHjGXyrB`S}nz_nw;y9zq&l9RwRa3iGWe^V$ElC zKM5l-V|EXkq-YAj^1XwBxcxp4)4OR&;>N+EMi_>I7>tHq`t(SRkBc9=bPEW9?)mep(ZXlk227zm8;qYc068%7MRE zMd7cd(YTr(iwoqTJv|`-zmAB*SN#YSHH$>EXgze|aPpuB;Ehrzj*{J}PA$d^3I@v$ zNHFR@e!MlCXqC#ra&A?*U14wK!Y&w5xh@#FjeYqf7_^!^siy_iVigeZIXz!dzZ3NN z3ICO^+% zl6=&%$X|FPqZ=}H;i(xT#rBB?93`N9e3cF-*68rnA}tp7*CEj*B5)Kyo{b6*bf-U0 zC6a^WKzQ|H14&s<^-H8YY}4-LqoK^Mo;^P@aS)6D>}M@ownP>yg!~ZnO15E9zdR{Mw$BxVR+rmUGeaQ`gGD98 z;08`)xART&Bk?Y$l^5BxP|zYDEGHL|Vl?ncG3t7l{GvykjTI!)eU;@ozUuNUvXUHH z)@$@4@4&yyltZ&>GJLyK&os+^SiVbO`L6?^xVS-!@on`?OV37T^Fj!$N8nUPF9YVw zo#OC*a@0!!X4(YVt)3qLnQ6ff*=Ee>YGlKw{IQ%$LMC=r;_PP5I_|`~QY;*-L9Ik7 z5AC}*37zqWhh)>W;Vfp2Q zDfK&@)6s;l(=GUMkqHN98Bsq`&bo+SWn&%}ILkpQ4n_S+BIFFy;P^%nuI~%Ry$=J~ zG%D;DvPnAFZo*&d9k`I=#-AB6xI-S=`|}fUcUB^9Pffs$@g(CL5s$NEGdx5#_koqn zh>#14&FP_ZJ>C7+3c^@0&#fvyOoHKuq}ZubNUMz2B=jDgMqE*KP)2emV? zio&aa3zV^ZOhVQh59<%6XQ;zurl248#8}exKxkkq0#;|yN z-PMa>Rm>2xum8XBzLiJKXcuF{!Bu%hIga(JKNU^p9ZRyr+*H zI|(>%>tVz44pxj$HluTO9csBGaO=ZiRD?lI_7K`o7akVO25bZc1+k=$0xEOjd7~@? zC@OuR_kykv@*Il2`NYJ@~1`|7)v3QULpOI(c+Z+RaSZu)0 z%MAE!r5-0&>v8%W9geRy;J;Z0?3<~>su3!5OVYw^6C*r4kQIE2vuX5UNAYy|lY{&} z7u6j%uB72$*(b&DSC?tr%IFl0dF?!y-Vuw2cgDB#)uys=!Z;9=`z4d*&i2$rdZ;c@cpwX31cy(ZL- zvVVdJCpvg>m0D7EjKw|*%qkIs%@_H3qAfxkn8b~{{%pP(Ro$Z8>ra0*Y53SSO~D4y zT-(jZwLLss-V=(e?*-t_fgs=m0d8*5qC-6`i&qk1I9B&`GR^Wi!W&(yS)LeE9ppLp z!}59`ESFZ6U&G}w^RaQHk-)N<=?4$YHXymGoU6#b0=Q(I^1@IgR}*8&Ff~qZl;Jvg zU~j)qUMvdAM*?wriv$PesqyX@4YGR5F)K}po^`e8TUU=6&Gkr6F=AaO7Y_9C;=~97 z%w&VVHk3OyrZzSENO0-s)-sduQeAV&)FBGVX4^a7hOFGGvirfR^1~z;{;Ki=5)AJ% zN-$_uIRZo4o1jyN7YjJ~VfogyMC|MtjbB#ENdV`DB($h0WT04N)nu{}I5Z+mO}62e zQ3<#{F`f+;I!AzVQPW67D1}855B&b`HN6rn=%>ZEOY}IqQH66GNsZ4`{^Ir1%eFM4i<$DL&v8uZb3kgI|PBmkAvL3zblbGC4i=Oq>XjMgw<`so# zQAvo@sv`7BQe#kaEe5sFVq|L_W_2@RL2onO8DYiy)2#R|+k~Twjm)R_C*Pv`(XqD; z_o zkpyZ01!nRYuMl9S1CQ3%b3iY8eho8|e1!&LQhOttF8ISDBQpCLNQ@}h&`zxdH&0Qp zSabJ-Fx)#BjK2?+2R;tK^<7e|8>N9=&tsN?wcK+2I6a!VVVs;83$ID`_-jFyS1u^6 zEdNs~%(c8??3-r7PfLxgll7B@de(3w;0G7!_oi8O#V9ed25IoqDh;mekg%y!H}>*y zcB>fcCo3>4jfVzggS3#KNH;{PJEPT#fB7m$ta3qKPBHm2r$&sVNI53dvEXnQFD?;S zzTArdbGJC0Y#)n-)$K4#1*O1T0vA2aXkb+%yAIdA{oE3a_D>_haQP${&Rhw`qTvyk z+S>}JRa9(4DDuPd{?RV{woZnddxY3GmqLNCNF*4vTB277Frcmp`v=6}#*9Sf^Gsp+ zhe2@|SltARZ2Gr4GUaA#a zdJt&N2g?VBa&Af=jk4qLSQ|bbZ^dVmtoWSvz!3QTa;6Pm&$i;5xdepMt@wU{1wUk( zaWvb^PBHVZqy9xrAD(By>Jb)9?LzjWCQ{T-5VFzl67qAtS-t{0J$R#po)*%0 zW+cf+gDPrF?rGsX+B;b=o+KDmVx;g7@u7QB2!ZD=4UN9)a#R5+M(+6Q4&3M7^lU1@nh9zgCdv87igz{2lQ@wI_Pl?%%Y-->`JtW>l7`hrS80P4oeaA2khzmQD+- z<7lxk1YH}G2QyuZGaJ{9?c^}rT0u-=ZpRuc$Z=E1G37+fWr z+MhGx@cqa*WVVVzl3NL_IGpJf|5sxG1GJzZ%xGr9{berPS?R*%MQ#jftoL~?`*g&< zrc;$T6i#&*8b&M7wWc1UlTCQLs}(y3TCsPi4f}>$v44~m2gh3R;W#S}PbAPxfcd{O z$eLxrmvb%nih%Fe3(WX7!;J5;OstapErDmczRWO@WXFokz7`B5@50sP=)CGOiE9}IBp8U@5!y4X#6?bi$*c(C+ezc($v9i$aTY*RK-S;l2SK}*S^WhYv*JA7$c6Y z)Zxs#Dgv=89LZ23t)ZORI+d*u;A^&d{vb^=J-b1G`Mqfeyq>d|*{H&gD^*y~U&|`Z zVWEL9G)2j8Ge=z(qSRvM;dq*4sh0^XUu^Bg;+hdq3BpS&%q6VZMHC*2zVSBX)PMAN zYfgd@Q?RPsI$vX7t^}j-cxzAIce2BrAl1i zEyPc&WvE+G{=!vd4l>HKPV^Y72%}qC@cE=jTv+JA?MyFjla1^0%mjQf)Qds2El`QV zbDOe?JwkD+1QX$dBhd~`eU@Mq>KUyd$SE4J( zkAh{Y-){Dnjtw))q_8~9#(B1n;C`Juz=mlAzNYuIVQwD+)cqp4xYVbh=W@a7vKN^o zzICo)=Nc_@Ez-gA$nLMl&s5s8LXYp4 z8Zfo17A6gkC1U^QOT_4}tl!}cZj~p@<1h-abbuLGS2%Fz?I>I&N%+(hJ9uGFo=!|B zBu=PoXFkg(+C-zfN5`62ONWxY?u%^JRvjO+dT8;}3N0>dR^rdC5}e&4!KSHdbV(M$ zX5^8qIhe^Go+iupS1JC*%+mvq=oI6fkp@=5KCwoN-^toORfA?V@)0t^Y#HSA)1Gba+KH_2Gj$==yA2z;H`&kMje`M8W%UVapG={8@HDe2*{4c z;6{2Tad;XFzB2ian&~R%UlqzT`#+0{kB(JTSkT&x-GlAS)1OwEDJ)aT1(p5%^0p4Y ztcS(vdn0Z6`xg^-x5Zcw}z~VU2=syjk|OsNB<}v{#CSRh0|E zGG|T6yxgh#4)t~)?BrZ|`ukwnC&hRGmPuU8Ch=`XiU$UTF!%Zg1y;cDI!^Ait@-1m z7!QYKYAe^sqGSow%WNdA>=xndX3-;I`38aIn==yd&7c^>8Kt>N8ohopUI^w^x8rQP zSX?ISWUE+=jJI$DJ)R?RqSwl-gj*ZTxVP4hYfIf&+|>b%^y#E&A_D$<8b;wX*{6PP6^;4^$qP3v zmcnug3ZnG*p=)CWKA5Y+rEOB?^Lq0=9&Yas#lb8o=JXSzbuAG*RtcnH9;-I{kI4M% z-*0l&AzoN097-{g>`IJkpu_ITCj7db>ummUnGRFBXvsrd^i|%l;2?~zXvOJN4wgS_ z=0O4hgVK9mvYtJQT!aZV$i~s|VG;~qRXM)|qxEx0Fba&fj$oTvjd*pDjIn-JSaul& z%sZBX^4ZN2^iS2W>6p*s;aWZ*kPTrN(n^A@6ZN?IE;o?k?phn}taRcA3H*n~xG}kf z2~`MS(q#5^aEvKnQ}&2e`aV6Ko^w#V5$7jF<2HepyGz{oaFm-QO#GLkkM{$$S`v+_I0E% zsD&t7p=3*FxH02_=+M}Jg@ZX*rkZ66%UQ$oV3`g;%FcylCnpV~$$VicMwbVr7;P$> z894fV>bqC7BcsJ5V7bvlq!{^tc`jKsjq;b;6G5+mL==F-8S=-%^7ZKnxH3Kgi<>(j zVvTQQb7grtVK`RSiNuAraqLw1CldSHIkZeR`n-uRb-&2!ufs9IAE(!;ab|;(H4=Zm zNQ<=-)Z~82$o-OF%M3Yw+aO_X825LoaeuQ3*H%VgL1!Cu@~5}(Ow`Ho3%M_6$Ue2V zi5pHCzvyQhl*00>ec9;)>9z?lp|cWSFH^9lyF2?sfWsAlL!tO{lNz7TH)H2$GgkD} zVRkD6de<_ccTF?;R5xKD7dHg-%>de2MFqQ{G!ye4Ece8kkgCrU7U#aR9S!%>*ctzLxk_%mcwr3Kl_lEzzVF1Xl{Qg*#soGy;};DIn(|ElcUv=={c7_|b7Q1mhD+Yb* z8MwshC4L_Y<{DWT(rT-)Wvm(BFEZg5S~PhCEZ^80j@uuE;QmJeWX~aMzX%uC8}Pvt zGbXh$Alf1=AVnyNOCbwKkLCts4DkbVq3SaIJxSJC9HQ}Pz>}mHF-(d;$#v`iB3kfJsso{cGBYozHoKITxqQ?neu zlZTfI?hiC^F}s}7`(3gUwRnR9vq@0TD&Vag^PmKy^&?y`I^{_)vb($UNid>(jeU`M zacR343kGV*`xo%U_mrOC(BT~-K_Kc^mg3zh zV*Iu-lx$EWx&0^Sz#wE&XkHcYqn|1{pA~s~$a*^r#-A zfL0MkewF|R-Av>AW@)wdpSpsB08>~PilrKTV%n)-;_tQc$GXD zjjJn=F<61GawPb95!rkfN3a1Q*E7Aizc2y!W+&qAv_uko6L6Y<^6`N&_-0}RzM5}g z$8SgGn2}mjfq+*G%KoDrlZ21W4We+GfYui++^9~n)Y9juWG$;wj2U%Z94r^ED*G(s za;wUZ)GPZX7@mh$l?N9bZ#{c}4fU(2A(Mn~0}YB{V|AKBadd?emkB8Uu~CXTiQ-&~ zsYk&F4d7a3C{pW4v3ITvmv)8W&VgXy<8sWS{Ni>IzF8u|fk}F7?rX)S9(Fc(V*j8B z92sq6c3)r4va-QMUoJG`KMPFwc%A{PhnvVIp+gO?2u5GS)tluwM}pGfKL4!ME7pWF z-MqND(1V-V9$ZR~MsmESNKRVHed52$ zlr3@qWk zk=Z5&%7MiI%DH-M@`7d3PFn(5U#EDG5~(ZQFiY5pMkTWfa~ilGGKeJR(Su0R@<}ir zH;80lzCk3u@z&JRiB@}P#Y-trs+>}x0u(DP8eDU~Gqa;4K%gN8ALh!rpeO7- z&pb1~wdP*;YF9@IjgkkgjE`u81QnwcXjMvuLF7P~-rR(h1fchhwBz_}D}GyS#&1i^ ztYVyAk)QlX&&FrdOqkNufELvxaN7jra0yShb9}RA3;l>8!Rc>_9^4q|#hrz2+?wmf z#~q`YE77Yyzw|0T#6nS2|7z0iw_;9tU59b^EFf`tZ z@UYNV!Z-gmDHpGo;>!d#lA8N*p1}Q}SW~Xqf4+g`ml!Ua7|Z(^v1X77)7oiJBTfz; zFDy^tGp(SnSbC!nI^HImRvo_ry9U^qN&Q!ot>{!s&03-6+f_G>Qpu(;CeDb91eSkp z;zkb={k=Ib3l=Qbh}2@d_O1<(D5=3)TGQp{tl=ODc?~?B(5poe}5TlY?ijFlD7~jr-j|b2;!xo(W zh;~lXv#Rm)YqiYYky=R}nxn&_{z`PJCx$mdiZD)Sp>Qa8GoGO>4Jm=ORikmOyAQYL zcyMQ)7bnMg;Wo?i#4?gLVhmYD@afEhv8fU|(<|cNPo8Q_pdOb2SHUP`N5LoUNYbtawS=4V!nt4r_ zo5cmg^AZw_XSKJc5)3Chuu?&Jeu}P;7UPWSXh(!a@~^WDIUQZ<2U@*Tz4D%ETG$PI z2D%x2&~17lMz&Gov*}u#U8`mtFRyQx;Q9_BPOOw-R0jp#a|yubhclb4VmY*R4E#GK zSn~%1f%cM-e6+5nz|<~gd^XjDQ!BJMw^oCHHYu4q&aIsi{Igk(Zj5@`A>BV6A z=9qZg85xgnyLeIAsm^z2o2PwGdQ(K3Z6#LMV|M?Hg?=fpoLzRgvpZW?j7+ec=*=v} zc+zwEiR?0kWh%j#R6ZIWt^Ad}vv0jq0zDdq1BXL%1k2aj`|)`l7wdzNonNw9D#Uu~ zkU?PiYN8*9>$*`=BgysR#FssrX&qMAcr(toi)CF1&o%L(RkR^**W(*l&N?;>Q{e6= zM%-R+VVlU~^)@7Z7=h_+t?b~-w@d|zpnFy}V1Hjb4h^$mWiKl%+Wc<7`RqE6Wm4fn|eh$q2z=7V0X4YZr)k~?k*fB{#z*mOLTND`FQqHAk0HA0SCy9LaB z=|y1q#_%}Y92AG|+IvySuFBNquAuF4Ty6+DHZ)*@bUWH?;gg)50ZTq5J6N|Dftc=^8H&^@!6*MO6>V{peAuOhngRbE!ADP z+SP}f)4jMyVEN|}K9nTTnU@ek*NR%f!|c9F+}O>>qeCwS%Si(XF!znc(Uu;RGAW)} zAe-L-icHF3t*;klE5(RPX@8v}CF|tMUW(BoyX2RS*)EMIBv$D;S`XpIXZVvRV zYA8^h)^hW(Y~eFyF6?XQNoz!srLd2|ayEs1ouA>YoF>7@kX25RU{Fs~3d*xdpf|U# z1DzWf5FQ@-O4cvU;wq#(tR1OD(smh>HcaXwhlsq(RbnMr*xQ6(mj)X6oLi;CnNCJI>f!h8!rDLgCX0yL-~Cx^TQUoVm3@u5)QNC`atoWsE8&lN_@?_okkuM8of zq4^fL7sU0=I-eGx`Jjh6EtDEn(vB09`?%zR$`=7P#g0XOc<6 zF{`f(clL7#EC;_3EMM;vOMoQ~o9e}|{k@>NWKgZGH&TijeI0B+dbSiJ6_&Gi#Ylx^ zmR(M@kV|+5ELV49W)&BFdc`Z1n$fjx(u%NmwgmVhXRw^q!jJtmqoJ1wo_b3b8e9V7 zO4)FM!1CYZJO4<61KNc!KiG@4Hg{|AT_-P+$lAL>*4~#*-6&_2=Z~KH4J;%MJ$116x|5Q@xt^s95n5NUS2k=`|{*1^#il0!=FEFub`AM`l=Xa=D3h zyF9bPfL#-f=vq$+hf&B1|ML6Fkse|+YZS%_gU2bv2hDl-Y_1IV_w(_1uLzGnRpH@g zBTme9S`@h0#D{Bxy$odT&x*tHR!)S4 z<$bb){(CYB7c=`xaCbi!k6#p)yT#&Chggg$YX_ebT0ni6-zDoI3|$+Uv3PJsSB!`p zHYj-kDMr1l4N7RIR4Fg~mBXY|!pEkGLf}x&VEI~ee*k`M>St<^O$4TCld*ru_omt9 zPiw}&t`Ozv8s&wDqDOfPe(&qYZL;<#EYn+!N>)Xt1}kr1xqxLXtU57%nr=t(swf-c4h*kjV4Amr;LFN3UmgcbD+OMz(@i|+8Ea<6ErkV^ z%}PGzBnASJbsg;RTVzGDn96NXU`j1=I5fy8!SLolf|0>nIZc8Q9f0LN8NHQLVcDJm zmK{ujL1CF@m1p;Hura!WgSk)Sc4m|YkV+XBD~4%teVdfET>W~U0Xs&U@zZ>=`7WiM zE=~Aqwh6;p>JeoT5ZDYZa2ZtUC>TZ!2TiMpv2(H>Nt+1R5LkY^(SrM{B5-_C zB!<+tKqKR^%=GIb%_x>~ZA`m{wW_MY%7JyGN)Y2oO~5mG$bE5@T2faU81mZ@&^RC6C{(2QdNm8{Wyph`&@ zmJEGTiV>MXijhr&l6E(xglf?4kPPtKpehl z=S2mpl7Vu*oy~7xIlX$FdYt~>+r`;WdQhcinP}U~ug9D4cx4o>E^?#Q`zrh=#Sb;3 zt=oT7t^sp%qo$uhBjsUsQw#PHn4`@PYI+m}=Wr)4PZhHgX9;xuMK+V;4c+jlB=}FU z;+f{KAO}OVo8o|KdM3r#(anL*<+b_VqWM(}sep@7)uIS2XRwUR=&juBB_$XPmNORi zIWiUYrAaXQq`-1-2PSlO!XGKi{dF8v0u3ujabbf3mp9As&n7v3USP&A3oJOX$c*pi zm@&795hbIfOxjee5NLk`Ewf8NA__&L3To^bYsTe|YdHMg2| zj(hvvq7TZ{nW$++4b}}dJAFsxv?Yb9&wre}{gLWCK8 zomey|8!1MQ7nfpWhGkE-t{79Rx)7lh=LyjLhp@`DULkn=1vkgAe5IKW^WL{1JpAba zWw8`_VjqtIXPN}E%V)_PY-t*S#P>9WN5WY>M{clAv6TId?%Qf97p=<~acrOuN#jc5 z_UL$A8xoJhS^%sIUpH80)xjyYPXF&M`mjPEAP^B@7NC+p9JSsHL(O;&N=5OR z?(yw+gP6AR+ldxDB(VHwg$t8g&}x1GEGhxYImD#e zzAG2~9q&7(Sl7Y9V42DUbaH-y>Gs9vgkf=|NLCQ=Pg@Umwu(a2(jrv%@let!fRN7# zI0+PR7^&-3U`rPV%P!NvL@nhNxsGa7i`~daV6njy?X5HEm3_}|MA9Rp1mnp@B$>0y znPE9FW)WB(*U14dS=YGehf`x?F}A(~CZ(`Q0&}tAfmXjRvk;TonDG59 z3k!tkZNZ5pX6&70!n7_rW)E0UV3|I%(9lp!e9wZ*&3(8&%7@!CVsU>)Jo;AB;jMRr z@-_Qf#w}sN#>0&-2Fq6oEYqeC4V}6I3(L_q5vKGausryA4N9_UfBjr3M%L`|0s_qK z<80uE=grLqP3m<^kR$0+2_Ai_$`LGIBHv?0)kvsG0Qam!7CrkELM~QRj=*1uK9*hn zt)&b5yGCGPTN@I~s$tRa5kgppevTIb=Trux2}WA~Wz`DMtehHKdPn2>bU$uSiO1au z@%U$0JQgNI!J!fsjDphF36|*t3MFu7F^EyQq!gVSaxkVd2a5+uadd$OH?}E(J#r*} zs>a!mEG%o$xuz1so9glRVh0|qh{XMmV(|U=7%c7>fj#{_xG*Ia_h!Z7?(}$^91)Mr zoxGS>+ltn)YLvDrAQSRf-}0AzdFbKLv8;+foRbyz(F|xoDL|tKcjE{x&J$3++=51f zk+`f#r)El=ykB z3Exb$Vp4k}Jhp%?xkyNCs6Vt$gt1Lc_-TS0cjplZn;y#!nvLYpFK1U2DJ?U7W+j4y zQOPC6%AQtyPoC+Ib4d`iz=BUkSkNay1+PQ$%#2xnjsK7}-YHUza|AlB4DjLBbPCIH znAbdt1U}*U8kEzyYFR~ve?GLacGoWg%U2Tp*iiM=>vLb`rkG|StCdz`?tqlrt}IfF z=ogn_G<~)dV^Li%Dp{3zw!hGTpj}-hu5OpIT85m$@+R6MS}uI9hcZ1E%NynRw!WLe z^4X>y9BUtqgJe%XG}4BZeQfBLphneL3Cvm%Lc>DYXG$%!eR2f6=V=p}P?&XM)O=5l z5zW-tH`0k4G~i$8!5#Y9$sTsJj~~4&m?0tWM}fJWejQ+$ZU`a~2X!kbv0^k2hnEO& zYLf`}4~79>mte-;IKX8EG>>-5@o>8ukGAQ7tw!8fZNsgV4m@1##Ql#Wad&w%?k{uU z;bIT&FYw~dY?>+Xv(4r9q(DS;e_Tmi8d?(Hb&tiSrqLK!&P<{s@k>FRSP+hpbxaK6 zJ|PfSB}P?X=9R*7vls(@ZA4(1Y@WB~*x9^2*l5Cobrw8aYe({$2>d)P3Qfvt3#6fa zMpum9m37P!g9au8tLwoH4=r*UQ2GqY+Etib&lTv{_heQ%)mypEbJ|;Hl3+wUUxJaM zS5AfH!L4kpnmac)LY<0_Z4+pd4+YCC|FKk$1Ea0zT1yM5D7?ryN3h_Z96aSBDd4vvyDm_ef?%ui*$~_^2ru%9PJ%}Bcp8iA9)9V zSzyJH=~k>CX2QbWDvW9^N2}^;RC`Z_@_r>M&=IRdwNff{sHeh&ZW62?$HBo_%J>*k+m1g*kUfXBDUQeK0deSC-kfLG!ml#GD<3Jtx~?`H9&X3i z<80VI)PmaYDZ%506nM{Rn!$@wNwKH43m4mZagzi!x5;_&`-ph>jiP+N!J>0#QuDEU zSS0Q(b>$eAX{WbKWXvmTMQ})PfmkO_vls(fnK8RxAaGwW=!y2%X;O@o?DF$mF*0VC z6SHZ5oxv4@HhiiTsmrq)9m)r#JqrA`N{Zy2svH*hd2ytn8)fv;9IZQgUZ@1&OrK6+ z`D~&G2b#xVb06|9jt|`KP#M(e4^23?%78N~4LGsffFG7<@xw9|e*Q>-6Dz29yaboF z3vvGdhp<-&@VOA!slkIy79@S-#E*mzCL~7SJ-d`SVX(lrpuNjQ6_#1U32qoVG?L@Y zE)sctLmtw%AxJ(NjN~r~Bp(UF%ltNsTC&rTiR00$ng}g8-}AIT*k#YiU7vSa5-ZFIpiRMm9^6hL2jMHL&UV;PXOI zCPs$6BgwoGSibXN3>I~=lf#XZcI}wzjar;UkOCeDB0d@9r(75ggOm%sgbM>1S`imw z^5;|w{@-_BUC|&djv80bgk9YO^Zh|JBYAN{iloB;J>1GUR2W%@92U)eSeTks&ZZGb zT47(B1cPRkqn>C)VrLngGzmuk>?Ihfu-vN&)%|n-^%ZnrLk&W!Y6|@Ru@09BC|}y7 z#NKfRydNcD8OPVbA);7H_O+f*izB^#xIaS7UN}J$8)NK)2b8J@~AXAN$D*zQ3&x zJIF@0pmsF+l`^A}Nd_688z`R4_0JxJ%F%Lc?c!j-OtZ`$qp-*V7JXJ0wHPf+TQIU- z4CazUVG)_{g>A`vr%Et7K0|`hFEWD!!=6Ec;mB5kK|z@g3eCM5=MF5>0$i^{gnd(K zyJ{6{S$%At4z*%sMbgnECu`Vil4DETXe5mwd(hB0TqS$ZkKO}fj%c{WtM6MvC8INj8P z4=YDNM7}3IL*x=JO2sJ9v6dPWJIJx<136X?S7H5V1vZV9WAk_^woVdb-I#DJ9UO|j z&6G^0VbBN>OnBy1Hg9A^06mjIfzLxK%f}}nv)NP<{B*D zBCvd$Y%sUTL3JY=SiasN7MI)j*}{9CB!j|c z$o$$FBBebOZu z43^30-^>cFQt+>`QS|y9u;JSQQIisSIsPPdjRO6#+l#LiS9k6k}AJ34apU_~!#( z8Z3{h7YR;SNP+l1v^c9wqzpff_TcV}oWb%xv@LQo9|rji`O++cu5~Uq6m4r8G4F#w zaGnaw^RmesDgHVM8 z;a@dy<6NQ##}nMBYuBX7Bj3(oze{g`B_bYcnv!wQj-&rgwUjNO^#!jLEK|{YtXqm> z+swdkG9(`tWQFCgO5pe^9y-+LqhX~GY@DFPgT4G*f#n~`;_O-8gl0Z9_K=tD`V+8x zjllAC0?QYg_|Yv||IF+cy=H6@r(y>MEj(*eR*w>eETckSqSlr5xUz&giA3SXViz{| zabj1$NZg#`!`<0r?ql?fPXe^AkV z!>STsJ_)L*Bx+AjCqAgILpUd-P|8W@XKoi`z%NZa_^W$5EPvSAL*T05Xv#~FzipAFr!Tn;HFcMAmNG&pC#oB@{S4-81em{cs26eB9LD@G>I zWlvVmUVv5-ih)FA#=f-dHmpom3%5$d4+~>Od7IiNwm;Rrs;1k7Y(P!tzxD%Qu?&v8zf9?9%KbykaT3 z(w3#QX|SC5o~}S&KeFPycW6;%Fv7w@*r0P!(W}8<3+ent;okBXGJkH|Tjasrd7hN{ ziwy)DlLMJ~wn2}iSIF^flTIRs{q^2t{<@RVnZEesXKO$HZtTbMa*>FX33CmOm~#p* z3MG6W1s(_lm`N5^VO2&pTb^%gYvm(6)@4?0ZfI%M_aJ8eyRX<yH;x}?BzhYYaX`YEm$jWbIzC@gm@WrrZoV7WMCQXY;j5ab+|oB1&J zecMa9S+7_|ihsVh1E-V(mZe!?`Ric( zu#!t6GC|scrrxVHOUrP2l?vD+%jAZU6Ii}G(~q-bV^N1dVa9fhGz&bZP6V#@$qLJC zqp9yl_Xs_Mk?amG`sYpK(=*GR${Sb_PeIILQSGQuz(H9z4_)hNFs_{iV_I9#qn-g9 zNMwKes9o z10S}$9}T@A_pX=ef#ETV@KI|!oBM5D9cW)pi;$4u*BZo%WpXY_&+G`ubFclr7Bk5~ zm8w^s^ArgNh2`l4ekOHspp5(FI{2|eg24K^Av*lEo?6AJ@Y7N)s>O-fb>SOO&iu>_ z1Y%Y;jKWp22i@ozi{s?rukBD5SWPz#pmZ`GW;C|2_m9dj8pmr2eGppCq{KH32xzqT z;O3+NET0-43!S)Nxs}j_OqYsQTppVEVDJjN6G8(##EXh?Y4>RlgXM_X0a@N6*_C)x=qhp2gFSD0WXPspg z9W1kajsyqO?T zEg3DyJSOs#V1_%V!cj_<{sU zrL>aQBfDIbVA){c;@3k2md|E@7p&&FtzvyDLJqC>+0Z@@5OmR|qVhtL{TptsKR&$?{Mkd^x)iySh7BvDwrFGeQfP z8-~*?!ie@V{Pd9+_*{U;yJ_o9B_3|m;=yJ^ph3xc3+}J6;O=5FhYJWW zKOx1qGdUiohQ*;-yq-x}=yh@5vSys_NnZRXq!?FQkvVKaHtl*ooT=(Vcc&rOD$7~+ zQpmyh`eruw`^ZMTxU~gNE&t6m|5HXOj|wyUWQFA?v&z%D2Y`7%a~t$3-U~@FXeK(+ zEX0n923*{rA+W5$#t}LgRorK0sRIFV2-E}`4JtA81Y8UXIz&)O1VyUb-BX{BNshzK zy-4a9*n{R*h+z84g0_$IxuMLqG4)2RMDL6HCDziPuUNtO_djgi9F2%5CmSXgKhAT$LY&@5rXn&p2LT&+p zyCG6M~xu!qB3YHrs-&05FH3RJ0JwKCs~4#;3zF?Kbn-02kZ_ zA+tbxnwE}7e&3cv_fui{GJ)m3F&4Jivh`Wkr~53gXk&qp7n1LrKK-ebb1|rm9N&M$ z$35zy_yq@#_wn&)w>YJ-iv|z3kbq;8k->6mW0!jwr5KB{N-^$DD~XRDW>(dXK=xAWGlg-usoGO(A2I@)GniCTIf`12OH00|ie;1VLzoY)j98L*%91^stVZfYDMjRMv!jX{?I65>2Uk-5NNFNUl_we8# zIUKh)kHD;&4z!CmBhILRC_EIw6ric|LJ@e@tU(j`K5fXscAD%zNp1ZEaQtW&qc3pU zUOjog7Phdntn$__cGfJYDA)i>`Qg}KI}&GGd2o5CKMj_vyLAQb`_bn>n?p>i@5Id! zIfLacWNnqmV`$0<%jv)zDD+Er#dyL(E{hZ+DqV_^UHj|jNiiCezi;G4i#RjWQ0Fx? zPVAz?oh`a&!t!+j%YQfXV?@05U#~S9xHga0i0u)L~~8`qu!%a;f&&x?x$FPnlJc5ujf zn9(G?gI|PBoUaEiy*95>N{oGTCAjl>FtguFJ{%PAs{V|JM|)EpMY54%tWK3;L}!v> z+)j~V+?^4N)1%|iz^}^`ozrJ{f@0>&;rFBsj5L&$P-XS7_0?hMN7isWl5hC4ynpgrjvG1wNgs z#D#S-TwAZlU9$cjuZh6JKi!U3wFt)4{ zv3BLNBj2!KY-{%P%rb@LPfN!@ z5|;HqpqXyk*={I-GpbwOLV&GdtR~+MjxbIrIwi>Q=N56GsS9lvP8+*WSpFguj}L_7 z@jfAeWocF^#=0k@7|T+m7_`tYwNP?aEI#k+hE^uXq9di7P*tY}Cp!6Xqk9T0XOLoC zsYgaNAHFQ>hD##C+qsxY=W;^OuAB}#NWgM%pdEY3=v&(WF+VKNuiOfJX1Q13kYWec zQzRH^uuRtTuPepjg$mp|5R69$!vYRBbRE*5m#n?JOI?BWMm6%20>z{^ zXy$BCEOT8+N_|h;`Ej|qA7>hQS*zD(5gHi9Jd`Npat%6{E{zn28oCKA(;5En{^!LqM6;jTA6g z=5T`1r>QmIvXh+@qyLi)O6(aLlsKO)#mJIf_GOV`(CqRo0-;r-wE1Q)ILnGpyvBfspO|rcmJO%o+wpL<6AxBI;^fR|{5UZH%hzXnnJ4A54jPMG zfM2`#o+-mPK>$w`_O$Ft5ZaVhVs{TGc6WDTc&)&OlphTOIyaW$GJ#=yRf08kN$Y}0 z#}~mVu*}D!J?T=62b=XQ=*TF=U>W)kGfOe<%<}%Tu*~Dt2GRkzguWX zkzW*NI`wj1F_sNh@_v%#S28KCA6Qlw6qSP6pWq)Niw`DfJN3Gyv`xrd|Jp+!%*T_eK<{E z*~I5&yUEbsTiPzgY621a$cC`Eg%u{HAWtj!>1U|)o)jmyNrCTEo4W*M$}T@7aPsf~ zhjl{CR*JFFOkU=6DF%aO@?tYsUf{v4IbN*k90RrF=`S307nxAiiOW3#4N9(c%C14fC2|=4$3VgRjiCa5GxVwjk`=8}5ET3uO#ga-+lsCx04-YL8&q^cY;b2`? z8u0YW2hhp(TAdS&QFSe8uw2S2Dl&4X>|pu&gm?_88Bw5bEa+Kdl<~2P-jEhVSgvPb zfp~UOjJX-J%TGu#77lzuiqZRNt{CoYr5MBO#GtHG9jLj;$LEt!Nr%hpo({{Gy2qk_ zDGNe#@!8M>5{2Ux)uM1Z(M_P)h58ZNqTRf!sK9cKDrQ{z!-a?EBXI4w4G(`)1)7rl znAKuzalz-DLb&TPX&+ z-*@5s`vkZ(a=a7tG*<>LrZqA%Sl-&ziN_Jl>O?6obNYR#yy~r9VE#1FuQ^%`b;nrOp{ zJ|?^uC1oAu-hPdB%rpa7v#b`gGD$G(*%bDrOE5BKl_@NbBd|QS4FTm=4vcEAK~F47}#8k-&QJd<5LN4ek#PBT!7{4UHnLDACO@j zuI)neC><1h4$Gz#6>y`0d}pr-e-qfbOa=vKtC*Ls>zD4C0`g2}HnB2TrgoVw9k<9x zo#++#o|;aaZtBK`o<7{3O4c5Mnt4rQ5M02s=k(cBv?=j(J72&}r2xTlrxaMum|ael zfn{!gZO_`EWI#qKMj*SquzL&^c5`827dIAkBBP@R3p)g0c@}}>aR~$r<4iD+GoRin z=l7mazk>FuuzYi19M&boKriLz>bo6innw2DSR?*y=D}}dP0uWED|8)(Uqe`a7p)T= zNIK)jgY%L2aC!tb%+=%ZuQK4rY}#ED(EE9f0PX6DVKamw#u|ne)#cbdS%dqZ%J681 z3U@y-Vs;k;DthJkZmJ!R);RHSMI?Tk9)m8`$ltYg;@WHi%d>sBG2M?ny}f8r+5j&( z#ADQ4REtz%Pg^%ztQp%~-|QHNbFKWCTh5NEHZArrSoWfVPWe>0qYJZRISng%*+({l zNd%k~;=E}s`u00PXkJH#q_32~4`d#{;~@DP0?c0pGbzTc&w|mqj+#|L(z6A zSTtA`Po7I9A69rHz;4lV7xVvaIsh)((tr>A=WDJBBr~V{Uspz8Go4 zH)BbFGR2D4)fEs5!Z4`04kuS?aCx&F*S1LrF#mg4zR@eNuKq_3|IwvwtoV&ekcwI{ zCtb&SVK~01??$j?QCoLD>{0*m`cV(|x2nAbCgocm;Sc411}7))#xgR#w`F+3px9V*#SCQ=KP zgkPYfLB2>CF03MZ+`7!Le0x+Jj&=2+l1+iPUcvrFWn0zFa(tcO#;HU%cGZr8K`JP^ zvc#eQ%QX8rlq~eSe|dpx4lJ9dLFrgEb}!QbKM8>UaWcd5mnB$H+QUP|@$+g4E^ZOy z!9E^2SkvVLkGAS@@nZ}ASYXerwOt;KtMgq*n&-*j5$tCk!F1!hK9;~SS)|v7kpp-z zy#`5#<$pTIVh7nQJCg{U&*h+|PKJ}!d^lUqgYwUTWv5n%6$C=|kPTrA0goy!*(*0c zr!X#+@bJ-O18{-_9Y1h0!!ijvuIw%Wr#Z89LckA0LIou@j#T5+M@Br}X29buDXtjL zkYXGf;)dHKeX8#+wbxsb5J~1UB?H(sa3%O_3qRUM>mcHDv8<#MH>&#ZzxP~-kcnRz z6mr8u(4v9{JBL~E!wf5q&#~ax94i*~G@^n>itzBzv>S%k37BbtRw=gv6T1XD_hm1^ zaHL2uoKKZtjA{|cDvu^(bAJNK1eA{wU|!kHhH^0~^iI&=w-0r=xIu+WpZt4RzA-o! zxBJKAw@!Y{tLi|!URLOf`JM-F)Wdveyp=#tpbOj5%8?LoLh=`u`61ZU(Z;MYsePPL z&MovVB&pxcrU>{fXMyErg#(t0rPz4(h%@8Q=003+mN~QBHb$H0g`(7rYH$lH+h4MU zWvW|#qR@}R^5P-n@B2A1s*@f4np@GWp%HCs=up3$7FFZOh}9z2sYHxL0kcNJ3hm!b zx!o*i&&A^;u)H!eEZ-sP>MY@p_9YFk%tM~OmnNwY>#9ex?DCflU8rhP6^Zw?NW=25 zekrhg#g5N6*kLw`5n&Ty=@=EReIW(D%M8oODOy`MTD(aiF_)WWodSz-CsWODe9Cu4Lxl7`1;g5?_o?v9gayp%!4x*X9ceQ=BsNj3a9 z^Bh=I(6^x&-_9iSxY3+dim@yP_m%{t7`Ntnv94=0q6`w|Z~LTf zI@Tn|aS|!t>__IbSD-=3g$}XI-!quZr;rzp<)xfRs_w@h<-AC==wBJE(u0G-dnJzy z%X?YyzgbrNJl}#}7nyNzvXwxe7Nw%4tkF$=Zyv>-GG5iZP_ObzacWHHY)`X{%U*)v z$RxoSpGksY$M7b0EF{0<$Y>kBBICdi8)gxJn%IoM^DG1YTC2fd>;FA0-x?W*^JGme zZxD^Tkt&3dXZAXDq@uEtaylt~Z0N;B0zAjaVHcwkzk%gf^j^g4<@lJuA*P@v~bA3d?5+EY&edUaF1qzZnuy7{+$6F<8!4iqSWt6eA$Rm_wksTVoSS zlfBz&5J4v4F{dYbX3=xz?bK07I(&K}GQ;v60?U692I*VT3~qSXE5B`+TE>ji zpN7)RasZZZ5Lo`DR~&w)1w(yenI+Yc7Jfu4h4@dgcVH6pu%n6#SF8JS1k22tODn+I z_BQPAYsZ1Xb~Gugex=tzRL9-CfdV+GB(R*K|NdX*?DCb}LC~o~o+^)_T?pTPHwa_e zSa5ek`h3#hgSv}cm=}W;J)&`RL=1DqxJh30&-%I1s;m)WK8IuC{Ol2nzdHI+mOwP!=tMj&mX{&0T+5Hkm3){VX?dlYU3N83o|#F_L;pqw9G*&m zd4UH%bHtAvh$6z`pMJtAY8%hr8z<(c$QAi+q5 z<$wf({22k}ZG-IicAO1gjvt*b1+B3DkoF7w5SyL zHLg#9_LMu|hH=4&Iin5W@i=&kz}h=OA(+sU2mBBUd=-if6BH=pQ((_*32?M{8Z2YK z5Szvr(4?{nf32XI<#f0^HOB^rUW6rGqwru^W>~&ID;9H_MWB1t2>d-N4z~#~-yIo` zeI5MhSlWusO=7Si!G(@-7Kq3uL!qQ~lpYuB1+3#JELYGy-_)B{|95y_hrNC5I5dpF zLq98`Ou|>TFlknFWM3PSPpOgos}#vU36cB*56Rz$r@`{|eZeT@kv_NZtA7(SgXO#H zEI75mfus+ec(^hGR~Ng`xr!DsCJBy>ipJe}KHQldiwhI|I5xFlwsiWLRjZV zdTsgNV#U)6LsK&vnMTUr(f=-Wyi>dci|T2Sn^+h^erGT$#mmsXt{&q$n6Pn#5y$4J z@yk3dPA)XzuBND$(iNx`75jZ$F67yO|qF*fsYWZ|9D|iqRh^D{$ z?RSg6G^ntSapbvcl|0lfr^A3|R*Y$HCkGpWV>SpJcW`1H0p+o69T?TxfuRJ12RF50 zU?VaTY?#}@j;{zPe>KL2gF|hY-`b8(2rz#!#ExT=EjYVU`@%8|=8-<%hYJ(@*x1pH znl24lBOE4adiyohnZHBUUq2FvUTWsUSpv)-R&wN9u^EMB5qU2@Zf#>u7;DJdaHxug zW|`hpbafl>D+x#_EMF+Zu$;Q*Q5jEyQ;WT|WAJGm7u?FcwI8HGUG-90OzIp6#2GAS z$S!A;Vo+FKFu;KxjZFlUxkc(-=Y|L2^l~L0t+(OgTo?M(FtO%C#qww!lr$)Cuzn14 z#n@Uq8c`~7(Y%=}DzIFwvKg0tcLiYioBPayd)2l#>u928>v1QTkPHQ=9BdSIIg_{4%_vItl8aY7;CVnPc$?k)4+ z(Gm}{j=MkChX=Fc(4&$b(MAP!cX8tv0&|DS&kxF5ARy6QSV##rs0NZQV55YOT{Ycl zO-cSFupFf&oCP(tm zsZxyeg2_7sNV+$Dwq;CcXbG$sXu+c`MjV-9MYT8$4vn?o;i?EcS{a4a1b|#-DJCRF zAZd1>LCKw&vA8omAZ@ubAs)BJP;F^Ek_aqQgZ$&2{rIg*EVd;?BUUeCFQ-Q>#-Z9C zTqi-u)oMO`UOEPmioEHnlsf->ekiKODY2xF9*3rz@yBvAiTaI9yZ!rz2K=^MkFVzF zF~5%)y&LP%w6X&4MR5>q35Qk3g^s|1OpKm*`Wir8i37aV51dSX9reC;PJ|6Jo+#O50|=e zj|6=;=lF1ah96g^_;G4fEY@}OlJ#swDT{}tNJMH#mWPLmXRm5_~+k#em3z=rQ9S(yZbW|dcTwBz$Z0a*T;0Q8?9=UlV= zXrmdA$agqNmM6XwgD&^?Do zg3gHzt!Yh3d`A8&DNf4sLDt!<(iWU2bNp*#H-7KxE!41_`n>47Z6WKWl9dFV6wvYr zlIXufi+uYvH3w=TQf{xZmtq7Ol+5q%M2#}?Kmx5OS$1-RaB`Ujzs<9wb2S~4UgXvL zOV_!dvmaUj09^(O3|UV94@<@z>W^<2OF?%pb=~PnbEwWfn`XeO(M){ zW5e3+PIBl*VSj%Qw)XI%tV70t!a|~|N>LhUr2>}iOx4@|Hzi|88*5B0@4%&|=^gxj zduCITtOZoHd#^`Wdtjlys;z(hex__bOZr6 znysG`kha{KPJo#lD0e573>0FGBx6`S_OG{IbM^^CSQ}%Z3)`R%@Az;KDjJ&aczpyG45J zn`XqOu|_N%q{os$I`UJ8WrKBCHByW3mXQB;lN{GS72)naE*=~R!NY^WcyuTTkI6{> zA{6*M95^5V_DO*~z&J9-IB{T9B=(Pp#@AzA_yJSUy)9DSTKgwHmCV4SBaJt`Zl^0?8IcxTU#Z9&GFItE^KM(!rej+%lVNMW8FH* zJ`@rfj2iE0Funt=gK)B1h-uyJPmy8-GRsqYI#J3kFLGU1!@`0vuB{F=KV^4^BB zIA*_ZWA<^sCwkC1Mvb@LXqF4^5D3HY^r%EcH{)`q`Z`B+nuR9N0q+68G2VVV9LoUjn|sini01b}{=WyPT> zW;7_PWcF>vavPRcx`A^hB%jP)ih*xR;KKGWRDMtPR2PeyrIolufDi;)wi0lRwkoiB zkU8KmvLXWaK8(VBR_GUS#kf7!%PM+r5?KDMj}ITVjKpnPI5{ewxr{7q7{#ix|C<7D zbk0?RaICHwgCyEWB7wkiEgycZ>_a1?I$sJ7=yRZYZ7OGQ7=&n4o;>?@Bmf&>!H-Lf zIJYJpmZ|RcpN$G!-mJj2tuiESr=G!L+}bI|?OhZA`3wT@?&ad%{%`_=oGh?>YP}4f zPSIli2WkvyDM6RoJk*F6qnt~END?60_2QHvflVid&niWw7&#h~4Yo@KC8jhb!CyBI z&W?@4ohk9mdgvCJ^SfkR8WE2zZC&VC$^ey^|H`vRR6{+!g8`>L*5UkW5-{{LVNEX^ z1LXiLlK^0-4X2hrAC~`EsllvndQ|mGNYKV*w==JECOO*-9WNXoS90QFb1#lJcB4hK zF5j+EY0+%^_YG;8M>$8 zs-lKO9G-UYznv!bPd`M8WzdXf%(Mg|+;`K!IAg}GSc>64)&0?*4wV?+wD;nd4nFK_ z;>O?Y{J8!^yX#4QC&EK>-UWz$9=(ExMO{qzVWt%)7MihVyai?5w30n2_h4BRhV3gn zzy&jsPixbq7(eg>u$&^rcyu%b8z+gNl=IjNo3ZFjtK{R;2`W7Ll#Fd!Tv=_z_cKjM zT4Bb6HFn%v8G#$iqHt>|ZBRmBd7(StRxsO-+cRRZqq_?pqXg^Qd+<}gSPZRZX9nx3 z?O|iIQus|uwD+5EzD+Eywj}e~n80#fAO5K7LsOF`U#oLdgEHzY!sUiRuj0b*Sh(nsLxM`9Jb^|9PAKq`Ef_G~^(P zH44%3eG^u;b+gR!^)d0dJvttDNTBl9pg3%46@!Lu9eAA3SEh+GYlS#Coo3*5_=yA- z3wztJf2jU~W5O}v_M%;e`%g+U5 z71@(2`_*V)!+;+3&FIz8ih+qXR`0;R!s9(rpoA>o7BZSr{lN+dR@t;6RjX zz)a_2>ZoYoq7BJs^Z_Zx32|mu4AvDf2zL*LVNy>i1LmOM5N5v>V-w)xp=#XQDZ}Gk zay;Cw!J{n(Jl<@=!}S&h%Sj(bU`lH%*7S1X_ToT;66%U^XO0gK=EUO1p)PhcON-77 zGA@f)Qw!hJ5&o0)KyQ5aP%J5r((Zp{!R7gE|;eQ7{Dj zP}XL(1et5N;_}uMgLT6JVx(#6#n8?gKxj z)`~!cO2lqra$Ek>y1E8GFEOyJ^7gSNtm?JKHGxBBT{4-!_#FLSGUME#EWyyJXlo0#`e4X093k%|~SAt-wDTvTA0Zc1_)2M0F9umZnSSPrzi<^lxl9)BIme3o%E2$y#W z(6Evi|L?8hh_H$=wTBL~dKoajqaH4sFrc3!u-K%67Bf29F{-%@4ud%Dh4!0ysOc7= zMvMp*BgBxBmz!pi$JC9$W!e#pz{QN(Hf(P0#??NV+g+!^@>K%MKUVd^B^JC?CWroe z(^IIz0F!y+O%?H4*4pQ_dPqoSEsuqh%gEUgE{o znSLA}>BEPu9n9XWSO%LkTJS@&VNSIK2U~k^t9PJ5$u-)Bl|b{=<^-G*d^l0lhx%r9 zf%JV00A>&zMn1;1*W$O2v@ElHeY+G%J0$pSi4-$>%TOUsL4vs8luUY1TE_lWUvU-7 zklk?^q?lCOj{o)aF<8Din9OtkI2>&2LG4I2LPA1vC5u466Q9q)>LF?Z%6e7|xoxBc zdqxCcncDJwKh?@I%U_SR;_M1CXB(*ATSMMm6{->d;c-I>y~Z^^WCC>@T72Kg!(jQt z$_}!haq}g}U_r1r95b5)?Blj}u_MkZ%{M!{+z3RR1SIyltq5%@8Zjin&boMxZV_lyL>m@Sdr9iaPQBS__s_|l(zDA`yQaHhJeggl zjY)>Iu|lsFzMif(uUZBh7L0v$qnK{_yT&e*QVWZo-*QobWp=O!2cvDG0e61260pk* z%W2-gX&wB6@yR3}{Lx}mFQdYp-30#j5eVEZ!;%k7tc|9_Ai&{CPGEzLS)H}0WC~oX z6?+$-bhjXRu@Cp>5-^(;Bv#!rB zy|WIF`sm*N^2OSHW*&2S+Lx?q= ziIQRGI3t7QZzdbDsH>eRV$cqW2WOjcV1^lchuW~8toL7L8_B__L2*`_>j^q*v*g5@1@jKj1)4zJIcqvL>!o` z6iHw(zzIXs3M%X#Z^kk5tZ1R%p~X5(?W#fH7%>Wlg=NVrEV{qsLM}QKHRG4|WR58` zleK+<%zgh7HVEGE>Yk>Pbgm`Gp#?_#y;zUE6U_L$mmNQ(!SXCKyFvMRq6I6Gt*BE{ z4xu38U)fgtZRb12sHNClBZk59XG|+q^4^?Gy3Q)Nr1+e`&lUnba~oM87jd#>q*TU> zz~ZtlT&VBCiNtvH3Ru|RmkY~J+>#P!$Ze9MQ#lLzRI{RQ4Fb!xZ5UY3j=>Frjf!Z) zqDQ04>8TiL!2FCVx5pJ?3IZ>K<;$s&<%tQj+fDczZ(s_8v>kS%a%y}x z)x-*;s5IGvK6;omyw|Rh{ojZA;BgCa?hhZ6lu$|j z(YyUHwVP6&{Amp_3b1PUv_=UF8@X_8SRppQ*ZKt>kK8|!igCG-5A%xI*|lC)Iy|Y~ zaF^Oz{50K!zo}zGp4C^A^=MXE1&JtvJ^bFr zx-`p0*jde$C19C4KPCkqQC~jtms{Zz;bmP`qi>wKwTRK)wg5Fb5b!zKbne>CLz}$RYtB; z5SGV~|CjWs-f6enj6}{K9Xaj!(Yb9EZ^FUEIQ&6iIk~WfsdnYbh2^Ym_^E_iavLqK z{-9w6elLRMG@yGFmhWw#$_)nGUu(oY+W9N3J@b+%+*#;)y4^K_gQ!6w$wMtDqZ7pl<`8ohbqtXV05Zl)hSiTgA z>wj6%wy_CH1rIgKsL8bL(;cc@*nK;;!;*zyIZtX~b*Iu=Z0Y1=xyxhgm>?EJWE- zpMCy+X`Ng1W$)WDT0d38slkE7SO&|(irL?(Vp1+Fzg3N3F2*Knar1i_u>aLz`QCbc zdLddGEZ4`0`fM|rdIo&4?L;UVbXSc5+n=$TT$=}(mC(^$=N zI$!5{Hi8p@aU-0-wHTI)ap+4MiWibIkfwQrQVAFB>M3#SD<1Gu0gUgafT=p`R(Ip=>S(ANyVTJ$;Rq2knyw5)h*3YZc|x{AE%gEgp?LzE=)Ec$}GyZ z1!=4pOT@+GN|8869F?nN{!f$jJ+!zD0#4W~0W)0#4aSkl~%Z3LFr5E!ZwFMn&ng?ArmD~PUs3r;og;tGM~ zA8Wc%R3~M5oVk(ZC)S=?g!W~EQROsX?p@W2erc%~6qXyL!tygyF@n+MAS^qB1%4f! z=-tqYB5nnfLnD+YedWLO^bG%R0h@58n_aVYbSKsn9$h=t+AfY72b4bFe6z@eooB$k!G*24WD zPXRP*sKfQs9+ryn;J6u^7g%612Bl#rG|Q!77~VmR$;m>L@Cuj=9#ztydB{}j_k%o- zYgj*?zZ;H*r4*Rc-iR@c4d8P_+0QNRQsLl8H*Qb&um&YJC;D)6d;r%!BJ(?f%U0iYx^G*V8MhY4!G%2*WGpXkPwMqZq) z??Yd&nWZn$xz2^<$04(Hv;sXJ0c93lPEExaKwvq!rVX8{5y&JTd)BoxP##5#{9643 z%VXO*87L2I>Okx2W>hGogkHse=Ya?sP@=zsHYcm&(_%<9GZr^@VS5)Z{u)Tnt3tRl zrVwt8P8}o37*Pnf$)Ni6wEpIc_FgP&6oWC9EvW0(!lst6x}EHlVn*#$jEu)%`F8@# z%PL1h!OMl^>=j`aMW9DB6%MVJ;@-DmOk){Tx#8>lc*tP6z&nHGtNnr?cbS0PpKZJt zQ^o<8N}MSR*QnuR`9KXWty41X-rZAGhsC1n0^nvdJi~-_;b1wSna@txlSYy z!>N*T(W$Z>N5;5uYeszP9Q%TE{LvE*Nxxt!MoJGdy7+LpgAW6XS`d*%s-Efm#9KsI z-P4L+CRy>@33-s9D+m0OsmcJfk$Dl+VWHgm1hZZ)`J>ho9kW@~C7$riiCCKmMl}y&VMH*!?;RCMr>#99F9H?Z8q92D z$5+X2{7t)`P6!Yuh}JI!aBFNZxN~(BIj2ShaAi0dLxUq_DD6n=XU(4IxJAd{0FLzZ zV|QyeCRcN!xLw5p4%y`la7sA2u$hg z9N109E-tWLhzG9;%Qq+Z+2*)OyvK`V(Vyt!$DwW>eBIKG!Q}`9n&fQZf0&7$Uf~!C zc2ChT?cQsf#F*bt&eA4cB{IWg!wQCC%y1j-Ux;O?7&xxO-9OY=Ho=IvC=tsMrxE1; zewY^(iz+cS*?^A+=+UyKoXtJ`ITnK$T?q8-oS?=J(^Y6$Mavpm_#7e}m>N_ZxwgoO zJ;S2$!-z%{n6dm3dKU z@E_aIjPFL;S+~V?gUs+ar8%w@DE(U<6cTF3;&N**Qd)ZPW1<^{^s<+N4UM42Svfd3 z*MOso^!Ra_8QZ!$@I_AtrZ%&{q~gD~R<7@Au4sn9IJ*Ykyu6psVEG2-y$^A2v)ROiZ4^uFxFLZ!KoBy z3CTs8&)TB64jVg?_0Y?XPrKTX5Gl#BQBrDqrj&OEYg3we@LSz@RI_Q)Wjxs}N_ZGX zS97p-*R-wtrq;0t3;h?uGA-&AaL}lT0lh1yMwH3uUcrJ&1VW{PVDKfagKkJJOG%gS|M| zFCH7(x$$x1I1H^Gg>K~>=u*~!q1B==w?QmEZ61e%-P}0R%ZF1mop1o*2ip9Je7sEl z|7T|p=G2Ntaho!DOP9rO2pnP#_SX%<^41zIXvy>YFc+4yA28=l)g+e7!Vrj+A+drM zJsN2-vb_eI#&Pid93lQ*rog>TN?@xB*r*5A8-Y*Fc({sy;&LbMEs4V2g)ZEkAB%f) z-MBX^9`|Q>ac!a>hll#{eJ>9-wsv7iWjkud8{js|A>@RmD>=N6#onZn5=WOSah)8z z=hn&4wziz*M!m{GOAV06t-`Ng#j#Wj)*bs-+T#T9b(pcxn5Z%u5BdF$W}4y=67U)0i`{1lqF;DSQ{R!q7Df;Ko&*e_5v4f z&x^s$Il*pzH>L$sF<5kYoSz*qX{i|329f{w3*h&TKJ+PWX5N0DED|-L&%JpG4R-gp z6IixkCvi9``jsrIo+A%H@^>W|W!RVG##I8#RF&jY0$wV?iwjKYL6=xYjl&Cqu)Jrq z630p_hj z;>dG=uR@t_Ic@NBZLJEMhnv~Hp%K=%5j~>^T?vy4-=^v;FCxypT*%83=?-)ssU;DZ zm}tSSWIOf@uwh<%D-6o4)lQe)u84S;KtTCoTQ9D(^5S@74?20w2zf-2hrVYW*$*2U z5!*%_|C=8L@N>^NM1=kOV42-0N%?3|!o-UDC@A-+Xhm6<3Y>`0EEQ0ofKJnb%Ec+M zw0$%#PIBY=)L@^5J5velj`rc3Ua^?pG!jjVnc+6c8SK;NN*y737KEe@`fvKVa55yk zaKxJxND7!Rr?wM&+Qi{_Pd{$;C+AvUAFd=5w&?7`$cj!xszs?za=tA2EVX1^uO{}M z<}B~87Xz~}7nXD6Rj5`aWF5eUHkDveZv|HN(_v*F16C#*v3al!KaY>bp~XjkLuIAEO&|!zl&+d!3+1hRd^cBy7(4Hk7cq?< z_w7bt_Cz#r%7TYSwRrevutCX#p9MIzRe^m=v^c#){$aEQn>snrwv?7djdIG|(3_MvivUyGn6N)p z3h(fIBaSRGVaGTVKJKN)n6?sht|Mno?#MP=%<0X==7|!VUQfVz7atEcDVR#n;pujC zt*VEJ|K?Yn^q{L^*WkxGap@iWB=4z%-}7?*6YNr~Y;R+2&c7aJ!$(cc&?|XaqY({x ze-vb9RE@%=4#6Vhi>-VZQPj$s^*jmx#k3Oq-722gFh2w4U;d@AOxKq}%tN!{#`MT? zO`jJ0ELIqnCw~FhGy)8%Yr&DRZWh3~HQkN7Gd%cxxCaYc5I`=fhh8CMEb%7m+@uhp znO~1(iBUM*m7I6IQyZK0@?%RAH>yObgSqcnFbJR_&cUiG(F~S<&V}Wiy>Y4c_@58+ zAuK!`LLm<#GU!KxT8KiCGL(*$p$PdHX^^ny8GJrDQ1XW`iI@+va22c5B*51*)VRKx zk2^a!7}r?|4(HYL{*+2SHm``m!&5dq{9BKQhm^qvCBN{2{TxBrEYE6dVTXI3f5ASYd58lNtT@xu zhpSD!_%kscwH+D;70>z}KDQv2_BG?k!XPYvJ;;hF^{r4#xH$-v3&3v^V@W3q_D`@8 zC((@GW?Jyc01H}Il_TCEf{+1f0hZE4^ZDtG3{8R3YlNs?LWt=-R5-mnm>zb2g$H6` zdVj!7_c8^S%F!AYDZWhLCZ&@Pm)iO;w?ZV80?t!*iE74o_gQeJ%|EbwAUPf~A?IIs z<_7bA8zkt_r-}{jN|WcQ;Ag3Gv>@3B6+9|z?j42ev)s5%$4oc=9^=O3Mh=vXQ9!`s zFcpip;asN4&WZUP)NrY=ynYNW5>QU*6-+h!rL7m;i<-gBVnMlFSpFAFDdkDm{tf0y z(Zh>E@&6tHE=f}CF1LRWRTD8iXgDe!~Lxy+}|X}z0cLSw@#Oy8-90%6?c|7 zg1O-f2rPg6Pb$XEX;ebaiyIUCI5y0O5jC7}5GUqc7IM7FaGNAp*~*R`-R;=a(@qSo zJljgdy$*coh%>pistZ?WH^s(2tghgKLHz6%%2H85?47K~Q3A`q&oN>PnXig5${YpC zv`}q+D+~4xv*D-lR(vzwf^K#6u z^CYR-zz`Mg?&RY3&T!1>OSP9@J$ghVPL1m7app%maO|H{j36v?@bLR^Jp3+{b@OAu z{8g$%AN}|x?UcyHeVU4~S(;i%Nnm*`f#ucDPsO-1JC5ZoA0O?(`i?Ou6|G{?%dEN) zDY*2hWWZ)xl+?q4A+?RHp~BmEzj+>sKBPHtS=EUvXH(-qVmvN4^5SBW7v0@Pra$|n zf%ivC@yo1WRQccx6DBsYKtj_Ca>)KuNjMl&$AT}C9SoLt47H+8aWx{Ilb4z1pr?(r z*90}m^TVza;FDes+@!hvv)wo_G#&{K@1xhnqFAiuEgfXZq|V7YIg$6 z9SATNwXg_to_x8moD0jj<1H@c0;pYDj8khR1X@FJd~F1ZxMi=r;pxT<4GTkyBrT5Y zwgHD!si_!`bV{VK{AhHU!7>@UL-BwX|7{nfr()duT!Xvoo|TFbjk^Q}?#_$DUt{7h zucZ^!e0tUeFRL4Whem|?O>EdkTlIFJS9Q`ij?~e4r`PlOLqegD^5E19;j;-*E=Gt- zF(MSUis90Upq28OcJ&8ohx>cI!VJN{1RE|k^x{ebFZR`lhg&IrOc912IyH)E@!K3D zgXNzmnNcgCV7DPTVc${5sdWh*Hjs6&tG68+d)rXEsEX{Nr;BWZP7u|cjv&r0A8G}k zedKT=nA}*}UZu~~WfEc6peWp(L)Bt@nA_|!f zW(~1taV9B~8_f#Pry$PlA2NWZV(jM;SWZjDc%u1BdIOl$RE%wpreXy1FllS?2dk`ju)@J$`KQq_ znAy^f3h^rNxDnZ+vk{$}CJ8Eh-rk8FT^tx+&j_iI^F{`i8k`6Mz-4@53~j2w@;(;q z85M=!C&c3VY&UMt@Zj(;Kfdkd$0se_m{`MshF&c!O3^!uv}JTyWkT$%9*4_GUR$V!XGKbq}Q+=YU=U($3`4mtjC(ZW|)=S_YV4RD}URm6=G2{D|4K-_HdwO8BKa~ ziYM2NlaezR};Bq$D$X-j6 zhkI_#hk%POs7jqj_&+1+Y9 z{F(nqDn>z;ijkJL{8TE&HX-g&P3zB9xU*h|+iQ&YYo;A@JKNB^jvh@)D&Vn-z~^z; z!Id2j5^Bt7vDL_$M(pV9#QOFGS`*Z7WMt_40@c++S(OJ>pQ% zG!$aKER!Fy|D0Jq5@elppQtxetNS=0oRT=-sd5*tS8aJqgFmJif+BSA0!C#{G4 zePdc12sN`h1klDfcr;dK{I4NdyHsP0Yyj6r z1#q;#9}{Xtp_EMU;{PPc}i3(L798%MhIY9YRv&1VI7S2v5$uBHtC>mZlYFu%DwULD*%%|v zY!~C!HyqsGOO-J~ShvKxdqQ#Zi-JhmRuC6AgyFY^GOQbE#Ok3YEJ(IsKw~rNmsTU% z$YZ&^^vaW_jXbaDDeF2T`4DFiVL?+nizF^?ZbPK*^`dmFZ8`DGlN&4W=Sl${QoY@s z0+zOtvfPaG^K3XW$%)OqW3ZxqEPm@Bj}wEvI5WtPD`ealKt^vr&UNu)3o%|bqqN|> zhk_8MzbWEjRrwgCBzbY30Q0Pp4uqv%SJSK4)dMw5YxwYd6B?HlztMWkN^8NU7GPFG z8@7|Ru%@j8RXxh54i7p%W~~6r`fG9a6AdnWs>JzEafei5olOegU^SX@cYLGoLEMj_f;C4U#%t%rUpOER^iLZVk{e^!pOEdbf}|4qe@yd zuB=7#YFZ3wqr>E`dTbb}z|S*O_-mF4=jS_ccS#f;ERMmwkEtS$2N%bB$v*SqquNm@ zVv|9Tnwy-F{Y~2!&njla1-b{wTu)3eqmtWz1AYCt^HCw}?&OA1A<7oFXE{~!vVI9I zPR)$Oy(N*X9$-YH>1b>gdFlP7X|{YkFZ0O>Y*I)Cq2O~v!Ho!om=_AOQh@3Ne5Tfl z#CPr7IN#Hc>)nYl?dZdiW?l>_W`~r|$#ic&4_O;cA~iUX=)t8V4}Pu{hZ3e>K^krK zym_P+#}*s#<8%uu2PCXuG5afmtyBfFhuxt5QG94^WD%`j98gR0`57!7RA8qYL zy%^nlJ3Hx_5-aDY!}5|`SbjGTKBvjfW%cMlQI8zwHju-2PdN6?)FRd@daFj7f^+_m z{Onqj4w_0pKbPGO;a7d`wDCsA(t2#~?8N6R1w;4Bxn%U`2>4+b-Cl{5%|hJ$A`JKU z6vVd4Qq(S`WO=JEp8MdisYK{o(v0s~#N&D=KdumCdcLU_BZ>xrIWvt|FuKgg>T=O6 zclmUE55^R+vTJ9HUWA=v^*Fx7fX$=K#0ijO`+Q|Ox3oD?*RsL2uz{?Fmc?~Xt$(`b z5?mtenP|qzWm+6rqDAk9YVe;ZVik)xnAuy3yE_DUxLJvfLv#oa4`pA|EBH7xJPx-B zEbk?bk=r22aNaU~U94PyZ)?W0JlX?wV-ckgW&6EIBkvUoDKVm@0?P-fuydjo2N!8@ zZBuX#?-8ft;g`Ym7VIrRMnT{!KCZ4;vD=Mr$6N4OePp*g>ZF5Aq=cw&NA2i|E5|VntHP;*~$vb?=OwS zzR^)gh?Zsf_R>-T7c;9w;c`bmu9C63W;A5)shJQx-z!*E43=qu-_$aZ5OZ^3`K=Bi zHzHVJn!!UTtHZTOz=2lD&(iNxDh|i~g+g**MBv)z3e+wkBnNk{;e1o$MWv5M)U;q* zCkNKGwIjhHN4{5;<|B?pi)u=oS|i1+?Ofd18HS}p#c-O1uXG*AG{VWpB4#;O5hHr3 zjSp9vdvUIz7efP9@Hv?)%|?G$^JqN|*Y)5c0kb{TW8u|E5FaTcuxMnk{K+5_%vw>F z)Xjcng$W54W9wSkTKKe$9RZvC83#-V+EkU}@5M$OTcX2?L3&6;PdhSH1*JlQ41cds z09zIKZla#p7$JMcB3>B&92$#T1eSm86F^~0#+6s-0oTB(##!RLoUR{_bp+!0Vc9=# zHcgwFM!O_p9%6_CRw+S>4z;+%8R1|;7bzxnm0)srF{bnsVsr-{`Ft3fRuH0`PYxHE zL!pq%!1aSSY&O9PpTxvbtPq2%4ZQ4jrKivQPcd*&GfoW-;0^)iHO*t8mhy8`F*4Dq zr73^iYUprrfdluKJ8*JlBpR32F*(IN?_gc#$@j!~!&I-LW(9t3?!onrJ{)c3L&I3@ zV`@X0S)^GjQX7Qjq*x3sW(O}KEN2Bn-zO|nPrb5HgOQOIxMbqzf(4y$epo2V8Pu># zMF>s3+Rl^3qSZ7an4D-p%gUN8o!A~48iEo z`VH;u+I@9v8`R=g@2p0l`1?5uT;IZHu)JuH6b21BK=VGs=;jaRZ032vny2Xi7P$~h zt3=^aa{|nbyf{vPwNQ=6o)*0us3)>nwe`6L2oWb}$Rpp0LGy_1bNL11}dZ#`s^ z><bdIJV)p4kCD#;s6!Kf7nr~IGj zy+bR(?|nSDIWmCb{R5~JCC?FQNZDb~XI(f-go9HYc(Brr>x-Ni+suLprd^!xt-x_w z03NcQCoB>72zinzU+lQ~K211KVCslCbVtYRUWy7e-)h) zzZQwZx8!w0VyuXk3c;ZdgBTQ~@W*kclDgt~$z`1X28@`_&gyoNWXj5B0XKz@bkzJpO zkBuE1tTD~>Bnvp0uuLP%jVp<9ay5-CEAjO>J>*h8 zo2SY?Jx+e)WjV{AwT*{CF3d128--kaQ^U=QF6lEVYf?P7C3#K*=*P#qi(Jb15m;Qo zg_MR~TqN^6zL*nXk4PudE^$*6$=9hW1{oh!cY+%cp6&NQc8Dqq_~Dq+){J`ulUJrRvb9kx#ag1Jqo)sL})GiLcC3|qFj}L$M^W*QnejG~n;$Zi9>}(x} z-sK#K)kzp&zLL}-`8`D~DjaI*!L<%P9BA%E36m_-J8;rG{(ePlI9NXpe-c=xjg4}g zy32bn@FT{#JOSZ9O2^}DSr1kgb)l(4k64KSS^*C_GHRLB_`YNuE|9O&afXcjrQ$Hs z>p(TV0n;2V1TcA~NbFcs25Rl>xJXY980cm6{+FhyOD;?k_tq^;r%5h_}2xr$x z(XO_XtlyA-a-t(bQPwBJ?9Nu4nr*|S*^#(7Ef&Wp=;F9FOWT)7MmW z>u_O+A2)^t@O>9AVzi>1CApPF&%m-?8O|*rpuB?Yp@j}KD5ZU4z2dauJK7*>Or0qF zHNb}}BLcWSib@0qaA#zp;22Q|x5@LqH8g;0g9ErUz>hz=d(o$?9Xbj3mAHjNY|E-z zF}O^N{o4D{v#^<|uViLam%fKNQb>-L&mX69$X}!yYR%IpSwg}{~LMju5xZ1N&P(i8JkPT!XXvD^994& z&uRr&+|`VOGc2s5)Q{6>J6jox2xZBXfxP)))fYg@CLSIVSpIF688#g!M>K+XpLvoc z9O86X?pMW(i13WV@&|eHA*q}ahnJ~vYl{dwCP`sT&EE}b>V~3weGUFzXvBTm9(;LF zXZglPR12SZ*wTZbZln&!>v?dN!1CT&afnxmGu5cl6sloG z95_i}`BY*&zUvi<19Q`0S(;_{%l*f-e4nv$F&hjGgyx(r|8bHYP0zic#bCi~amqniPX*b;cbgdL!A=Z^nhT1eV+Ru%K!TWK8ua^K2=t zb=X`j8h;X4{=Qx;5;Ve0k8b}fq~loUoQN>=j4jLyu~D>>F*vuhT3zNWk;x0yFwIR1y!fV3s_5=qA)E!|=n$ zDm>UK#`RBia9hLEulsYys}FjMQOm1luuPj!v@U5N2i~hhmJ48PJ1MSwE+<2Z37zHX z4JK&Se8Y+goL{5B!;Naz8vOkHNPIaY1{;%OadK?1Daj3Dlv9Qm!pg=3m{m_ZiuC_7 zZUmNqqFIlJj1!wnKhCZEZcgz8P1hyBREh(<>fPI%$S)v*I)|93ant zrsPm5v(kDg{+An7eygKKloltOk~56J@?VKwR5B}{sdhnaN3#S2E)AwpMnCp<@ghnq z&Yi<|X@gvHoLykWy;T;Rndd}BpNwhyzX>SQCP7`wns98WA2-JaSS$1M!vk2=G7gZr-cp|ZT93#SPzA01`GkwpglLiSCQ^6DIMyFp<&PS3}uZG!phGaFjT zvncq?0wbSOgq`EeIJsPlW6QJ{(p-rM^4dJlXm$~lrOb~oVkcXaBOo@-g*$WHxH!Rw zepPH4&Jm<39Q_llINQ+66dD$nje?RK;JGOnZ_mDpcpR*)5sfP?$s9NHVQ%S2NO;eV z_ED&C5ZKw(fjGTn4__YO$Dj(1EYSiwXWHrl7}v^-n=37NxY~*py=+iOxUYRy2WyrJ zqD65dPLA-iVq4nj@yFg?G%sd?mev;(2w`?1t^N83dD99{^CB<#nu);efO2*m@8!d_ zegv5N`Z2GL3kt!@Wj@*M1TP#L>bV&#UvBF|HK#h$3b<)4N=3T{Kh=%JAp*-Emyd!* zlmqQaR%%K@A38TY6uk>siHG7rN>d*$HSxaoxJ<@I;^pW>?CK;{k8b-TP#>WbIUIxozVqBIEP%>El zbEzEV3#-|hWqFS!$>+Cn7%cxX%ZNfzBKEA9;iX2G?i&KUoyu5oZm=KM$@r_A4?ctB zDF~(qbBscWZ)&=6lECuM#K6UCC7C-{1w+sxM#mHwj*R{XmYY_{8L&+M1}jy=XdG0- zSk=k~qk{L`L$*%?75-kL#~Id?M2#`+RInL%!K(cHA^6XS6p}+&G})}-U|>TNPRw%P z&cbNio=qH{ZZXg+1R1(QrfbR~7hzYeSX^!FC2PQkHZEPx%P)MdDOm+jKURms%{{o* z%8Nf6cu>uzdhQ(OVQK;e(W{IZDT4#JKFE)sI>jSaFU=9a!JzQNpd!f!dGo#3LUQ`M zO&SsQPd4Gf8Z#~~a-eZ(B>~wtOTjB0t;B&rUfdk-$29`VTRXXt;83O(T|chOLM0>V zUZ#7$KhI z^AjWPt+3(tLKnUp;)2&I%kcC2fQ(LF15P*f;aX!Kc2|vsQz3pM+ejTYD$AB8z4mWb z)uHRxEEi%^y;zn%da0!sbILkdr1?b(7fgDRII$aA#^EL{`05wH*eVW$hGzdfawl>8 zD*3r67te!3FCY*X`re!X`g|If)#BVDE3np#FGpHn(Td*4?r5YutnEnb?gSr$<(=K) z5v`X#wkJPibtmB{Vv(R(VI2lma-v;vGjVc7kDbeW!YN~_IFUl^cS>&`_O_0PTEu<1 zbQ@u&j)lw&mT6>pa7kx|gEeo1g(jD<;m`VR9BSZ3`xy0m(R%*Z!SbW>W`zwhEU)Im zdEzOhkOgqL&8v?TGL92y9zek1Z345HAAzxT%-Gh=@l04gwpfobZB0y`CaWDDX=xb$ zMp#b20?U(+DKDhys($!}5f2K09&#w8<*AOYZOyP6#*1K?UKtK+qr+_m%OVVJDkXd4 z*#{`ik#ARwz|@ccuJrR`Qgzo;Is5ecXc0<(zZqv5#N+qGICS=z-?$3=Ri6QEvpkc) z!0|~zSl%{)Ia7MhyYxo;sW$zuK~#C*flqSr^w^_;9|F z4<8k_zOkcZBLLL7x(Ln7%TPE<1|ILReaen%!mi;jkvMWiru3e=v!9@wT%B>o)2w8GPjEs z_tuzk=MyWY65C4c=4*2b**h&tnQ>)20c8Tqe+}`Wid*y8o}$0kq!eOYEhql$Fz$%i8s8wdnEaNNiH?6whzMcoXRmwp&~Qp zRYaVC&j|b|P9eg-Jpm|s+ zJ5)mMTY=58E(O-KabWv%VEO1GJ$6kn!>oyTtf53!D)9Spo`x0p-CmdTVVN2mkuV(o zXgLx~tI?&73KKerF`%geEvl+fuCNL^wEzVQ7I^K5MU;kzm92t#stcQ1A>?KpmIaUH zEX$EpUd_Of8sko3eE&;cUo%FAn?r-Jyf`uTnFjNJT2_@~>v$c`uan^FreI^5ySu`0e|JIL-@(J}&z0CW$%>9uwa_bg8E%i9 zcGcfD&VU0+9-L|7!EbflaBHM*1hy2^XLQ!%!Dl91TVca5lkJ$*-i%12C{u4MvWi^| z5YYLlg$GwV5@)2f7lVu2naW5;&lQ=FgSAa!kkUVZ8)Pi18x2J^mh_9XNO5eT7WdZ~ zaBsB<4?eNr)>0=Hb+$ku;bpQ4R6bbsV(cDk0@j&u;$thSCA?Ycmy|rO?cHN>W0DWI zC;2h9uAQ~IPrF5+&(xw4VQI4%+!$2|HwYwO9YzMR(LZ!?L(B_*Y7Nj}#^?%G+$1*q za zC+Bk`%SRR(aCET_W&P5}bTzYzQMVaFkg_o-9rx38Gb|cTj)>|#X?UoSQOP)HQeK0# zLv;9hvH`!&CC_H54wu&}abcYTCs)gGcm@kQQ8gCF>&N4-`fdy>@@5_T@-U}cKgTreK(`f08M+ z6Xxr$|Kcw4tVVipXNnI$5AdR>L!Q1b>DM`&a7<5hGElxgGJvy#{8-!4jXo73krXf? z}V2=f-lKGrm$R|?6=H@WolQNxU|?`FAhf=xbblr2gH0% z&TOia)nPf!5HZ;+0SB$g0^8Lj4(Gf2ajl0RDcuPScgxsdukG%~uWdX?E@5NREHp8m zM!Eh&7U+LcujF5L2s*VQ%x!FAQ1l{LKDI=MDn(oDNe`fr~6=u=OE z2kT9^yT*)9`x00!Sm2FpSoca+To~uWy{UezXdMOdBdw-cn|h}L2gq}z4N1-ryPQny zGmS=5_qYpR9^WWFnO&sqRKmYd;Sx!qknpDh;zX>QGBzC2z*N}4? z>SPC4esWlqBJ?g{#+S|ANa+>8wPXU#y)Sb5G1rS=nQEu59d3Y-ADYDsdkC6WQ>C}Np4!>K8YJYDLycW$l0&?66&?1B zw&B1``b?VX+2(19vq=rat<^!xQ{0k%(6;o2rKE^m-vL^~xSIAJV3#%YSc zhEYn~T&oAx8-dk!Z0%=azccN&KriQGYda4s@T1a0jfrFVti$^M^5jK}M`8Irq+tXL zLqagMg$BpSb2+iZh>7hKJlg3ZRhj(5adpCuZ64V7U{AC%aJ5tIqMwj@VVS zL5ltD;*rwBhpS!vm{pld#l4odvmEqVU8`UYXysCaP%oGPuu1FxP*TjhDq?+qv3T95KNR=7h8xn2g#zb{b3Wff(q z`3nsT!HnKI+}lZDd50LilN78%Ij3~*Qi{14Skr(#L+sc;$;zI|){$0ptD}U+DPaXj z6hNuxPbH1$-yUTVqfIRlwoH=Z{!T9LZ~g+ojl+?oIBcyN1-*oy zbGv|MM_7I|UxpqAE&?;1ikY#uy@$1nOzHn>gLch1-zR`U<*e+g^LhC;?CMy;#pv3> zJj9H^@{uK4G^?z8BM77jQJH^bPJgW1VC;gC5)hy0e02VzT<2%W5b*&or)){bjg&lL+T9}S;M&Qq` z7GP#W8(SYMTiH?6DSxGFDVaC|%ZF%ib&~*hc5rZVtpGz>si0Q!Qf~!9A(!yrG6`YT z@YyvOeQ({%TX2kk^7Rn`7Fixt!G>_!zBu1AiV2C4A79+bq~i|Oi$l{mW2UNMJi4E1 z6;|VisV4lr*nqFcSWz-knq%^o(}s|&$^KPM*xAdDy~AwSGT4R+J_WnM%JU8b3K0~P z$pLyewTs-923~wtAsP<3@SXi$3MI9Q>T!Bj6tL8VrJXD+qL&kM7=yu+Fbpbh#f9EJ zT<`72Umd(?KpfG0Zy2=?rgd?!piUHSBnObvlR#55H{xiQ#(ddlexB7_r+z6TF3gR> zgT*c^>+FPF%zG@IEN#4P$2`g;z}^WqJRo-c>_Q{?zvzveBsJMbJ9@@2SUxz!i;~fr zNAi_}k?e_eBN;588yY~P1WSfEfSyAg6Lh#t*3&gIHZ+VT_W8x<9*3;MVWpkvI?Ejk zzgwNZ$bSrJecO5;rG=N6f0=PQp z<>NYe-S*aTFvwq=Pe{M!(h0DjnIl~y>}9ZgYNZCVdulUHAUq?ZgjbI98^eG-;n+7* zgBYtQ+XG5kG^UnUiBH>+XVS-xuZG&tFHr|&YVL8G(PkJ*?*g6_#M)`1aOn`Op z`?OgstV-cC4^`@58pz?arcw+}5m^4UZY+u#6&Z?nypuEqy$D~7B?fnq0f%Q=&@e%o zqw<#1E8>Z>GpB_W-;g!=(|9YkkF=msSq(T51%qqzEdz>D#6_PHHXNZXa9jJ3LST7U z)mRkL$=}NF3U(9Bmp<}5(s-e~Pm2>XBJp5JG`<+*f0#^QuKc!sleE+n2N!?DV;^ zpi6-eL_~x_$PXj7DhvW%umMNf^RHLJfD3b?aBopG_6?6kj8Vjzf>7HjB(D{dA>@X! zoPDbHlD=Nvq@b8}%M{@ESvIE3apGeGWTMbFgJoF|mhTf-{&lbiMV#u#U^zTI9OG*{ zaCdAWTpAw0kgCp?D#QexBrfLHjb>^X7kl|Jq`c#W!3;XDQsR)WtQ8mR;74G&u1oh$ z)oAGZ)Dj!Bs6rHuCdJ{`dauNG>eDP7z?L`hi6u#7EVgINFyOv0((7hrVEt zub(Ht+_kjrrTJy_5HDsEVq=G33Pwg?`RpfZ?3tp3L7O!SG^l|e(N2MzJHrVqb1<*B z96Vn3uU@4Gi%T!WoW?e6>*Bz!-gb;^U|>0N{~Y8&JxZ-20!ihR_^6!`pA0i%US9*+ z*HOUjF`IxcpM`h_f}%`{8sTR z=4}>0z$L_nu}a+B9szt^01v(l$IXo*q^u_EX^aiKM@HiOtVmp%9*gT!J-9W|Phhza zHnnrZXL^40iGIGAR)T|d<8h+C8{gK7fsV}4`+9D)2=nt{S{x;?d}5&qU8=~5Q3}bC z#x~v}#DWf1{5al*12fFnH`#(AP4rBsnC{Cr$?au917e?OG`YA{hL!bWaXwX*;YuqX zcGZkUVZHpd572*Lh^8*(XN_^BVlLSyT*%1Bh=_2uw&-izb_EVkapK=x+Q0zoxVEN242*K&TmL=n z3L9~zEBQU-cb)F&LzluP794ut=Si?LA6X0J+0%do?K&B7g(IoF2&3ESv1+gx8%9{L zw67IC>lskgC5Dnb_W_A!q|A$A9Vk;~$D&&$H7ds|FrDTsi(JTMw)u6}3Qf1G65tY0HsbE5M(i4G1D{*)jbK?N6=HjjeV{s%f9^h~&yxmiS{2gcOfQ-y>ci14UKF>hUb;rCQa*ld=4G&a zyrmbh3jRBlZ=-3jWeidrNQ}dw`f>Q0oFgVFKj(sSPJ-p9DvBe*&^*C_KWJX^NCL$p zo;~Qb^<@Ig6YE5g%@gs$1B)I8Rbr*AfGeZ0e1^dCuk$siR7CmS3td>3D6I(lKIQ`7 zgy8CCA=*@zGDDKxBX<$up=e)9%hDgVkTJJKP+wYc!90#`nl z;MyhuZf@h@mqjvktS14N8_wV$!6nC`X%v>DaeP8NYWY;;aL@bF)S#*k4ffY@<2ZrQ zgUw@+Tv5*=Ew3a+mzO>(9>#W(;Ls{D@D*`xb_kgo#=SL0+*xkN-9^#3GdB)*XLxXA zm>+W*M#F7cg#Kk8_p(q*!!DWI+C@Re_zjzHeH$B(SXAXf?Y2swbVn*<>c5R z5uaUzg=o0#?0%IZDAOY`zTdX$lZDiWM+RF{F|me^BKg zTJ%glUTE*fimEOIUIUcrdkA*q3xPr=fYl&Iv3N0>R_0+;TNxJg)niFNBNq2I?8+>!5- z3Rpz)e|fWh#F_3dKbh;T?c;Hk)(8+--qR)?9)s+i{5}?Gr0N*td0r(B(2vbLC~j7~ zx7^U+&0Hw{KYQ;T7Uj|XabMT_{@&+_kCDEW?QGv=cY$5l3bttMz4zXGi?K$Hy_eW~ z?;3lrN$jR+qA~Vf5JifjeBYT_P*gyO5EcDnE)WoQ?|bf<&pC6>_iNS*(6TxQqq_;Q zdbA9O=gDw)D_NuV2jSUX9-i(LA!VBkDVx1I%NOQ`Vs&2&uFbLF$+B=HFR~(OekAVC zwBykX2NI?`k?@@x36sd4Jw65r1TgP>8-pK6fUvl66b6(vqM}6xiNLEbo}2ei>*lK$ zL}Xz6q8By;;1neWNuz0kVliFN47 zKp@*kGHNl?pQX*(%{*%SL4(`@URa(}$NENd5t<-uXxHLSM-MB*SX0{$1wa4RQ2O2j z$!i^0%*3>n&kZ&qCSyk0pcuzX`p2yU-eu+62=JJwsKf4_4*3GQvat5oE^C~zkuEbrnX<$yo#ZRes(JsB(Mp!(i( zyBLwU(1w(GPK>N)AYacOdg%gHTCc!~I(7!5f3%LomL3+AwuxC*JGa425DDN)yM-9k zhHOYf)i^ml6c1J!@MxJCCq_qM&p)hfM@Z4%f6ZSiVeNUxRSf zKa#h~OKGWYHMBT0PlroOHP|&I6cI{ZfmTq6(D4Xd>To(urG=KDTv)2brjcq4ZYjo> zE*TV3{u}QLJ=!*@MQB<=gL%y?I7zj6hZaTrAhOXCSiaQ7gVE*8EaOw?9{?de4Qo_c zikbcVuxTP6`)3B@>?$!Hlb{U;c}z(MJEg!jC9p+@>x)9MmE6CJGYJeWrwx8qBrlA_ z_3s?GJJpHDvs_4?=0?&K50WNCASd2MPSnLF}w?TJqv_L z{vilBRs=ZmIoVSRBlSlgJUbAGXM0|T~H?qH*Z~YKt=!6{Xtr^K&`~GTZMCFX@Y`%HbG`g?ni0j!+yd9+_v$7q z38qFlA=o;?fWH@Nah1%;JL^K&Nz||NL$Lol5f%)Pp??b%>X%n~M>!Shl~JQ*B`qej zHeln|p*S(rhO1*ecswbFWv}81SllKX?G6H;)vY0HBhBsoRmeE#-68}>77B5D2geIT zM+poaDa=ZOXk#$T9PSFn)9n<7l&l%{>GwKdy%8y^2n;O?dk#a%^Xy2Pod!cw-AI^B zHg&olkMW-FB@p0D{I)2PzA1`JJ)*I{xg9-==^^EF-n*b&Cl_F4+er4>X@9_F0&pEm z>b-kLK0ilw$^E?2$%6+37%3Pnt`P=KfbYMOVNRFEY*1N-qf1G^bc8_iNgpyNis0Fy zwDHsDc=m&DmazO}ogPnC8}WEW8Z0mJ&X2_GV41qzeH()ZBmjIs8{Vi5Uvz-1jRMK-rt0=^gz>vNdhP&a=zMk1i zhvnw~0G97!}zwQk=+jp z%=Mx}SY|lm&$Otd!s$7Bc25pY)}g#d1bNY zlOtSl{Wid_OM)*!1BpDj_0s^Xn+NWN6=DU!|BrLZeWr;V4 zOPS$80txo7435U0j&`(Spc%;4z?_yeq}NMUEGfmV*-9iHB9MICk3sTFFqED-%mkJh z46QM;5}}N+%wTBNE3iD_1uT1ED8?)2*@wUafuY+323OaLL~)(;ohY?r_WYPtLM&-x zV<49}mVh#O&ArMPn2AV!ucOQjF3=w%%9-(?8v#dheQtO3V0d{0bMnm3BnxP(I<0)T6#gJ^b&&GF1hM>)}bW6Zc?E^+=d=a1xOpuuQK@(J%!rj&w2y zzn=%XQOqRG^i<3s<6~*_NL(k+XcB?u$8?N{!DI6Nl7|&VGR>Y3iNOu>9=EiNLWxjs z({-UYBm=3k(ej!Rh$Eo9{w+gJ=WqxnAPynPpY3VVNHH-}+vGwl#v^ zi9{QHsKX6>?42URlYJZ{?+d{A?h0nxT@WU*R1kpWZA|QbZ0Kl#O~rj_!J@j-OZuqE zJ<&0Vvc8SwtXU-E23MGs*%V^L~Gfm`wvo4c94{{Ru&#xGPyUpCV-`I_9)glol736CZNKOZzDj%Ac7C^saad`JZR&PD3afk-|6GA!fp z=OnNy>@{`DLs))9fHHBIw+!R?{2;I#N9IRd2M_MH@nB_T8}z}vYypwNat#8@*zASn zRsAe)4a@&alPcZaD-sD)JV>4rjp4OTEU*0 zsOOOpSPsh-EZ-)u{Ajxvle$Y;4eGz$z{2DCV@i(@B<$oNc@GD_ED|BySa3R5t!g2G zWHXcVo7~U@rRYU-1C!B`aItxq2A7xW@Y56nN;`6{e#MQr*20Yk z&D}U(&xICN^;>Jf=3Q@r4_a4N;`}0SDaL}YjZAXtW3WknwN#2``mIJ0s+W{vKr;>| zb|*p3H$p5NB*4OfVl3<%g1J4^nAl2zP8Ag>6RCh!E=(%}_-FI!b01$ct|7;jy-ET@ zJOV>ONPPvCQxAD-QlG<69>OxM`+YR{Wmt|&gXQ~eJ@~P%1I5*ncT&Pe*Ze9@DfSJB zBKw1jz4pt)W6+CbbpQRvSPCVT%@X|C+R2)^9<+1gYzGIrS5mWeKCh3$shno5iZWdP zQ33oZKHxkf&dswDHTD`DauELpn*$;YLQArX{D@$Bjl8suARO=bsZV zeNWuL08A@wW?AJcjh&eAMJRZAB$fCHmfz8!n@-EpTHKoCK;jIicTCTIB$J={X@DJe zy(rVkP8X{3;lf<0VWh+I!>uB08?S~z{qHs}(X3VLYI0m%D`l{Jf141U>dD?K-RHL| zw;{u25Mv{O<=q69X*q_NANUe1YeNLsHbTc>dH+NMirK_WPdO(G;pDbPJX&bOv-wVp zs;6gQQ7D_m#NXc^3rd-AuZaui8amL^rA3G&2xD64aAKkfXJ%8$Fa!EFQbQ~Z$X6g_ z4sPT*XzwBOv6TxCTa#e0sT<= z-+yWL$QN8L=cN(E2_o0Vhh@v&R(6d(2hk*W{B@HaI3q%8Ca_G$&8=Ll7@@%GkqX4` ziA zNS;IX5dzDXM|se*f+5%HHhH?HlfbBrTgxQE;@Ww~x!zHj+EI-NqcG31@N^z()dFl^ zWB|^~kb3%cSjN#JxV$k4&8tZv5O87A39xdg98dS~-wKxF$Hm~MUT)NPtC&)XLo30) zR(3pm1(st8EXUCVKwTH=hbow)SynpB(P09donvOEBsUjnAQI%w9;lb|ai}kO?ex@P zVl?J9w-JE!&w8IoQ@^0kZn|`0ZWM6n?=?#KSX0-Ahuuj4(anROTRKrxC(YOAgPv?u zFv@Yft{vAJJ8+bItW5s>-;V*53oA(F?Gqz2$i`Sx#a3{$?@mZW5tFbilt@icth*JrevpSB`iB$q768STb0_8h8p) zF@8o^9#X>yQ3hCMnRPCi2ZPnPv_yx$7wOTml9=g(z6s!>Od|X`(aiK>Z%=iiS&5Kr z4KwJXVUP&1rAj33Hg@48SxhRKyh8OBjSzFX8t^-rBY({!AIUtK)k6non1}@~d3it5 z9k7I)0Q6(V6ahScO0;zunzXr>+f$QGRAoOS~L$ENAHJJ`?uR!8XK`vl9>NQwS zAh3MpTMycm(nCRBgHpu9()tm2&?n|4SdJyIe7^+=@*2AFRg{*Uh7`(YNTx$61eou)A%i^QH%CQa&o~WQRaHPL z4rE#J&oXh)%X#0AFFLgdLDD%bQqM^;fn^^ONcmy;@L&Xzz{1-@LDx+_j?Gpgb@xAm z<;2O+I5)(DFT90*6_YXAN&HN~&>xJek)7mT!%UApun=0{ru*=~FM^VFdx@yWPpPAmeIBH<~%M zul4EV^%^bU1Y&AwGs`GnC1XiBGq`~t(FtHdR>KJN_rbcJR@RLjPZqma`aseLGmG(f zz8$*J4FG9MZmsSQ0_6!EW0yimNS86Y85)BErGBFdR$wf!Hk|Nh=f^dYNx9eEa|OB z@=6OcCE3-_3N3TR%N~|18{{}u*M&O-miN~nU@GRbIaHXLp#))a2OWN$VZ`}`1l-Bk zH$jh9RYIVU1h6K|w=$+kd+oGw%&8S)UL6~5cK0^J+-vW_fjUu$kP6;I81$Y5^{N-b zw3aU{)?iX+9sK=$KEZOnUiTuXT}6h6r;Wfl8B+gv9hNB&9h%33O5t@krP)Rq0kO5i zy)g7oU^#J$2iHb;(594u-S>1Cz-YY`e{>>&U9Xp6IhK|W5m???AqwG={HwE1*Sakg z6^xC8Oh{O2#*?M=Jw)NikVsT@DOmtl=skI6q`W{ZscJUXS&IU5UYsP;`$mHwmqv`$4I*)` zhgWm^Mi&qImohQC>-?OT^qST%%5bWIgMhLFr|R2LFI@R?mC6-lSmtwlaCu4uE=-QZ zgl0xeYa5Q+Goz49wH>nw)z)e=@9j{NOEm&j4;OG&<3V7@cmTD9PL%`%mZQv|=BT`1*{ z;O7~7)w@_DPKEv@kDU(^Xw1;Lvo~S$vG@1O>^V+ zSP%MCF|q7u#&yt_JS&UqT5+Fdmb<0Fayu_9#}Zh+Q_GDGVd^}WyJXKk2^{n)F1~IM zf=dewc)Zq#r>o4kKhK6$J;LBNy?<*bg(HVTh#%`kA-*-aM$KKg+ue@4i`00qO@K$c zIQVsm6r(!I(V(;tkp>~eLN03z`@amw|7;ZYju*DlMNpFjQctfMk$N!;SU&E9i{A&p zYJS-WDZMGMLrodZE!5!I7By1d1j}T8Jf7*o)iG}LtYl>Fj<4>KzP>&fSS}3rx@Qi{ zu>_V!d#Ie=>)_}O$OAC3eF)P8f3(_wAx({}88)v1tuU1Uo4b&CKA|WQ$H(B(&}j6l z915u*h}9Su`iIXc{oPbkx`9KDL#>^NqvkYZ+$7gvba@Lz`BbS&m9h39IueW>w(aWE&nYwjpUzCS##@JSLytogIm- z1FUFQQA5D<#e++ah1w91-qAHI*RUKdcGi1@cyFrHQ zYbEH>Kn`Djzk;{vGc^oDpB zWNxTPP$ZY~VblbpZdnO7jgjEdrVs)E8YGd8e|AR`g#4g4mTl0D>u_xcVjH<}p@9>1 z!_}{Cuyo;}&3z5a%CKdG7v8U}RN~fJ1um~rV#6pUhO`!f+1Byv9psCv4dlnRwp&4xIs3S$(6!jlJMT^(i0^1lJg&ZuDAI~9i1OPRwm2rS>*<&TOb6qy{+`=E?lgp)JXNZqQ=5iBRo zaN_m^4~EsYK*)W))QvtX^_)7~?B>oCmhabeVQEQQmPhUX^g3`!(A==R2zw?dkhIC` zHur43ftjm((?Cz2FW&o`K_l0!x+MgEG9Bz#i9yJ{jgeyeMoy|Yc597bJBK2B!uGW0c@>GH)28S^fG>Eh|6B43_T^SUynN z4nJ+K1b*3WNjybPzt%fTZib`TAY_r}EQb?_QYJaRt7gG@@=V0{CZPP42UokgF}REg5?)}w*YVQ?OKo!q&NOha zruFlU9Oz%n#QLE=!E!+|04Q9Cu1E1&{T6-iG-Euihnm4Mh0}W*0(&Nlv1f`9hh__KZ6hBz z$icH65+tqHVp(q!vly@O^UCYC{eeJ3e`%eP@{wzy=v(&tf3yOx`twZ z-$HYGA^D(Z27T1>;vxVgZ0?P;c+tIY7h8YHB zH6J5Fgt*qll_@OWBd~nFyc3ZE?pu{&6iNegF4qrLzmQ_hNFi=~9}Mgh;@LI@0ZSeB zj0i>57#Wj!e4m3%mNE77MOU{T7n`_nzbOecnz?YidpJ(cmmy)VKc4Io;OPb}o-Pl^ z)42{jnOqe2hZV*7-qHA_y&FfHIB}$|1BYtbv80j>76~7MU_bo2Hxjs>JuIJEUIe~= z+0=g%fV3I}_<5>1TUfp`#ew=I3|<@S!dc(95_$>l&|oSPSiVbO`ARtlV&tMMPp?Wv zN%7~bP++4TXQms-Ym?-0|3(o+8^zetg#<6uxMpk&lE)Rr@BKWO)i4}&Xv4RN%T63A zY*G+?KGMGCPwr=^T!^L~9ahwjz;B)1c-SX~8M53bpnRIF>usZTtVuh+L7852rGSIY zRc*N1$eUF@-_U_7W>tYarT(a4Ib(Ak%@W_4PhfaO7#=Ure9-S*pB;u)xnC7} zWdRTgf-teZf$1&h7M2rtbMez`F$BE)@lmH;+QV9Vv!}NREdMZ7gGiI0K-U)0z@uSN z)pLcCvGu5f-|LX|8B@mKVPal-bS*S>aNa`?6qH zPV}!}MyQm>py;y?q+6M8X5~Fn9GR-e^%c~pLyIVr_=C4&e=kqn0(`J^Miic1GiM9S z*SGjUsR+#WL?xI6;*0wb0LliIAIxx|Uo8uK{IWLCpwCeVKLA%cJF|r4I~820Zy+1B zPwuVbX^9oBgOy7H86>YBA;pbNK}-q{2e?StDaO@h3iNHHfj)%GvbG`vl+;N07jJF!@M;IiZsWk7!*u zf$gINn%yK|iHwpU?tJ(gVfpk50(SvLve)?6adC?Tz!a8K$ozP+;)UIHavChhO> zVrD%txYomi`L%6uYeZfXkbhxMr=>4nd5pN&(8*w#W|lA2cOaYuR3BXu<70tkx=7CN zszu6bi+3^4WTdPz;nsW$+Ei4-FPlzQ)|p#Ui7lNi*po|GPTIr4t<79iFQv$r$^M01 zg5Tz-acz|n7niHhyt0fP)fe<5

oI%iEY)DaK}UU&=?yv#w?51)ydrIaYrw#o?J! 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

Hauxf56W1yUJ)As|;iQuW3kk9b&@|Q>@rH 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

4#&7U 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≫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 z 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%0DyYj^!% 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 !tuP@xVZd*a z6(wTt_Vza>;^SP&CffvUz+?ges#gR8j(Z1tiQP#zh9*V0;~lX+pP_PheDS2S!7!ww z17NNRA;k^CORGIZE7L9RZI7gpTsF0H9n;nd+)qtpy4^N+G@`DL|7@7-<9ab^!Tgq+ zRj9s<*z8;7K*YUJ_eWF$?M|4gOn%a0@rekF%~j~O!fLuGkp88#y{n5mg}k3>{5!cn zEC`wCZ59-=KSnuWNlZczHvKfpl!i*fIVn=#%gYl)M@Me-)s-h`bZ$us2u&kjbV;YKHn^S3-)zzpmxI*l!%SFa7_?bU_ywo{nW;S^+y#O zX&Zn1Po<1OEL6UYs@mt}%jAL&MYi>fVfEUA-;xQ`7X_10`T5wMvr0rvY84NI<@4a9 zK>6-Y>qa{D*H-H_ksOm8SsaP&Vwb-Ov;v-_G}hT?Z}JRZNwZTiH%%9x(VykJ>~B!4A6E`o^RyJ|FfTw%Lp#^xpkU|KKgn*iHJ zZ>IF*0nVdl_k^FeV5=S(x=2N6Nm30qYIe$#=hh?5-|wo`@kuPiffPC zXmS-{G_RQ^29;1@qlWNwVMVqJR6w`7x1o*Z+Pj$E!8R?zui<@i+4OT7%8;6z;2s_L#W;qrfB@RSTRk3l;6y~839zVFV=m?ui$2H73tWtEM#{_k74KdZo0;Ng ztPOx#v}X=sC~_vPnU(twB#0h}6Td$Bj7POX-q+GD;<72GL|v786dc@aD8Ce(CThW|f8v=-#DNCW~bSW+a@zjCNaH=H!1iK4sSt zn?Dmx7OuAkZlKE+%Rht^oSD3p2-IF$3+k3_)0TFKp>4NK;T zDd*(iLiI?#_tii60+yE(*m7f^XL&4aP_~0#I$Ym#GcxS-uC{qWj*_Bf2#9R5P)q}) zO8;o*A4$J_#vC;_H~+2y8EWOw1RkdG1^eo@jCet281+qi{yg6SHjZk9swo~usOr@a zR^gb9ddK7-2?V5F|44Dd{dyC$^dx^2`@T4Ix>93FR>4AmVRv{YfT?PaCvi+iwn-_$ z$?*)(C3yk@fTY0h-k)N01RY3_{H=6xF2P|v-;au7B@G4!EEbda7cY>zIu6~`1kI2oNoG&Yj;qlKBZyIx)$PGN{!>VcWqgUkmMDpr+KMofEV63vv*FRKOj!YFLn% zm>OVCR{3Jzf-yrMJ;#5e!{*aHnIDd~ra#;ckC)6)O`GRjj(g@f*pj!y3~Y1m5h z67#Vn?q6|URTfJFC}=FFdCBXBQfx2a?{y(Luv@~C?kWyv5J;rB}r77mSMd0pXr2MN`AR*3nc=F;`GjSZP!ip2K>#eb!0Pw(d& zVrFI@zNk4pE&J={i|*Guv0LwD#kZsG%WBorxh&>4AZ@sHAJ5KZ$1UdBw zhK%)4@V@>}zrGugzr>ixSwfRX<6~=CA7b|;WBJVN61>m<_dN0$)AUACQc~I{iTgsG zkTVwkB1RsA&aB6}e zWmp*-fy|zdlkWD2-2>|8{Wq)3a{BxW80*LHW5QVu^tCMRgI~Sl*sKU{|3+}O+~EGVez~)AIYe@h*7t&zE-nN|O2kA&@mm@OwZyUyTf-fj z0+(KSFNU;$^#sX-X`27(IaQ4S4=?6a^l95lUu+QEz;x@8gm9Fuf?iG)jE4HCDrvr| Jc>xOj{{SoGBC!Af diff --git a/OneTwoThree/files/assets/154122891/1/border.png b/OneTwoThree/files/assets/154122891/1/border.png deleted file mode 100644 index b3a01b88d170d9352154b7caa672ef2571f05c3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5761 zcmeHL`#+QY|G%PAbE><9?6!o8IZn4jPDv#y%3*67n#0yX4qFZjqq;+pW5dFB-<3#1 zEVQtRVrJ~tVGcP|cBp$wS!gzV*XMuu{&xRxJ+8<5I=`RK*Xw;fpU)d7e7!V5+d%*T zXnG$x=nnuY8UV1SV8eRlkuHv7t#Y>p@9%X0s2>D>Ru0x;J&t<-Kx4kT0=-T--WYcT zi3b3!?qA!Q-q@N*0NA$8`=Cc)a_E+?pEu0^?lEv_C)G<+PO!s3uf#?m?#^Y56`x{GO5qGtM|2Xb9C%+#mFsKmf(llmaC_Cr+r zvh83!cXh-sCVg$j^uKoRAk%k9Tn?J@H@Pk=NYA&)%{0Ejr#|#ZVRESHwUtW>U!g(2 zs3*;w7h>PK(lB?F6noL_-PpeBxxpwro;^KmzDk#A0D0Brh)HI2jN-hoyI;g7LBncL z3DQwMe-^QVRzm0_6!weEB9}f7Jtr6m=;PFwxryh6fav*M|BU~Oa{Z+PmxxuJ|btd<~tq*lNh$BGf&PCJhRXe16b$4kn;?7W7$<5MZ>By*1 z!?+!yL;2I|HLKe`#m9KY6QgF@XhqPSnW*(J>rcsX>wu@@sYClkbE)Xg0dsO)#A*nX zjxw`d_~JmVoq77n)*2j$W;+-pUC2$%M{TxUV70*Hbk0cWBjbAb8o(;)HOCiWr`4c@ zm7#%WicezZ6wUI!!mXKDIELWZGg1oK8)jCRpl-G?Vzn3wboSxy7-^pcOJR$a+f`k0 z@=vlo-AiYe?aU*lh)q~@S^7Vpw`DHEdo)dUI;3)roA#{eB1Cv7!9qN;*vu&$uL1!? zkWl4HB_<)V1=Ew4M(&Uv*R?B`=GHW_`v2aRnJSeaGE*<|VY$m@Yo#lwCEJFOWdC)* zNQl)vFy4+A#+d+Tao;w;dse`OdY|9+Qx7;ASD4*crR&|rPJ z+v&!{HNZm2x;*KG0o9)@416(C>cWKe(+0VeDSCibm5l(oW!ezbt!gg4lRf`1I|U)4 zCb2-kKjjT&>}gtTkUs2!lr3p=r`uoHh$WAbC#GGUg`FVJ$#N*<>j`9AdX$y=Y%SMI z8+Sy|Pil0}Iwpdx0cNZuo9AjIwqA5s-e@#-A#a)7C-Wp)+PU!VmWfx{`Z}3U$}G-v zyDeW~_?~W5F=GOcWDgIvKIA6ci>+18T}w&?{wjrPi37Gc4Y;pQjcgfA|Aw`9f7bMR zX7Csl=|1d>+d#~%5g|`>gl7v`!`Xp zo_wQR*&U=ji-g3?EiL>*2*bo<2;wIoPhunL!?#S1Vnt9+qM^%pf4_hrL`vztW`hG#BoT;DM5#15GO=^sD zM6)2KZ|JJJx#S**A$_y7ou}|bZC(Rp8K)OC#I9E09usE{U=lG&Nsm5V${14Xx!~@v zx8TF{*v<|yceX5JZ)xVU4jLBOPQBg^I3^<-9=lyFxROqcQW8vevFmW&Z=-AmwuF&@ zw|dE*xSN==KhUs>EH#!&jfxaI`4&Lu5c^!VOC^pX872BgwYpE*y|bIPlh{dB*0u*fHLYJfpXO{;$g_6?*26AnZ*G^_)(;39%yTY&*=K)YsX z%7?ObnZ`+)>(asjJJx+XOtLU#2WL_n1oPa5fReCXNq6p0EB+`-Eb0aWo%wz-lY6Jo z1d~NSj-_^D8|>qL)V-qaZO#+v`>5`%MfNIy;-`?kKPKMBz4x4n#9*ZfHZ}VFi694W zC8+Qro{D+%gqevq(SGLGfIIBI32@x%G*IBRm&^N0uMeV_ZBP(|z9b6@Sn7fZQpB}j zH9aS9>%KaOV;XyH#D!pEpoGLIht-h2Vdh`BV6i=rVO-q2F~3%@0%{vrFf0 z=^J4Aj1`g(-*#6c^0EyC{S+Gt0C^q76w?o!^}t_M%C}lxUjv*q(*X7#MFT)ENEP_U zUk}JA=>mW!TmQS{KV1GRhX0!6zm?(tdpX1gF%gU|5xuTX8$OAUofUSFR%=tA;*`cm zG2^ZFlqh^aG6*6vaCIC_s6)+*2Wr2}QYi{9yCm%5gg_DX%KyiN|Awz&gp)!%i7T(X z+<9bS7OBUV9T0vd86bcRsv#C(RnuNOH^K466I)Rw0l(!xjI`_~nIj&d+KN24IBhMA zWfmWWHqcxi&gHcOfa2gYAE5`y{UOTQdS)kmd76|1Ee&M)%iyNMa6dEkR@(g&?NvTfuTEP3=-8xY1`qY*t%2eMlw4ui3ZV`bR9=}7^Q&7`AZ4P-vOaJ5m&2Kn0 zt^8hMYfXDc6J=O7z514v0>{BWoT%D5-d6Nz51++uGZzN}8TU%>f&6GR9!Ma?2KuIG zhVyL%plt9}HX|oCkQvzLl#2={=MygOW@s3{G?M7m7wfhN z^ErxFG7q5h1IH|TKKQzJ;NYVf(+ivEnMU-Lev(Wgj<$L`cM?{kA0s3vQ+Ak0Ws4^;;Ea~ z33idx0&(Y!9HO_+l8bf97+WJsnl=6EX*uke>b*clK$6_2-XBc2r!TdTDh0O>G^zL>8<8D#+zQ zO@ndV5shUR^>9l%q59D-SijwCyLU-#rd{WBGLd6mUtL|(LyGW5jH3dJtV5!(xd~E5 z3jp}?{(wqd3vmh4zO8%N+q;H?dgMjiuiS6kxnF9V9aWZ86S+?GbIe41h(DYxO1v%Q zv0Z7suWi?4EcYu0CiHuc4J=)+xO1vMVE6C^9T=UyAID0ksCsf0G8$9w4Q9=5P9B4%P*L{D? z^5!X0qheGZVwvsA)J~^WG>h3~Lr<8bVh?d~PQsB^D%e}e zclj*3a`yWJ&It9(=+d6<0i|mfQk4A#a|jQf8av~*RN&;CnKu3aR(fMua0KL8BtFOU z0^x3n+tWkem!AJz^45!-3!a062-&ylfj9MppO0e15w9qnuP~S?>OX@>2fC zYHl(3Fq&<4gYovh&Op`sJmo{uCsy>t|I55Asz2eczbJsJW2F`Yg;_bJ1GkjS5jwA& z(#^cKXOpD*^n<$g_|b8;=57(yZq@H8F^Wmt3gq3BC{33mH7{ExI!{zOv~UXdF~{E@JN4y(&ela%`co$=E5oU$AELAJqWJa;+5bNelg^P$kS3;n7FOz#5d`JSiy$wcjjIp zU<#^Fvof<9!RIZm2TGu7t7nxA{B8(oi#8Rm6A>V`b2hLpm EKPzhf3jhEB From 6bc9e1e7ceb702347b74863c6dda31d1d163e7e0 Mon Sep 17 00:00:00 2001 From: Chohyuntae Date: Wed, 1 Nov 2023 11:25:50 +0900 Subject: [PATCH 2/8] add readme --- OneTwoThree/README_KR.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 OneTwoThree/README_KR.md diff --git a/OneTwoThree/README_KR.md b/OneTwoThree/README_KR.md new file mode 100644 index 0000000..2cc3b89 --- /dev/null +++ b/OneTwoThree/README_KR.md @@ -0,0 +1,28 @@ +![hackathon](https://user-images.githubusercontent.com/109493423/196602490-c73a44f0-16f8-4321-9538-244b3e6fc09d.png) + +# OneTwoThree +- 1, 2, 3중에 하나의 숫자를 예측하는 게임입니다. + +# 게임 설명 + + +# 플레이 방법 + + +# 실행 +[npm](https://www.npmjs.com) 및 [http-server](https://www.npmjs.com/package/http-server)를 전역으로 설치합니다. +``` +npm install --global http-server +``` + +프로젝트를 다운로드한 폴더에서 http-server를 실행한 후, +로컬호스트로 접속하여 간단한 테스트를 진행할 수 있습니다. + +# 플레이 영상 + + +# 데모 페이지 + + +# Credits +PlayCanvas WebGL: https://playcanvas.com/ \ No newline at end of file From 0756f4f6ce45c0e3d2a64761d549ff5610cc0ac8 Mon Sep 17 00:00:00 2001 From: Mossland Open Source <38033515+mossland@users.noreply.github.com> Date: Wed, 1 Nov 2023 15:31:07 +0900 Subject: [PATCH 3/8] Update README_KR.md --- OneTwoThree/README_KR.md | 53 ++++++++++++++++++++++++++++++++++------ 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/OneTwoThree/README_KR.md b/OneTwoThree/README_KR.md index 2cc3b89..8a59fa1 100644 --- a/OneTwoThree/README_KR.md +++ b/OneTwoThree/README_KR.md @@ -4,11 +4,56 @@ - 1, 2, 3중에 하나의 숫자를 예측하는 게임입니다. # 게임 설명 +- 플레이어는 1, 2, 3 중에서 하나의 숫자를 선택하여 예측합니다. +- 만약 플레이어가 숫자를 정확히 예측하면 3배의 보상을 받습니다. +- 또한, 승리와 무승부를 동시에 선택할 수 있습니다. +- 이 선택은 숫자를 정확하게 예측하지 못해도 무승부 숫자를 맞히면 포인트를 잃지 않습니다. +- 이 선택에서 예측성공시 2배의 보상을 받습니다. + +# 화면 구성 +![image](https://github.com/mossland/Hackathon/assets/38033515/d97f6629-ff54-489a-b5e4-c51089a6efa4) + +1. 사운드 On/Off버튼 +2. 보유 포인트 +3. 게임 숫자 결과 +4. 시작 버튼 +5. 게임 포인트 선택버튼 +6. 승리 선택버튼 +7. 승리/무승부 선택버튼 # 플레이 방법 +1. 시작 버튼을 누르고, 포인트를 선택합니다. + +![image](https://github.com/mossland/Hackathon/assets/38033515/3e235cdf-9e65-47ce-8784-5e2756d0a19e) + +2. 예측 결과 숫자를 선택합니다. +3. 단일 승리 숫자 선택하면, 예측성 공시 3배의 보상을 받습니다. + +![image](https://github.com/mossland/Hackathon/assets/38033515/352814dc-e23a-46bf-9832-c5a9e87a38b3) + +4. 승리 무승부 숫자 선택하면, 예측성 공시 2배의 보상을 받고, 무승부 예측 성공 시 포인트를 잃지 않습니다. + +![image](https://github.com/mossland/Hackathon/assets/38033515/06698b7a-9464-488b-b1f6-a15a2e41516c) + +5. 숫자 선택 후 결과를 확인할 수 있습니다. + +![image](https://github.com/mossland/Hackathon/assets/38033515/9fc63781-000e-40c8-bc73-25ea00269b97) + +6. 승무패 결과를 다시 확인할 수 있습니다. 승리 시 보상 포인트도 확인할 수 있습니다. + +![image](https://github.com/mossland/Hackathon/assets/38033515/e366f405-7888-480b-a387-04686d8da42e) +# 플레이 영상 + +![win](https://github.com/mossland/Hackathon/assets/38033515/772abb2c-ebb4-4bb4-a814-96dc027cad06) +![draw](https://github.com/mossland/Hackathon/assets/38033515/3a313560-1f5d-470b-8d4d-65545dfce8f8) +![lost](https://github.com/mossland/Hackathon/assets/38033515/c930bf04-7ba3-4a8b-9a19-5451dff11530) + +# 데모 페이지 +[데모 페이지](https://asset.moss.land/OneTwoThree/index.html) + # 실행 [npm](https://www.npmjs.com) 및 [http-server](https://www.npmjs.com/package/http-server)를 전역으로 설치합니다. ``` @@ -18,11 +63,5 @@ npm install --global http-server 프로젝트를 다운로드한 폴더에서 http-server를 실행한 후, 로컬호스트로 접속하여 간단한 테스트를 진행할 수 있습니다. -# 플레이 영상 - - -# 데모 페이지 - - # Credits -PlayCanvas WebGL: https://playcanvas.com/ \ No newline at end of file +PlayCanvas WebGL: https://playcanvas.com/ From 73e9f6369efe99435112fcbba7e12b2eaedeb6d3 Mon Sep 17 00:00:00 2001 From: Chohyuntae Date: Tue, 21 Nov 2023 16:23:24 +0900 Subject: [PATCH 4/8] keno init --- Keno/Keno/1894621.json | 1 + Keno/Keno/__game-scripts.js | 1 + Keno/Keno/__loading__.js | 112 +++++++++ Keno/Keno/__modules__.js | 45 ++++ Keno/Keno/__settings__.js | 21 ++ Keno/Keno/__start__.js | 228 ++++++++++++++++++ Keno/Keno/files/assets/156355260/1/Jalnan.png | Bin 0 -> 103866 bytes .../Keno/files/assets/156355265/1/SoundOn.png | Bin 0 -> 17543 bytes Keno/Keno/files/assets/156355268/1/click3.mp3 | Bin 0 -> 7670 bytes .../Keno/files/assets/156355270/1/UI_Card.png | Bin 0 -> 3180 bytes Keno/Keno/files/assets/156355280/1/circle.png | Bin 0 -> 10317 bytes .../files/assets/156355281/1/SoundOff.png | Bin 0 -> 12531 bytes Keno/Keno/files/assets/156355284/1/rect.png | Bin 0 -> 14647 bytes Keno/Keno/files/assets/156355285/1/lose.mp3 | Bin 0 -> 9440 bytes Keno/Keno/files/assets/156355290/1/open.mp3 | Bin 0 -> 4381 bytes .../files/assets/156355295/1/cardFront.png | Bin 0 -> 18416 bytes Keno/Keno/files/assets/156355298/1/win.mp3 | Bin 0 -> 7040 bytes Keno/Keno/files/assets/156505056/1/dia_2.png | Bin 0 -> 57124 bytes Keno/Keno/files/assets/156525288/1/Cancel.png | Bin 0 -> 4757 bytes .../files/assets/156525289/1/Clear_copy.png | Bin 0 -> 1091 bytes Keno/Keno/files/assets/156525291/1/Ok.png | Bin 0 -> 4799 bytes Keno/Keno/files/assets/156633138/1/Clear.png | Bin 0 -> 4780 bytes .../assets/156633139/1/Layer_5_copy_5.png | Bin 0 -> 662 bytes .../files/assets/156633140/1/up_Money.png | Bin 0 -> 660 bytes .../156633189/1/superstar_memesbruh03 (1).png | Bin 0 -> 28716 bytes Keno/Keno/files/assets/156661776/1/edit.png | Bin 0 -> 33425 bytes Keno/Keno/index.html | 17 ++ Keno/Keno/logo.png | Bin 0 -> 2599 bytes Keno/Keno/manifest.json | 1 + Keno/Keno/playcanvas-stable.min.js | 6 + Keno/Keno/styles.css | 43 ++++ 31 files changed, 475 insertions(+) create mode 100644 Keno/Keno/1894621.json create mode 100644 Keno/Keno/__game-scripts.js create mode 100644 Keno/Keno/__loading__.js create mode 100644 Keno/Keno/__modules__.js create mode 100644 Keno/Keno/__settings__.js create mode 100644 Keno/Keno/__start__.js create mode 100644 Keno/Keno/files/assets/156355260/1/Jalnan.png create mode 100644 Keno/Keno/files/assets/156355265/1/SoundOn.png create mode 100644 Keno/Keno/files/assets/156355268/1/click3.mp3 create mode 100644 Keno/Keno/files/assets/156355270/1/UI_Card.png create mode 100644 Keno/Keno/files/assets/156355280/1/circle.png create mode 100644 Keno/Keno/files/assets/156355281/1/SoundOff.png create mode 100644 Keno/Keno/files/assets/156355284/1/rect.png create mode 100644 Keno/Keno/files/assets/156355285/1/lose.mp3 create mode 100644 Keno/Keno/files/assets/156355290/1/open.mp3 create mode 100644 Keno/Keno/files/assets/156355295/1/cardFront.png create mode 100644 Keno/Keno/files/assets/156355298/1/win.mp3 create mode 100644 Keno/Keno/files/assets/156505056/1/dia_2.png create mode 100644 Keno/Keno/files/assets/156525288/1/Cancel.png create mode 100644 Keno/Keno/files/assets/156525289/1/Clear_copy.png create mode 100644 Keno/Keno/files/assets/156525291/1/Ok.png create mode 100644 Keno/Keno/files/assets/156633138/1/Clear.png create mode 100644 Keno/Keno/files/assets/156633139/1/Layer_5_copy_5.png create mode 100644 Keno/Keno/files/assets/156633140/1/up_Money.png create mode 100644 Keno/Keno/files/assets/156633189/1/superstar_memesbruh03 (1).png create mode 100644 Keno/Keno/files/assets/156661776/1/edit.png create mode 100644 Keno/Keno/index.html create mode 100644 Keno/Keno/logo.png create mode 100644 Keno/Keno/manifest.json create mode 100644 Keno/Keno/playcanvas-stable.min.js create mode 100644 Keno/Keno/styles.css diff --git a/Keno/Keno/1894621.json b/Keno/Keno/1894621.json new file mode 100644 index 0000000..3593ef7 --- /dev/null +++ b/Keno/Keno/1894621.json @@ -0,0 +1 @@ +{"branch_id":"25ce8fc8-d8f5-456f-9421-e4047200fe8e","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true}},"entities":{"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[2,2,-2],"scale":[1,1,1],"name":"Light","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"light":{"castShadows":true,"isStatic":false,"vsmBlurSize":11,"shadowUpdateMode":2,"normalOffsetBias":0.05,"color":[1,1,1],"bakeArea":0,"numCascades":1,"outerConeAngle":45,"bakeNumSamples":1,"affectDynamic":true,"intensity":1,"bakeDir":true,"cookieAngle":0,"affectLightmapped":false,"cookieChannel":"rgb","innerConeAngle":40,"shadowBias":0.2,"bake":false,"falloffMode":0,"cookieAsset":null,"vsmBias":0.01,"layers":[0],"cookieIntensity":1,"cascadeDistribution":0.5,"cookieOffset":[0,0],"shadowResolution":1024,"cookieScale":[1,1],"enabled":true,"shape":0,"range":8,"vsmBlurMode":1,"shadowDistance":16,"type":"directional","cookieFalloff":true,"shadowType":0}},"rotation":[45,135,0],"tags":[],"enabled":true,"children":[]},"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[0,0,0],"scale":[1,1,1],"name":"Root","parent":null,"resource_id":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{},"rotation":[0,0,0],"tags":[],"enabled":true,"children":["80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","a019517d-368f-4ce7-87bb-e99894bcc1e2","6a132463-4065-4029-8123-50daf0892779"]},"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[4,3.5,4],"scale":[1,1,1],"name":"Camera","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"camera":{"projection":0,"farClip":1000,"clearColorBuffer":true,"layers":[0,1,2,3,4],"priority":0,"fov":45,"clearDepthBuffer":true,"frustumCulling":true,"clearColor":[0.118,0.118,0.118,1],"enabled":true,"orthoHeight":4,"nearClip":0.1,"rect":[0,0,1,1]}},"rotation":[-30,45,0],"tags":[],"enabled":true,"children":[]},"a019517d-368f-4ce7-87bb-e99894bcc1e2":{"name":"2D Screen","tags":[],"enabled":true,"resource_id":"a019517d-368f-4ce7-87bb-e99894bcc1e2","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["553caf6c-a2e2-456e-bab1-af926693d0bd","7e408ddb-a1c0-4c54-ad0a-9b33af456156","c98c1544-8c4e-488d-ab9c-d889c34639ad","43776b5d-805c-405d-8a6a-693a0848e585","6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","cf778ab4-4cd6-4c44-a880-8eca997d8fcc"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"screen":{"enabled":true,"screenSpace":true,"scaleMode":"blend","scaleBlend":0.5,"resolution":[1280,720],"referenceResolution":[1000,1600]}}},"553caf6c-a2e2-456e-bab1-af926693d0bd":{"name":"BakcgourndCover","tags":[],"enabled":false,"resource_id":"553caf6c-a2e2-456e-bab1-af926693d0bd","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-800,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c98c1544-8c4e-488d-ab9c-d889c34639ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"c98c1544-8c4e-488d-ab9c-d889c34639ad","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["39d376ac-458e-43c3-8d1e-efab6ddb7a46","5d189437-9722-4cdb-92e0-34304dbe04de"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,1,0.5,1],"pivot":[0.5,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":250,"margin":[-500,-250,-500,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["userBalance"],"scripts":{"userBalance":{"enabled":true,"attributes":{"userBalanceText":"5d189437-9722-4cdb-92e0-34304dbe04de","userName":"39d376ac-458e-43c3-8d1e-efab6ddb7a46"}}}}}},"39d376ac-458e-43c3-8d1e-efab6ddb7a46":{"name":"UserName","tags":[],"enabled":false,"resource_id":"39d376ac-458e-43c3-8d1e-efab6ddb7a46","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[-475.1432317571818,-35,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,1,1,1],"pivot":[1,1],"text":"UserName","key":null,"fontAsset":156355260,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":315,"height":67.44,"margin":[-803.943,-102.58,475.143,35],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d189437-9722-4cdb-92e0-34304dbe04de":{"name":"Balance","tags":[],"enabled":true,"resource_id":"5d189437-9722-4cdb-92e0-34304dbe04de","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[0,35.5076950865905,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"100","key":null,"fontAsset":156633189,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":150,"height":97.5,"margin":[-75,-13.242,-75,-84.258],"alignment":[1,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"43776b5d-805c-405d-8a6a-693a0848e585":{"name":"Middle","tags":[],"enabled":true,"resource_id":"43776b5d-805c-405d-8a6a-693a0848e585","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["73e916c5-752f-4d9e-8d54-ccf2f321686b"],"position":[0,91.35106736896113,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-708.649,-500,-891.351],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["middle"],"scripts":{"middle":{"enabled":true,"attributes":{"resultText":null,"boxButton":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}}}}}},"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["717f1daa-0043-4f79-90ec-85deecdc5e73","480c18f6-d3b8-478a-b573-4889b0154e56","4a5d316b-7653-4505-b82f-693edb49b6a2","85b17c53-513d-4bfa-871d-1e0e273b8786"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,0,-500,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bottom"],"scripts":{"bottom":{"enabled":true,"attributes":{"startButton":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","winResult":"5665afa5-5303-4c36-90aa-082859636427","loseResult":"8d022bf0-009d-4913-9cba-07b973de155d","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a","profit":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","randomButton":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","clearButton":"1a458b72-d5fb-4f25-a042-540371d7162f","betEditButton":"f5286247-662e-4692-b877-1758d446897b","betAmountText":"da783934-28fc-4d8c-a03c-c23c231a31ba","multiplier":"408ea63d-61d1-46e5-a3bc-7c020d2e654e"}}}}}},"717f1daa-0043-4f79-90ec-85deecdc5e73":{"name":"Idle","tags":[],"enabled":true,"resource_id":"717f1daa-0043-4f79-90ec-85deecdc5e73","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["ac86bc84-6e51-4fca-9e3c-eb36f48b4a86"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"480c18f6-d3b8-478a-b573-4889b0154e56":{"name":"InGame","tags":[],"enabled":true,"resource_id":"480c18f6-d3b8-478a-b573-4889b0154e56","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["1a458b72-d5fb-4f25-a042-540371d7162f","6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","f39bbaf1-d024-45fd-8060-05917a1fa871","2e0a4330-1edb-4584-bb1d-0459e4d45884","d8fdcb3c-7e91-467f-9d37-deac44bb1780","f5286247-662e-4692-b877-1758d446897b"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4a5d316b-7653-4505-b82f-693edb49b6a2":{"name":"Result","tags":[],"enabled":true,"resource_id":"4a5d316b-7653-4505-b82f-693edb49b6a2","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5665afa5-5303-4c36-90aa-082859636427","8d022bf0-009d-4913-9cba-07b973de155d"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86":{"name":"StartButton","tags":[],"enabled":true,"resource_id":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","parent":"717f1daa-0043-4f79-90ec-85deecdc5e73","children":["ef9eb80a-dac0-413c-8134-6174cd11f061"],"position":[342.74804910791863,-111.28997802734375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633138,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[195.748,-162.79,-489.748,59.79],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef9eb80a-dac0-413c-8134-6174cd11f061":{"name":"Text","tags":[],"enabled":true,"resource_id":"ef9eb80a-dac0-413c-8134-6174cd11f061","parent":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","children":[],"position":[0,9,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"START","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":106.875,"height":36.563,"margin":[-118.75,-31.625,-118.75,-49.625],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a132463-4065-4029-8123-50daf0892779":{"name":"Controller","tags":[],"enabled":true,"resource_id":"6a132463-4065-4029-8123-50daf0892779","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["3789b06d-2fd1-4703-9075-6b91a609741b","3d2631fa-a332-4c94-85d0-9e6aed3a924a","1b0059ce-7c72-4a34-aef1-b2b0d6cd2136"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{}},"3789b06d-2fd1-4703-9075-6b91a609741b":{"name":"DummyServer","tags":[],"enabled":true,"resource_id":"3789b06d-2fd1-4703-9075-6b91a609741b","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["dummyServer"],"scripts":{"dummyServer":{"enabled":true,"attributes":{}}}}}},"3d2631fa-a332-4c94-85d0-9e6aed3a924a":{"name":"GameController","tags":[],"enabled":true,"resource_id":"3d2631fa-a332-4c94-85d0-9e6aed3a924a","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["gameController"],"scripts":{"gameController":{"enabled":true,"attributes":{}}}}}},"5665afa5-5303-4c36-90aa-082859636427":{"name":"Win","tags":[],"enabled":false,"resource_id":"5665afa5-5303-4c36-90aa-082859636427","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1844b778-6764-46e5-b3dd-d0f182761b4f","408ea63d-61d1-46e5-a3bc-7c020d2e654e","bfede50e-d7ca-47a2-9fb6-1bd77c5a515e"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1844b778-6764-46e5-b3dd-d0f182761b4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"1844b778-6764-46e5-b3dd-d0f182761b4f","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,89.89380877091162,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"WIN","key":null,"fontAsset":156633189,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":345,"height":195,"margin":[-172.5,-7.606,-172.5,-187.394],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8d022bf0-009d-4913-9cba-07b973de155d":{"name":"Lose","tags":[],"enabled":false,"resource_id":"8d022bf0-009d-4913-9cba-07b973de155d","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Lose","key":null,"fontAsset":156633189,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":480,"height":195,"margin":[-240,-97.5,-240,-97.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136":{"name":"AudioController","tags":[],"enabled":true,"resource_id":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","parent":"6a132463-4065-4029-8123-50daf0892779","children":["3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","81a10236-090f-4364-b5ad-8e296a5eb78e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["audioController"],"scripts":{"audioController":{"enabled":true,"attributes":{"soundSource":"81a10236-090f-4364-b5ad-8e296a5eb78e"}}}}}},"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc":{"name":"Audio Listener","tags":[],"enabled":true,"resource_id":"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"audiolistener":{"enabled":true}}},"81a10236-090f-4364-b5ad-8e296a5eb78e":{"name":"Sound","tags":[],"enabled":true,"resource_id":"81a10236-090f-4364-b5ad-8e296a5eb78e","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"sound":{"enabled":true,"volume":1,"pitch":1,"positional":true,"refDistance":1,"maxDistance":10000,"rollOffFactor":1,"distanceModel":"linear","slots":{"2":{"name":"Click","loop":false,"autoPlay":false,"overlap":false,"asset":156355268,"startTime":0,"duration":null,"volume":1,"pitch":1},"3":{"name":"Lose","loop":false,"autoPlay":false,"overlap":false,"asset":156355285,"startTime":0,"duration":null,"volume":1,"pitch":1},"4":{"name":"Open","loop":false,"autoPlay":false,"overlap":false,"asset":156355290,"startTime":0,"duration":null,"volume":1,"pitch":1},"5":{"name":"Win","loop":false,"autoPlay":false,"overlap":false,"asset":156355298,"startTime":0,"duration":null,"volume":1,"pitch":1}}}}},"cf778ab4-4cd6-4c44-a880-8eca997d8fcc":{"name":"SoundButton","tags":[],"enabled":true,"resource_id":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["50ad00e6-271c-4756-b28d-11e6b1ef52eb"],"position":[20,-20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[20,-140,-140,20],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"50ad00e6-271c-4756-b28d-11e6b1ef52eb":{"name":"Button","tags":[],"enabled":true,"resource_id":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","parent":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","children":["1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","2753f9e8-255b-4725-84a2-16795c7174e6"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355280,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[-60,-60,-60,-60],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["soundButton"],"scripts":{"soundButton":{"enabled":true,"attributes":{"onImg":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","offImg":"2753f9e8-255b-4725-84a2-16795c7174e6"}}}}}},"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58":{"name":"On","tags":[],"enabled":false,"resource_id":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355265,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2753f9e8-255b-4725-84a2-16795c7174e6":{"name":"Off","tags":[],"enabled":true,"resource_id":"2753f9e8-255b-4725-84a2-16795c7174e6","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355281,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85b17c53-513d-4bfa-871d-1e0e273b8786":{"name":"BetController","tags":[],"enabled":true,"resource_id":"85b17c53-513d-4bfa-871d-1e0e273b8786","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5a034e63-1b15-486b-96fc-2b2e2847420a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,0,-500,-600],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betController"],"scripts":{"betController":{"enabled":true,"attributes":{"betButton":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892"],"okButton":"e905deb6-b6db-4c52-acbf-f678b6491e58","cancelButton":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","clearButton":"520409b8-ff1b-4179-92e0-317a07036fd4","betAmountText":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","errorText":"0482f254-0b73-45a9-8881-807ee55524be","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a"}}}}}},"5a034e63-1b15-486b-96fc-2b2e2847420a":{"name":"BackGround","tags":[],"enabled":false,"resource_id":"5a034e63-1b15-486b-96fc-2b2e2847420a","parent":"85b17c53-513d-4bfa-871d-1e0e273b8786","children":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892","d24500da-4b2a-4d7c-9215-53b4fb6bd76e","e905deb6-b6db-4c52-acbf-f678b6491e58","87973658-53ec-488e-aef0-a8f678900356","520409b8-ff1b-4179-92e0-317a07036fd4","0482f254-0b73-45a9-8881-807ee55524be"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.16470588235294117,0.16470588235294117,0.16470588235294117],"opacity":0.99,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,-300,-500,-300],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1cf8d121-4dba-4338-8004-c37c5648d1ac":{"name":"Button","tags":[],"enabled":true,"resource_id":"1cf8d121-4dba-4338-8004-c37c5648d1ac","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["8b15b958-beb8-43ea-b8f6-5fb59cc50677"],"position":[-319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1cf8d121-4dba-4338-8004-c37c5648d1ac","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,63.247,165,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1}}}}}},"8b15b958-beb8-43ea-b8f6-5fb59cc50677":{"name":"Text","tags":[],"enabled":true,"resource_id":"8b15b958-beb8-43ea-b8f6-5fb59cc50677","parent":"1cf8d121-4dba-4338-8004-c37c5648d1ac","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85736018-f6da-4142-b0da-753be93796e0":{"name":"Button","tags":[],"enabled":true,"resource_id":"85736018-f6da-4142-b0da-753be93796e0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["eafbf68e-a08d-439e-9c08-e1f0c393b867"],"position":[0,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"85736018-f6da-4142-b0da-753be93796e0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,63.247,-155,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10}}}}}},"eafbf68e-a08d-439e-9c08-e1f0c393b867":{"name":"Text","tags":[],"enabled":true,"resource_id":"eafbf68e-a08d-439e-9c08-e1f0c393b867","parent":"85736018-f6da-4142-b0da-753be93796e0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0f9874ca-b06b-4b03-a7fa-e8cc04692bde":{"name":"Button","tags":[],"enabled":true,"resource_id":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["c5508cc8-5056-422d-b761-052b3a319b99"],"position":[319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,63.247,-475,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100}}}}}},"c5508cc8-5056-422d-b761-052b3a319b99":{"name":"Text","tags":[],"enabled":true,"resource_id":"c5508cc8-5056-422d-b761-052b3a319b99","parent":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0":{"name":"Button","tags":[],"enabled":true,"resource_id":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c"],"position":[-319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,-56.753,165,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1000}}}}}},"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c":{"name":"Text","tags":[],"enabled":true,"resource_id":"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c","parent":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf2a2801-e64c-471c-9c01-8b87b2550734":{"name":"Button","tags":[],"enabled":true,"resource_id":"cf2a2801-e64c-471c-9c01-8b87b2550734","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["61bcedac-217b-4855-9e44-de5fc08a3f1f"],"position":[0,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"cf2a2801-e64c-471c-9c01-8b87b2550734","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,-56.753,-155,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10000}}}}}},"61bcedac-217b-4855-9e44-de5fc08a3f1f":{"name":"Text","tags":[],"enabled":true,"resource_id":"61bcedac-217b-4855-9e44-de5fc08a3f1f","parent":"cf2a2801-e64c-471c-9c01-8b87b2550734","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"88edaf23-57fb-4d4c-8499-37b285e47892":{"name":"Button","tags":[],"enabled":true,"resource_id":"88edaf23-57fb-4d4c-8499-37b285e47892","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["04788a9b-8bdc-48e3-9b88-3d484f890d82"],"position":[319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"88edaf23-57fb-4d4c-8499-37b285e47892","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,-56.753,-475,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100000}}}}}},"04788a9b-8bdc-48e3-9b88-3d484f890d82":{"name":"Text","tags":[],"enabled":true,"resource_id":"04788a9b-8bdc-48e3-9b88-3d484f890d82","parent":"88edaf23-57fb-4d4c-8499-37b285e47892","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100,000","key":null,"fontAsset":156633189,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d24500da-4b2a-4d7c-9215-53b4fb6bd76e":{"name":"CancelButton","tags":[],"enabled":true,"resource_id":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["e0918e69-2b3d-4418-84ea-a29337e12201"],"position":[200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156525288,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[45,-291.164,-355,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e0918e69-2b3d-4418-84ea-a29337e12201":{"name":"Text","tags":[],"enabled":true,"resource_id":"e0918e69-2b3d-4418-84ea-a29337e12201","parent":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Cancel","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":26,"margin":[-150,-8,-150,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e905deb6-b6db-4c52-acbf-f678b6491e58":{"name":"OkButton","tags":[],"enabled":true,"resource_id":"e905deb6-b6db-4c52-acbf-f678b6491e58","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["746363d7-a558-440e-9e91-ad949975e57b"],"position":[-200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"e905deb6-b6db-4c52-acbf-f678b6491e58","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633138,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[-347,-291.164,53,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"746363d7-a558-440e-9e91-ad949975e57b":{"name":"Text","tags":[],"enabled":true,"resource_id":"746363d7-a558-440e-9e91-ad949975e57b","parent":"e905deb6-b6db-4c52-acbf-f678b6491e58","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Ok","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":26,"margin":[-100,-8,-100,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"408ea63d-61d1-46e5-a3bc-7c020d2e654e":{"name":"Multiplier","tags":[],"enabled":true,"resource_id":"408ea63d-61d1-46e5-a3bc-7c020d2e654e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,-43.88431665325958,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1.5x","key":null,"fontAsset":156633189,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[0.2901960784313726,1,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":172.5,"height":97.5,"margin":[-86.25,-92.634,-86.25,-4.866],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e408ddb-a1c0-4c54-ad0a-9b33af456156":{"name":"BakcgourndCover","tags":[],"enabled":true,"resource_id":"7e408ddb-a1c0-4c54-ad0a-9b33af456156","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[63.246499999999855,72.27699999999993,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.28627450980392155,0.28627450980392155,0.28627450980392155],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":2130.730576948686,"height":1728.065873800372,"margin":[-1002.119,-791.756,-1128.612,-936.31],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"87973658-53ec-488e-aef0-a8f678900356":{"name":"Image","tags":[],"enabled":true,"resource_id":"87973658-53ec-488e-aef0-a8f678900356","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["d9ac37ec-0f58-4e1e-8e3a-493afae8f818"],"position":[-153.74922561263267,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633139,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-475.249,-176.5,-167.751,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"520409b8-ff1b-4179-92e0-317a07036fd4":{"name":"ClearButton","tags":[],"enabled":true,"resource_id":"520409b8-ff1b-4179-92e0-317a07036fd4","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["968dad83-b059-4f0a-bcdf-c87c1f24d98b"],"position":[327.4116066032516,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"520409b8-ff1b-4179-92e0-317a07036fd4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156525291,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[172.412,-176.5,-482.412,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"968dad83-b059-4f0a-bcdf-c87c1f24d98b":{"name":"Text","tags":[],"enabled":true,"resource_id":"968dad83-b059-4f0a-bcdf-c87c1f24d98b","parent":"520409b8-ff1b-4179-92e0-317a07036fd4","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Clear","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":239.861,"height":102.509,"margin":[-119.93,-46.255,-119.93,-56.255],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d9ac37ec-0f58-4e1e-8e3a-493afae8f818":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","parent":"87973658-53ec-488e-aef0-a8f678900356","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":52,"margin":[-40.414,-26,8.414,-26],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0482f254-0b73-45a9-8881-807ee55524be":{"name":"errorText","tags":[],"enabled":true,"resource_id":"0482f254-0b73-45a9-8881-807ee55524be","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[0,225.18919542295134,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Not enough balance.","key":null,"fontAsset":156633189,"fontSize":100,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":100,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":700,"height":65,"margin":[-350,192.689,-350,-257.689],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.59,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b":{"name":"Group","tags":[],"enabled":true,"resource_id":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["53831d01-212e-4f14-97f8-192163c635f9","7f522e23-cd7f-4986-ad48-e00177eae4cf","dcfac702-781b-4054-9f2a-72b30c6a5d0c","7ee570ec-23e4-4088-baa9-08a6a20c1fd3","341b36b0-bc8e-49d2-8ffe-418cf77d5222","c493ca8c-1751-4112-8441-b6d22b26c49a"],"position":[-466.22400283813477,487.4229965209961,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-110,-100,-10],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"0f2528fd-25a5-4d8c-b74f-606b8cf8a484":{"name":"Group","tags":[],"enabled":true,"resource_id":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["159e1318-c71b-4cb3-8f8c-a5243282f3f2","bb6d373b-79d8-47ad-a478-0ac289e1a928","3bc635cc-9abc-4a18-9794-cefd58b5e284","57d3d80d-bb47-498a-a6fc-820b8c0e38d7","679181aa-d6e8-4757-a1d1-76d54637488b","0b9abe23-eecc-4f67-934b-0edcaead7d73"],"position":[-466.22400283813477,487.4229965209961,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-280,-100,160],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"255c3b50-70cf-445a-8cd5-d54625a1fb85":{"name":"Group","tags":[],"enabled":true,"resource_id":"255c3b50-70cf-445a-8cd5-d54625a1fb85","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["3900cc69-91bf-4079-b45e-5758253246a2","8a8408b1-4a04-4925-9289-1357a182014d","c7f551af-2ec0-4788-ac23-e11907afea00","81731462-c9c1-410f-943c-7d9798410ebe","fe578580-0072-4b2d-809d-bfcb0bac67a6","a54c4571-f028-4d10-9933-fad748bd55fb"],"position":[-466.22400283813477,487.4229965209961,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-455,-100,335],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"0b81492c-c985-4558-9faa-14b133645fbc":{"name":"Group","tags":[],"enabled":true,"resource_id":"0b81492c-c985-4558-9faa-14b133645fbc","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["1000a7af-5326-43fe-bc96-ace70a841eec","3e2485e7-200d-45c7-a86d-8180d7d2c1af","3dd39790-8e96-470c-bc7f-8ec858c7ea72","4d88fb6a-995b-434b-b124-370488ae3f4d","81b5c157-b4ff-4d24-88ce-70b070b1e418","42327c58-c5ab-4206-91ad-366c81963f7f"],"position":[-466.22400283813477,487.4229965209961,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-630,-100,510],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"174533d2-6006-40c8-bb72-7420ac034a46":{"name":"Group","tags":[],"enabled":true,"resource_id":"174533d2-6006-40c8-bb72-7420ac034a46","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["fe467923-f3a6-4224-8c93-2e989d6cd908","5a30ecb7-1fdb-43d1-9597-9684d40192de","56f18d04-4ac8-45b7-b8a2-b425b71d7944","8dbb7b19-a81b-4340-843c-bedfc9f3a2db","4d9f8b0f-fe83-4a0c-a1f2-35b59e585894","ff9d845e-1a66-4870-a2a2-f02576b633b1"],"position":[-466.22400283813477,487.4229965209961,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-805,-100,685],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"73e916c5-752f-4d9e-8d54-ccf2f321686b":{"name":"Group","tags":[],"enabled":true,"resource_id":"73e916c5-752f-4d9e-8d54-ccf2f321686b","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","0f2528fd-25a5-4d8c-b74f-606b8cf8a484","255c3b50-70cf-445a-8cd5-d54625a1fb85","0b81492c-c985-4558-9faa-14b133645fbc","dfeaab80-7b23-4d70-8ad7-700332b28f4a","174533d2-6006-40c8-bb72-7420ac034a46","7b04b733-e542-4e26-ae30-e422406959f0"],"position":[-450.4137896836759,522.4639949798584,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-450.414,522.464,450.414,-522.464],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":1,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,30],"widthFitting":0,"heightFitting":0,"wrap":false},"script":{"enabled":true,"order":["buttonController"],"scripts":{"buttonController":{"enabled":true,"attributes":{}}}}}},"7f522e23-cd7f-4986-ad48-e00177eae4cf":{"name":"Button","tags":[],"enabled":true,"resource_id":"7f522e23-cd7f-4986-ad48-e00177eae4cf","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["d9497132-7457-4721-8506-78ff50bb4ea8","89bbceea-2e3f-42f4-bcae-e369600011d7"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"7f522e23-cd7f-4986-ad48-e00177eae4cf","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":1,"bottom":"d9497132-7457-4721-8506-78ff50bb4ea8","top":"89bbceea-2e3f-42f4-bcae-e369600011d7","win":"8889d160-7084-4f99-accd-f326b413487f","numberText":"034d97e1-efd1-45f1-8d98-2919a6cdce62"}}}}},"template_ent_ids":{"7f522e23-cd7f-4986-ad48-e00177eae4cf":"2b9168ad-c86e-439b-9532-efee826e0049","d9497132-7457-4721-8506-78ff50bb4ea8":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","89bbceea-2e3f-42f4-bcae-e369600011d7":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","8889d160-7084-4f99-accd-f326b413487f":"f94ee684-9706-4dc1-bca7-bb943686be91","aab0f7bd-32f2-4506-9ef3-190d0c154c1c":"474a4999-d5ff-4e2f-a15f-c1749c823351","034d97e1-efd1-45f1-8d98-2919a6cdce62":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"},"template_id":156355247},"d9497132-7457-4721-8506-78ff50bb4ea8":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"d9497132-7457-4721-8506-78ff50bb4ea8","parent":"7f522e23-cd7f-4986-ad48-e00177eae4cf","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.43137254901960786,0.43137254901960786,0.43137254901960786],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"89bbceea-2e3f-42f4-bcae-e369600011d7":{"name":"Top","tags":[],"enabled":true,"resource_id":"89bbceea-2e3f-42f4-bcae-e369600011d7","parent":"7f522e23-cd7f-4986-ad48-e00177eae4cf","children":["8889d160-7084-4f99-accd-f326b413487f","034d97e1-efd1-45f1-8d98-2919a6cdce62"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.792156862745098,0.792156862745098,0.792156862745098],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"dcfac702-781b-4054-9f2a-72b30c6a5d0c":{"name":"Button","tags":[],"enabled":true,"resource_id":"dcfac702-781b-4054-9f2a-72b30c6a5d0c","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["07644ac2-b3d3-454b-a5d1-45e149e042bd","59b8c0a6-6d44-4d65-8d76-888ce571abbe"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"dcfac702-781b-4054-9f2a-72b30c6a5d0c","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":2,"bottom":"07644ac2-b3d3-454b-a5d1-45e149e042bd","top":"59b8c0a6-6d44-4d65-8d76-888ce571abbe","win":"60488686-7583-4c31-87ae-ab0c2ce9a9ec","numberText":"5e54c9fa-9bb5-45eb-bb6d-9c5727b67549"}}}}},"template_id":156355247,"template_ent_ids":{"dcfac702-781b-4054-9f2a-72b30c6a5d0c":"2b9168ad-c86e-439b-9532-efee826e0049","07644ac2-b3d3-454b-a5d1-45e149e042bd":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","59b8c0a6-6d44-4d65-8d76-888ce571abbe":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","60488686-7583-4c31-87ae-ab0c2ce9a9ec":"f94ee684-9706-4dc1-bca7-bb943686be91","9932bbce-7078-4714-8b40-752f1c4b6a03":"474a4999-d5ff-4e2f-a15f-c1749c823351","5e54c9fa-9bb5-45eb-bb6d-9c5727b67549":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"07644ac2-b3d3-454b-a5d1-45e149e042bd":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"07644ac2-b3d3-454b-a5d1-45e149e042bd","parent":"dcfac702-781b-4054-9f2a-72b30c6a5d0c","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.15294117647058825,0.6470588235294118,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"59b8c0a6-6d44-4d65-8d76-888ce571abbe":{"name":"Top","tags":[],"enabled":true,"resource_id":"59b8c0a6-6d44-4d65-8d76-888ce571abbe","parent":"dcfac702-781b-4054-9f2a-72b30c6a5d0c","children":["60488686-7583-4c31-87ae-ab0c2ce9a9ec","5e54c9fa-9bb5-45eb-bb6d-9c5727b67549"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.7686274509803922,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7ee570ec-23e4-4088-baa9-08a6a20c1fd3":{"name":"Button","tags":[],"enabled":true,"resource_id":"7ee570ec-23e4-4088-baa9-08a6a20c1fd3","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["d85a0bf4-6c2d-4a76-9b74-b3611a9046d4","1d8924c4-d660-489b-8a7c-9a61e2fb2bce"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"7ee570ec-23e4-4088-baa9-08a6a20c1fd3","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"d85a0bf4-6c2d-4a76-9b74-b3611a9046d4","top":"1d8924c4-d660-489b-8a7c-9a61e2fb2bce","win":"22f8655f-bd74-4893-973a-8b24ffefcb6d","numberText":"77cde331-e17c-4ea4-a263-20af96330a2e"}}}}},"template_id":156355247,"template_ent_ids":{"7ee570ec-23e4-4088-baa9-08a6a20c1fd3":"2b9168ad-c86e-439b-9532-efee826e0049","d85a0bf4-6c2d-4a76-9b74-b3611a9046d4":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","1d8924c4-d660-489b-8a7c-9a61e2fb2bce":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","22f8655f-bd74-4893-973a-8b24ffefcb6d":"f94ee684-9706-4dc1-bca7-bb943686be91","37bfedab-ab98-4953-96bf-adc3315e9e4a":"474a4999-d5ff-4e2f-a15f-c1749c823351","77cde331-e17c-4ea4-a263-20af96330a2e":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"d85a0bf4-6c2d-4a76-9b74-b3611a9046d4":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"d85a0bf4-6c2d-4a76-9b74-b3611a9046d4","parent":"7ee570ec-23e4-4088-baa9-08a6a20c1fd3","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5294117647058824,0.803921568627451,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1d8924c4-d660-489b-8a7c-9a61e2fb2bce":{"name":"Top","tags":[],"enabled":true,"resource_id":"1d8924c4-d660-489b-8a7c-9a61e2fb2bce","parent":"7ee570ec-23e4-4088-baa9-08a6a20c1fd3","children":["22f8655f-bd74-4893-973a-8b24ffefcb6d","77cde331-e17c-4ea4-a263-20af96330a2e"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.7137254901960784,0.8823529411764706,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"341b36b0-bc8e-49d2-8ffe-418cf77d5222":{"name":"Button","tags":[],"enabled":true,"resource_id":"341b36b0-bc8e-49d2-8ffe-418cf77d5222","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["8547394b-59ed-4de5-a24e-8ca2bd3ac3f8","f6d6b1a6-6fe8-422b-931f-6c5b45c86871"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"341b36b0-bc8e-49d2-8ffe-418cf77d5222","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":4,"bottom":"8547394b-59ed-4de5-a24e-8ca2bd3ac3f8","top":"f6d6b1a6-6fe8-422b-931f-6c5b45c86871","win":"1c3aa136-ac1a-4297-af03-16bc6583dd9e","numberText":"1a662331-a65b-4417-8994-a7c89c86cf23"}}}}},"template_id":156355247,"template_ent_ids":{"341b36b0-bc8e-49d2-8ffe-418cf77d5222":"2b9168ad-c86e-439b-9532-efee826e0049","8547394b-59ed-4de5-a24e-8ca2bd3ac3f8":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","f6d6b1a6-6fe8-422b-931f-6c5b45c86871":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","1c3aa136-ac1a-4297-af03-16bc6583dd9e":"f94ee684-9706-4dc1-bca7-bb943686be91","cc99e7d7-f9aa-41f0-b90b-cdd3e61e63bd":"474a4999-d5ff-4e2f-a15f-c1749c823351","1a662331-a65b-4417-8994-a7c89c86cf23":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"8547394b-59ed-4de5-a24e-8ca2bd3ac3f8":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"8547394b-59ed-4de5-a24e-8ca2bd3ac3f8","parent":"341b36b0-bc8e-49d2-8ffe-418cf77d5222","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.12549019607843137,0.12549019607843137,0.12549019607843137],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f6d6b1a6-6fe8-422b-931f-6c5b45c86871":{"name":"Top","tags":[],"enabled":true,"resource_id":"f6d6b1a6-6fe8-422b-931f-6c5b45c86871","parent":"341b36b0-bc8e-49d2-8ffe-418cf77d5222","children":["1c3aa136-ac1a-4297-af03-16bc6583dd9e","1a662331-a65b-4417-8994-a7c89c86cf23"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"159e1318-c71b-4cb3-8f8c-a5243282f3f2":{"name":"Button","tags":[],"enabled":true,"resource_id":"159e1318-c71b-4cb3-8f8c-a5243282f3f2","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["30c793fd-d51e-43e2-b7f8-22a33b3cad8a","5d37a6de-7fb7-44f1-8064-9758d1bc314e"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"159e1318-c71b-4cb3-8f8c-a5243282f3f2","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":5,"bottom":"30c793fd-d51e-43e2-b7f8-22a33b3cad8a","top":"5d37a6de-7fb7-44f1-8064-9758d1bc314e","win":"e3a941a6-9f46-4f00-871a-6017fc88ebce","numberText":"4db185f0-8d00-4c24-a442-ce1ce2f9d3c9"}}}}},"template_id":156355247,"template_ent_ids":{"159e1318-c71b-4cb3-8f8c-a5243282f3f2":"2b9168ad-c86e-439b-9532-efee826e0049","30c793fd-d51e-43e2-b7f8-22a33b3cad8a":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","5d37a6de-7fb7-44f1-8064-9758d1bc314e":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","e3a941a6-9f46-4f00-871a-6017fc88ebce":"f94ee684-9706-4dc1-bca7-bb943686be91","ce49bc94-dab5-4ae6-a531-22f7991a3d9d":"474a4999-d5ff-4e2f-a15f-c1749c823351","4db185f0-8d00-4c24-a442-ce1ce2f9d3c9":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"30c793fd-d51e-43e2-b7f8-22a33b3cad8a":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"30c793fd-d51e-43e2-b7f8-22a33b3cad8a","parent":"159e1318-c71b-4cb3-8f8c-a5243282f3f2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d37a6de-7fb7-44f1-8064-9758d1bc314e":{"name":"Top","tags":[],"enabled":true,"resource_id":"5d37a6de-7fb7-44f1-8064-9758d1bc314e","parent":"159e1318-c71b-4cb3-8f8c-a5243282f3f2","children":["e3a941a6-9f46-4f00-871a-6017fc88ebce","4db185f0-8d00-4c24-a442-ce1ce2f9d3c9"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bb6d373b-79d8-47ad-a478-0ac289e1a928":{"name":"Button","tags":[],"enabled":true,"resource_id":"bb6d373b-79d8-47ad-a478-0ac289e1a928","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["0a5b192e-d2ce-4cda-b54b-2d34b906092b","9bec918c-ad3b-4464-9d10-149ad0511dcd"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bb6d373b-79d8-47ad-a478-0ac289e1a928","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":6,"bottom":"0a5b192e-d2ce-4cda-b54b-2d34b906092b","top":"9bec918c-ad3b-4464-9d10-149ad0511dcd","win":"1ecc3ede-2ff9-455e-abbc-bde80216f0b0","numberText":"35ea1adc-2bf9-4732-81b9-5e1d7dc5391c"}}}}},"template_id":156355247,"template_ent_ids":{"bb6d373b-79d8-47ad-a478-0ac289e1a928":"2b9168ad-c86e-439b-9532-efee826e0049","0a5b192e-d2ce-4cda-b54b-2d34b906092b":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","9bec918c-ad3b-4464-9d10-149ad0511dcd":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","1ecc3ede-2ff9-455e-abbc-bde80216f0b0":"f94ee684-9706-4dc1-bca7-bb943686be91","e117ba3b-944f-4049-9cd2-1cc18c6bc1f4":"474a4999-d5ff-4e2f-a15f-c1749c823351","35ea1adc-2bf9-4732-81b9-5e1d7dc5391c":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"0a5b192e-d2ce-4cda-b54b-2d34b906092b":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"0a5b192e-d2ce-4cda-b54b-2d34b906092b","parent":"bb6d373b-79d8-47ad-a478-0ac289e1a928","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9bec918c-ad3b-4464-9d10-149ad0511dcd":{"name":"Top","tags":[],"enabled":true,"resource_id":"9bec918c-ad3b-4464-9d10-149ad0511dcd","parent":"bb6d373b-79d8-47ad-a478-0ac289e1a928","children":["1ecc3ede-2ff9-455e-abbc-bde80216f0b0","35ea1adc-2bf9-4732-81b9-5e1d7dc5391c"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3bc635cc-9abc-4a18-9794-cefd58b5e284":{"name":"Button","tags":[],"enabled":true,"resource_id":"3bc635cc-9abc-4a18-9794-cefd58b5e284","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["0e5114c3-8423-4fb0-af43-85076ad8564a","c592baf4-eadd-4e02-bed3-a322485085d1"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3bc635cc-9abc-4a18-9794-cefd58b5e284","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":7,"bottom":"0e5114c3-8423-4fb0-af43-85076ad8564a","top":"c592baf4-eadd-4e02-bed3-a322485085d1","win":"d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392","numberText":"05730a1a-a23f-400a-9de7-42ffecf769db"}}}}},"template_id":156355247,"template_ent_ids":{"3bc635cc-9abc-4a18-9794-cefd58b5e284":"2b9168ad-c86e-439b-9532-efee826e0049","0e5114c3-8423-4fb0-af43-85076ad8564a":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","c592baf4-eadd-4e02-bed3-a322485085d1":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392":"f94ee684-9706-4dc1-bca7-bb943686be91","685b4911-8dce-4c07-a3f0-bc4fb675e287":"474a4999-d5ff-4e2f-a15f-c1749c823351","05730a1a-a23f-400a-9de7-42ffecf769db":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"0e5114c3-8423-4fb0-af43-85076ad8564a":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"0e5114c3-8423-4fb0-af43-85076ad8564a","parent":"3bc635cc-9abc-4a18-9794-cefd58b5e284","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c592baf4-eadd-4e02-bed3-a322485085d1":{"name":"Top","tags":[],"enabled":true,"resource_id":"c592baf4-eadd-4e02-bed3-a322485085d1","parent":"3bc635cc-9abc-4a18-9794-cefd58b5e284","children":["d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392","05730a1a-a23f-400a-9de7-42ffecf769db"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"57d3d80d-bb47-498a-a6fc-820b8c0e38d7":{"name":"Button","tags":[],"enabled":true,"resource_id":"57d3d80d-bb47-498a-a6fc-820b8c0e38d7","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["8b2f2f44-24bf-403d-b049-684a55372e57","9ff28f64-f5d2-43ec-a311-de0b32ab87ff"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"57d3d80d-bb47-498a-a6fc-820b8c0e38d7","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":8,"bottom":"8b2f2f44-24bf-403d-b049-684a55372e57","top":"9ff28f64-f5d2-43ec-a311-de0b32ab87ff","win":"5fdd78a3-222a-474c-8465-7530c753ef01","numberText":"965a1c86-cc56-42f6-a012-33698a5c5353"}}}}},"template_id":156355247,"template_ent_ids":{"57d3d80d-bb47-498a-a6fc-820b8c0e38d7":"2b9168ad-c86e-439b-9532-efee826e0049","8b2f2f44-24bf-403d-b049-684a55372e57":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","9ff28f64-f5d2-43ec-a311-de0b32ab87ff":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","5fdd78a3-222a-474c-8465-7530c753ef01":"f94ee684-9706-4dc1-bca7-bb943686be91","a47e7c89-9a54-4dc7-8c71-134c6da6fd11":"474a4999-d5ff-4e2f-a15f-c1749c823351","965a1c86-cc56-42f6-a012-33698a5c5353":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"8b2f2f44-24bf-403d-b049-684a55372e57":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"8b2f2f44-24bf-403d-b049-684a55372e57","parent":"57d3d80d-bb47-498a-a6fc-820b8c0e38d7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9ff28f64-f5d2-43ec-a311-de0b32ab87ff":{"name":"Top","tags":[],"enabled":true,"resource_id":"9ff28f64-f5d2-43ec-a311-de0b32ab87ff","parent":"57d3d80d-bb47-498a-a6fc-820b8c0e38d7","children":["5fdd78a3-222a-474c-8465-7530c753ef01","965a1c86-cc56-42f6-a012-33698a5c5353"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"679181aa-d6e8-4757-a1d1-76d54637488b":{"name":"Button","tags":[],"enabled":true,"resource_id":"679181aa-d6e8-4757-a1d1-76d54637488b","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["582c43c8-41cd-4121-bd5b-d1a60ea01e84","37e63e77-73f2-46be-9369-f17f93c900ad"],"position":[715,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"679181aa-d6e8-4757-a1d1-76d54637488b","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[640,0,-790,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":9,"bottom":"582c43c8-41cd-4121-bd5b-d1a60ea01e84","top":"37e63e77-73f2-46be-9369-f17f93c900ad","win":"8b5a2b34-14e8-4754-aae0-40bef729c7b3","numberText":"9dffb89f-2c59-4f10-bf5f-9ed9cd284c8f"}}}}},"template_id":156355247,"template_ent_ids":{"679181aa-d6e8-4757-a1d1-76d54637488b":"2b9168ad-c86e-439b-9532-efee826e0049","582c43c8-41cd-4121-bd5b-d1a60ea01e84":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","37e63e77-73f2-46be-9369-f17f93c900ad":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","8b5a2b34-14e8-4754-aae0-40bef729c7b3":"f94ee684-9706-4dc1-bca7-bb943686be91","1c419d71-30c9-4fed-b858-206005443f55":"474a4999-d5ff-4e2f-a15f-c1749c823351","9dffb89f-2c59-4f10-bf5f-9ed9cd284c8f":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"582c43c8-41cd-4121-bd5b-d1a60ea01e84":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"582c43c8-41cd-4121-bd5b-d1a60ea01e84","parent":"679181aa-d6e8-4757-a1d1-76d54637488b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"37e63e77-73f2-46be-9369-f17f93c900ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"37e63e77-73f2-46be-9369-f17f93c900ad","parent":"679181aa-d6e8-4757-a1d1-76d54637488b","children":["8b5a2b34-14e8-4754-aae0-40bef729c7b3","9dffb89f-2c59-4f10-bf5f-9ed9cd284c8f"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3900cc69-91bf-4079-b45e-5758253246a2":{"name":"Button","tags":[],"enabled":true,"resource_id":"3900cc69-91bf-4079-b45e-5758253246a2","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["abdc3ca5-fefd-48dd-95f2-ff517966499f","1ce0d7a6-4d46-409b-b05c-ac415596d249"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3900cc69-91bf-4079-b45e-5758253246a2","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":10,"bottom":"abdc3ca5-fefd-48dd-95f2-ff517966499f","top":"1ce0d7a6-4d46-409b-b05c-ac415596d249","win":"6d6b6ad0-e9aa-45e4-9251-09402d7e4092","numberText":"a7f3b4f5-55b7-4505-b780-963e7fb3cca3"}}}}},"template_id":156355247,"template_ent_ids":{"3900cc69-91bf-4079-b45e-5758253246a2":"2b9168ad-c86e-439b-9532-efee826e0049","abdc3ca5-fefd-48dd-95f2-ff517966499f":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","1ce0d7a6-4d46-409b-b05c-ac415596d249":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","6d6b6ad0-e9aa-45e4-9251-09402d7e4092":"f94ee684-9706-4dc1-bca7-bb943686be91","581db11a-0265-4953-abc0-624913ad97ea":"474a4999-d5ff-4e2f-a15f-c1749c823351","a7f3b4f5-55b7-4505-b780-963e7fb3cca3":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"abdc3ca5-fefd-48dd-95f2-ff517966499f":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"abdc3ca5-fefd-48dd-95f2-ff517966499f","parent":"3900cc69-91bf-4079-b45e-5758253246a2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1ce0d7a6-4d46-409b-b05c-ac415596d249":{"name":"Top","tags":[],"enabled":true,"resource_id":"1ce0d7a6-4d46-409b-b05c-ac415596d249","parent":"3900cc69-91bf-4079-b45e-5758253246a2","children":["6d6b6ad0-e9aa-45e4-9251-09402d7e4092","a7f3b4f5-55b7-4505-b780-963e7fb3cca3"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8a8408b1-4a04-4925-9289-1357a182014d":{"name":"Button","tags":[],"enabled":true,"resource_id":"8a8408b1-4a04-4925-9289-1357a182014d","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["e42216a2-3549-40be-9245-2ebc113fa1bb","cba0a37d-0d6d-430b-91b1-1f9983dec958"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"8a8408b1-4a04-4925-9289-1357a182014d","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":11,"bottom":"e42216a2-3549-40be-9245-2ebc113fa1bb","top":"cba0a37d-0d6d-430b-91b1-1f9983dec958","win":"d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d","numberText":"cc5c32ee-fdb6-43cf-ab0e-bca06a16d8a3"}}}}},"template_id":156355247,"template_ent_ids":{"8a8408b1-4a04-4925-9289-1357a182014d":"2b9168ad-c86e-439b-9532-efee826e0049","e42216a2-3549-40be-9245-2ebc113fa1bb":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","cba0a37d-0d6d-430b-91b1-1f9983dec958":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d":"f94ee684-9706-4dc1-bca7-bb943686be91","44759df2-8b1f-4fa2-aca8-19d281496494":"474a4999-d5ff-4e2f-a15f-c1749c823351","cc5c32ee-fdb6-43cf-ab0e-bca06a16d8a3":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"e42216a2-3549-40be-9245-2ebc113fa1bb":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"e42216a2-3549-40be-9245-2ebc113fa1bb","parent":"8a8408b1-4a04-4925-9289-1357a182014d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cba0a37d-0d6d-430b-91b1-1f9983dec958":{"name":"Top","tags":[],"enabled":true,"resource_id":"cba0a37d-0d6d-430b-91b1-1f9983dec958","parent":"8a8408b1-4a04-4925-9289-1357a182014d","children":["d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d","cc5c32ee-fdb6-43cf-ab0e-bca06a16d8a3"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c7f551af-2ec0-4788-ac23-e11907afea00":{"name":"Button","tags":[],"enabled":true,"resource_id":"c7f551af-2ec0-4788-ac23-e11907afea00","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["bb34bdb8-5f38-475a-ad5d-1960106de96c","5dd92e8e-8d82-4638-b78c-16a715018fea"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"c7f551af-2ec0-4788-ac23-e11907afea00","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":12,"bottom":"bb34bdb8-5f38-475a-ad5d-1960106de96c","top":"5dd92e8e-8d82-4638-b78c-16a715018fea","win":"2fd4fa90-6029-4770-9f64-36648ab04c94","numberText":"d4b6534c-2a0e-4089-85cc-ac0514737b34"}}}}},"template_id":156355247,"template_ent_ids":{"c7f551af-2ec0-4788-ac23-e11907afea00":"2b9168ad-c86e-439b-9532-efee826e0049","bb34bdb8-5f38-475a-ad5d-1960106de96c":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","5dd92e8e-8d82-4638-b78c-16a715018fea":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","2fd4fa90-6029-4770-9f64-36648ab04c94":"f94ee684-9706-4dc1-bca7-bb943686be91","1d83b191-e2b2-498e-b845-306368533bb5":"474a4999-d5ff-4e2f-a15f-c1749c823351","d4b6534c-2a0e-4089-85cc-ac0514737b34":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"bb34bdb8-5f38-475a-ad5d-1960106de96c":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"bb34bdb8-5f38-475a-ad5d-1960106de96c","parent":"c7f551af-2ec0-4788-ac23-e11907afea00","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5dd92e8e-8d82-4638-b78c-16a715018fea":{"name":"Top","tags":[],"enabled":true,"resource_id":"5dd92e8e-8d82-4638-b78c-16a715018fea","parent":"c7f551af-2ec0-4788-ac23-e11907afea00","children":["2fd4fa90-6029-4770-9f64-36648ab04c94","d4b6534c-2a0e-4089-85cc-ac0514737b34"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"81731462-c9c1-410f-943c-7d9798410ebe":{"name":"Button","tags":[],"enabled":true,"resource_id":"81731462-c9c1-410f-943c-7d9798410ebe","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["9b6541ae-9ecd-4670-a261-e6ccdf2b5298","dd3f53dd-814f-4e8e-9ade-191b0f97fe14"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"81731462-c9c1-410f-943c-7d9798410ebe","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":13,"bottom":"9b6541ae-9ecd-4670-a261-e6ccdf2b5298","top":"dd3f53dd-814f-4e8e-9ade-191b0f97fe14","win":"e021837b-dab4-4aa4-8140-cc1e520f8e02","numberText":"572e04dd-9ecb-49de-aa1b-3003ee8f02dd"}}}}},"template_id":156355247,"template_ent_ids":{"81731462-c9c1-410f-943c-7d9798410ebe":"2b9168ad-c86e-439b-9532-efee826e0049","9b6541ae-9ecd-4670-a261-e6ccdf2b5298":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","dd3f53dd-814f-4e8e-9ade-191b0f97fe14":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","e021837b-dab4-4aa4-8140-cc1e520f8e02":"f94ee684-9706-4dc1-bca7-bb943686be91","8c68320d-28bc-4b65-b844-5f689f0bc92f":"474a4999-d5ff-4e2f-a15f-c1749c823351","572e04dd-9ecb-49de-aa1b-3003ee8f02dd":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"9b6541ae-9ecd-4670-a261-e6ccdf2b5298":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"9b6541ae-9ecd-4670-a261-e6ccdf2b5298","parent":"81731462-c9c1-410f-943c-7d9798410ebe","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"dd3f53dd-814f-4e8e-9ade-191b0f97fe14":{"name":"Top","tags":[],"enabled":true,"resource_id":"dd3f53dd-814f-4e8e-9ade-191b0f97fe14","parent":"81731462-c9c1-410f-943c-7d9798410ebe","children":["e021837b-dab4-4aa4-8140-cc1e520f8e02","572e04dd-9ecb-49de-aa1b-3003ee8f02dd"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fe578580-0072-4b2d-809d-bfcb0bac67a6":{"name":"Button","tags":[],"enabled":true,"resource_id":"fe578580-0072-4b2d-809d-bfcb0bac67a6","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["76c9106a-1a6b-4471-806d-e2fec71a9f1c","2cb424c2-da70-4ccf-81af-198130c2cbc0"],"position":[715,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"fe578580-0072-4b2d-809d-bfcb0bac67a6","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[640,0,-790,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":14,"bottom":"76c9106a-1a6b-4471-806d-e2fec71a9f1c","top":"2cb424c2-da70-4ccf-81af-198130c2cbc0","win":"f5672567-cac9-4cc6-990a-f9ea454c5527","numberText":"4bf8fd48-2a91-4f0f-ac97-105d5fbcb39d"}}}}},"template_id":156355247,"template_ent_ids":{"fe578580-0072-4b2d-809d-bfcb0bac67a6":"2b9168ad-c86e-439b-9532-efee826e0049","76c9106a-1a6b-4471-806d-e2fec71a9f1c":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","2cb424c2-da70-4ccf-81af-198130c2cbc0":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","f5672567-cac9-4cc6-990a-f9ea454c5527":"f94ee684-9706-4dc1-bca7-bb943686be91","071e83db-e82e-46be-b1a6-dad7a771759a":"474a4999-d5ff-4e2f-a15f-c1749c823351","4bf8fd48-2a91-4f0f-ac97-105d5fbcb39d":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"76c9106a-1a6b-4471-806d-e2fec71a9f1c":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"76c9106a-1a6b-4471-806d-e2fec71a9f1c","parent":"fe578580-0072-4b2d-809d-bfcb0bac67a6","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2cb424c2-da70-4ccf-81af-198130c2cbc0":{"name":"Top","tags":[],"enabled":true,"resource_id":"2cb424c2-da70-4ccf-81af-198130c2cbc0","parent":"fe578580-0072-4b2d-809d-bfcb0bac67a6","children":["f5672567-cac9-4cc6-990a-f9ea454c5527","4bf8fd48-2a91-4f0f-ac97-105d5fbcb39d"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1000a7af-5326-43fe-bc96-ace70a841eec":{"name":"Button","tags":[],"enabled":true,"resource_id":"1000a7af-5326-43fe-bc96-ace70a841eec","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["36622fa6-d984-4dc8-876e-c338aeb565d2","7227c6e9-ab38-4aaf-b2a8-eb275c39a213"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1000a7af-5326-43fe-bc96-ace70a841eec","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":15,"bottom":"36622fa6-d984-4dc8-876e-c338aeb565d2","top":"7227c6e9-ab38-4aaf-b2a8-eb275c39a213","win":"4c64e341-144c-4b74-bfec-3b790c82e229","numberText":"832cb289-174c-4a39-9e45-417f574aa7e0"}}}}},"template_id":156355247,"template_ent_ids":{"1000a7af-5326-43fe-bc96-ace70a841eec":"2b9168ad-c86e-439b-9532-efee826e0049","36622fa6-d984-4dc8-876e-c338aeb565d2":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","7227c6e9-ab38-4aaf-b2a8-eb275c39a213":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","4c64e341-144c-4b74-bfec-3b790c82e229":"f94ee684-9706-4dc1-bca7-bb943686be91","485a9feb-92d8-444a-acc7-c7955d9a1d55":"474a4999-d5ff-4e2f-a15f-c1749c823351","832cb289-174c-4a39-9e45-417f574aa7e0":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"36622fa6-d984-4dc8-876e-c338aeb565d2":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"36622fa6-d984-4dc8-876e-c338aeb565d2","parent":"1000a7af-5326-43fe-bc96-ace70a841eec","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7227c6e9-ab38-4aaf-b2a8-eb275c39a213":{"name":"Top","tags":[],"enabled":true,"resource_id":"7227c6e9-ab38-4aaf-b2a8-eb275c39a213","parent":"1000a7af-5326-43fe-bc96-ace70a841eec","children":["4c64e341-144c-4b74-bfec-3b790c82e229","832cb289-174c-4a39-9e45-417f574aa7e0"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3e2485e7-200d-45c7-a86d-8180d7d2c1af":{"name":"Button","tags":[],"enabled":true,"resource_id":"3e2485e7-200d-45c7-a86d-8180d7d2c1af","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["1d6c31e3-ae8f-49c3-9339-8d735f6dc574","11a32b3a-bdeb-448a-ab79-b6e590acbc19"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3e2485e7-200d-45c7-a86d-8180d7d2c1af","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":16,"bottom":"1d6c31e3-ae8f-49c3-9339-8d735f6dc574","top":"11a32b3a-bdeb-448a-ab79-b6e590acbc19","win":"9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9","numberText":"0e3c14fc-5a48-41ab-9c00-3820227e2b53"}}}}},"template_id":156355247,"template_ent_ids":{"3e2485e7-200d-45c7-a86d-8180d7d2c1af":"2b9168ad-c86e-439b-9532-efee826e0049","1d6c31e3-ae8f-49c3-9339-8d735f6dc574":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","11a32b3a-bdeb-448a-ab79-b6e590acbc19":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9":"f94ee684-9706-4dc1-bca7-bb943686be91","c07263a8-5df8-41c0-b531-1432e0fd1747":"474a4999-d5ff-4e2f-a15f-c1749c823351","0e3c14fc-5a48-41ab-9c00-3820227e2b53":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"1d6c31e3-ae8f-49c3-9339-8d735f6dc574":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"1d6c31e3-ae8f-49c3-9339-8d735f6dc574","parent":"3e2485e7-200d-45c7-a86d-8180d7d2c1af","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"11a32b3a-bdeb-448a-ab79-b6e590acbc19":{"name":"Top","tags":[],"enabled":true,"resource_id":"11a32b3a-bdeb-448a-ab79-b6e590acbc19","parent":"3e2485e7-200d-45c7-a86d-8180d7d2c1af","children":["9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9","0e3c14fc-5a48-41ab-9c00-3820227e2b53"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3dd39790-8e96-470c-bc7f-8ec858c7ea72":{"name":"Button","tags":[],"enabled":true,"resource_id":"3dd39790-8e96-470c-bc7f-8ec858c7ea72","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["38ad997b-1ae2-4df3-8122-61d35f51216c","9ce043d8-fd3f-424f-9116-fc3a5d674461"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3dd39790-8e96-470c-bc7f-8ec858c7ea72","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":17,"bottom":"38ad997b-1ae2-4df3-8122-61d35f51216c","top":"9ce043d8-fd3f-424f-9116-fc3a5d674461","win":"1b0f41c4-ad20-4a15-903d-2e0670f5a4d7","numberText":"7c362ef2-2b30-4d66-a2dc-be98930cf559"}}}}},"template_id":156355247,"template_ent_ids":{"3dd39790-8e96-470c-bc7f-8ec858c7ea72":"2b9168ad-c86e-439b-9532-efee826e0049","38ad997b-1ae2-4df3-8122-61d35f51216c":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","9ce043d8-fd3f-424f-9116-fc3a5d674461":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","1b0f41c4-ad20-4a15-903d-2e0670f5a4d7":"f94ee684-9706-4dc1-bca7-bb943686be91","2683788b-7e5a-4c94-bed9-20fa1c61b44e":"474a4999-d5ff-4e2f-a15f-c1749c823351","7c362ef2-2b30-4d66-a2dc-be98930cf559":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"38ad997b-1ae2-4df3-8122-61d35f51216c":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"38ad997b-1ae2-4df3-8122-61d35f51216c","parent":"3dd39790-8e96-470c-bc7f-8ec858c7ea72","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9ce043d8-fd3f-424f-9116-fc3a5d674461":{"name":"Top","tags":[],"enabled":true,"resource_id":"9ce043d8-fd3f-424f-9116-fc3a5d674461","parent":"3dd39790-8e96-470c-bc7f-8ec858c7ea72","children":["1b0f41c4-ad20-4a15-903d-2e0670f5a4d7","7c362ef2-2b30-4d66-a2dc-be98930cf559"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4d88fb6a-995b-434b-b124-370488ae3f4d":{"name":"Button","tags":[],"enabled":true,"resource_id":"4d88fb6a-995b-434b-b124-370488ae3f4d","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["33ea70cf-915d-4312-af94-e5f832085806","19936a25-848e-4ff8-bb37-caed3ef39f05"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4d88fb6a-995b-434b-b124-370488ae3f4d","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":18,"bottom":"33ea70cf-915d-4312-af94-e5f832085806","top":"19936a25-848e-4ff8-bb37-caed3ef39f05","win":"2cda52fb-5c0e-482d-8f16-8368d5924b4f","numberText":"2a6f5782-65e5-4a08-a5cd-854cd757e073"}}}}},"template_id":156355247,"template_ent_ids":{"4d88fb6a-995b-434b-b124-370488ae3f4d":"2b9168ad-c86e-439b-9532-efee826e0049","33ea70cf-915d-4312-af94-e5f832085806":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","19936a25-848e-4ff8-bb37-caed3ef39f05":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","2cda52fb-5c0e-482d-8f16-8368d5924b4f":"f94ee684-9706-4dc1-bca7-bb943686be91","b0e67f74-5021-4a5d-b320-e9d576b5cad4":"474a4999-d5ff-4e2f-a15f-c1749c823351","2a6f5782-65e5-4a08-a5cd-854cd757e073":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"33ea70cf-915d-4312-af94-e5f832085806":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"33ea70cf-915d-4312-af94-e5f832085806","parent":"4d88fb6a-995b-434b-b124-370488ae3f4d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"19936a25-848e-4ff8-bb37-caed3ef39f05":{"name":"Top","tags":[],"enabled":true,"resource_id":"19936a25-848e-4ff8-bb37-caed3ef39f05","parent":"4d88fb6a-995b-434b-b124-370488ae3f4d","children":["2cda52fb-5c0e-482d-8f16-8368d5924b4f","2a6f5782-65e5-4a08-a5cd-854cd757e073"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"81b5c157-b4ff-4d24-88ce-70b070b1e418":{"name":"Button","tags":[],"enabled":true,"resource_id":"81b5c157-b4ff-4d24-88ce-70b070b1e418","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["fc591a35-3a70-4aa8-9e76-6b66fa8e70d3","2a378a40-d466-41de-9e98-481d374f0501"],"position":[715,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"81b5c157-b4ff-4d24-88ce-70b070b1e418","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[640,0,-790,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":19,"bottom":"fc591a35-3a70-4aa8-9e76-6b66fa8e70d3","top":"2a378a40-d466-41de-9e98-481d374f0501","win":"e6ecd6cc-3905-40b5-b545-fb6431e4e082","numberText":"c96b03c4-df9a-47cb-aaf1-9d4e4250de92"}}}}},"template_id":156355247,"template_ent_ids":{"81b5c157-b4ff-4d24-88ce-70b070b1e418":"2b9168ad-c86e-439b-9532-efee826e0049","fc591a35-3a70-4aa8-9e76-6b66fa8e70d3":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","2a378a40-d466-41de-9e98-481d374f0501":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","e6ecd6cc-3905-40b5-b545-fb6431e4e082":"f94ee684-9706-4dc1-bca7-bb943686be91","098c1181-13f3-4f24-8685-9e470b9b95a7":"474a4999-d5ff-4e2f-a15f-c1749c823351","c96b03c4-df9a-47cb-aaf1-9d4e4250de92":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"fc591a35-3a70-4aa8-9e76-6b66fa8e70d3":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"fc591a35-3a70-4aa8-9e76-6b66fa8e70d3","parent":"81b5c157-b4ff-4d24-88ce-70b070b1e418","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2a378a40-d466-41de-9e98-481d374f0501":{"name":"Top","tags":[],"enabled":true,"resource_id":"2a378a40-d466-41de-9e98-481d374f0501","parent":"81b5c157-b4ff-4d24-88ce-70b070b1e418","children":["e6ecd6cc-3905-40b5-b545-fb6431e4e082","c96b03c4-df9a-47cb-aaf1-9d4e4250de92"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fe467923-f3a6-4224-8c93-2e989d6cd908":{"name":"Button","tags":[],"enabled":true,"resource_id":"fe467923-f3a6-4224-8c93-2e989d6cd908","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["d59df56e-55ae-4b34-8f44-3b25122fba8b","36868463-8876-4ff4-80e6-2c920b442344"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"fe467923-f3a6-4224-8c93-2e989d6cd908","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":20,"bottom":"d59df56e-55ae-4b34-8f44-3b25122fba8b","top":"36868463-8876-4ff4-80e6-2c920b442344","win":"42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73","numberText":"634d725a-2430-49eb-9956-b5db5884688c"}}}}},"template_id":156355247,"template_ent_ids":{"fe467923-f3a6-4224-8c93-2e989d6cd908":"2b9168ad-c86e-439b-9532-efee826e0049","d59df56e-55ae-4b34-8f44-3b25122fba8b":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","36868463-8876-4ff4-80e6-2c920b442344":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73":"f94ee684-9706-4dc1-bca7-bb943686be91","0a8c48a2-2e16-46b9-b203-f072a3f947e2":"474a4999-d5ff-4e2f-a15f-c1749c823351","634d725a-2430-49eb-9956-b5db5884688c":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"d59df56e-55ae-4b34-8f44-3b25122fba8b":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"d59df56e-55ae-4b34-8f44-3b25122fba8b","parent":"fe467923-f3a6-4224-8c93-2e989d6cd908","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"36868463-8876-4ff4-80e6-2c920b442344":{"name":"Top","tags":[],"enabled":true,"resource_id":"36868463-8876-4ff4-80e6-2c920b442344","parent":"fe467923-f3a6-4224-8c93-2e989d6cd908","children":["42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73","634d725a-2430-49eb-9956-b5db5884688c"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5a30ecb7-1fdb-43d1-9597-9684d40192de":{"name":"Button","tags":[],"enabled":true,"resource_id":"5a30ecb7-1fdb-43d1-9597-9684d40192de","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["23611ca9-512c-48f6-8176-92fefb5e2f5c","e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"5a30ecb7-1fdb-43d1-9597-9684d40192de","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":21,"bottom":"23611ca9-512c-48f6-8176-92fefb5e2f5c","top":"e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223","win":"5eaa975a-a305-4af2-975b-9558173da304","numberText":"cb72b1f6-d793-4a6f-a267-a81b970514d6"}}}}},"template_id":156355247,"template_ent_ids":{"5a30ecb7-1fdb-43d1-9597-9684d40192de":"2b9168ad-c86e-439b-9532-efee826e0049","23611ca9-512c-48f6-8176-92fefb5e2f5c":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","5eaa975a-a305-4af2-975b-9558173da304":"f94ee684-9706-4dc1-bca7-bb943686be91","6ae781c6-4aae-4a9f-9a54-8edd48ff5c68":"474a4999-d5ff-4e2f-a15f-c1749c823351","cb72b1f6-d793-4a6f-a267-a81b970514d6":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"23611ca9-512c-48f6-8176-92fefb5e2f5c":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"23611ca9-512c-48f6-8176-92fefb5e2f5c","parent":"5a30ecb7-1fdb-43d1-9597-9684d40192de","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223":{"name":"Top","tags":[],"enabled":true,"resource_id":"e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223","parent":"5a30ecb7-1fdb-43d1-9597-9684d40192de","children":["5eaa975a-a305-4af2-975b-9558173da304","cb72b1f6-d793-4a6f-a267-a81b970514d6"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"56f18d04-4ac8-45b7-b8a2-b425b71d7944":{"name":"Button","tags":[],"enabled":true,"resource_id":"56f18d04-4ac8-45b7-b8a2-b425b71d7944","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["85629b13-821b-4c25-981d-ad171e7c3fc3","1b7c7e06-7f87-4ad2-ae9d-7aa92d239823"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"56f18d04-4ac8-45b7-b8a2-b425b71d7944","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":22,"bottom":"85629b13-821b-4c25-981d-ad171e7c3fc3","top":"1b7c7e06-7f87-4ad2-ae9d-7aa92d239823","win":"ba0bc4e7-299e-4a04-8610-360e59e9515d","numberText":"af6aff95-aa8b-4c08-b456-5fd51ae62a15"}}}}},"template_id":156355247,"template_ent_ids":{"56f18d04-4ac8-45b7-b8a2-b425b71d7944":"2b9168ad-c86e-439b-9532-efee826e0049","85629b13-821b-4c25-981d-ad171e7c3fc3":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","1b7c7e06-7f87-4ad2-ae9d-7aa92d239823":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","ba0bc4e7-299e-4a04-8610-360e59e9515d":"f94ee684-9706-4dc1-bca7-bb943686be91","fbd59d44-9143-4dd3-91db-3578e7d30879":"474a4999-d5ff-4e2f-a15f-c1749c823351","af6aff95-aa8b-4c08-b456-5fd51ae62a15":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"85629b13-821b-4c25-981d-ad171e7c3fc3":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"85629b13-821b-4c25-981d-ad171e7c3fc3","parent":"56f18d04-4ac8-45b7-b8a2-b425b71d7944","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b7c7e06-7f87-4ad2-ae9d-7aa92d239823":{"name":"Top","tags":[],"enabled":true,"resource_id":"1b7c7e06-7f87-4ad2-ae9d-7aa92d239823","parent":"56f18d04-4ac8-45b7-b8a2-b425b71d7944","children":["ba0bc4e7-299e-4a04-8610-360e59e9515d","af6aff95-aa8b-4c08-b456-5fd51ae62a15"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8dbb7b19-a81b-4340-843c-bedfc9f3a2db":{"name":"Button","tags":[],"enabled":true,"resource_id":"8dbb7b19-a81b-4340-843c-bedfc9f3a2db","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["b9d2e4dc-f985-499e-9ac4-ad47fa44eca4","3514dd8e-a0d6-49ca-87c0-f149d02b90e2"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"8dbb7b19-a81b-4340-843c-bedfc9f3a2db","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":23,"bottom":"b9d2e4dc-f985-499e-9ac4-ad47fa44eca4","top":"3514dd8e-a0d6-49ca-87c0-f149d02b90e2","win":"8fe26ed4-2b39-4699-a1f5-22b078e571b0","numberText":"0b2eeb45-3393-423e-bcbd-a0ca6cd69706"}}}}},"template_id":156355247,"template_ent_ids":{"8dbb7b19-a81b-4340-843c-bedfc9f3a2db":"2b9168ad-c86e-439b-9532-efee826e0049","b9d2e4dc-f985-499e-9ac4-ad47fa44eca4":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","3514dd8e-a0d6-49ca-87c0-f149d02b90e2":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","8fe26ed4-2b39-4699-a1f5-22b078e571b0":"f94ee684-9706-4dc1-bca7-bb943686be91","72302b46-0040-40b4-aa2e-17e335eb5320":"474a4999-d5ff-4e2f-a15f-c1749c823351","0b2eeb45-3393-423e-bcbd-a0ca6cd69706":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"b9d2e4dc-f985-499e-9ac4-ad47fa44eca4":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"b9d2e4dc-f985-499e-9ac4-ad47fa44eca4","parent":"8dbb7b19-a81b-4340-843c-bedfc9f3a2db","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3514dd8e-a0d6-49ca-87c0-f149d02b90e2":{"name":"Top","tags":[],"enabled":true,"resource_id":"3514dd8e-a0d6-49ca-87c0-f149d02b90e2","parent":"8dbb7b19-a81b-4340-843c-bedfc9f3a2db","children":["8fe26ed4-2b39-4699-a1f5-22b078e571b0","0b2eeb45-3393-423e-bcbd-a0ca6cd69706"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a458b72-d5fb-4f25-a042-540371d7162f":{"name":"Clear","tags":[],"enabled":true,"resource_id":"1a458b72-d5fb-4f25-a042-540371d7162f","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["be83f1e4-6463-4904-b112-f6536d494d88"],"position":[8.060000091791153,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1a458b72-d5fb-4f25-a042-540371d7162f","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156525288,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-146.94,-164.842,-163.06,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"be83f1e4-6463-4904-b112-f6536d494d88":{"name":"Text","tags":[],"enabled":true,"resource_id":"be83f1e4-6463-4904-b112-f6536d494d88","parent":"1a458b72-d5fb-4f25-a042-540371d7162f","children":[],"position":[0,8,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"CLEAR","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":36.563,"margin":[-100,-24.5,-100,-40.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"53831d01-212e-4f14-97f8-192163c635f9":{"name":"Button","tags":[],"enabled":true,"resource_id":"53831d01-212e-4f14-97f8-192163c635f9","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["1940a55c-0004-4c76-8ec7-24a5a46c29a1","fa64b124-61ba-44b2-ae73-9f728bf7a2c8"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"53831d01-212e-4f14-97f8-192163c635f9","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":0,"bottom":"1940a55c-0004-4c76-8ec7-24a5a46c29a1","top":"fa64b124-61ba-44b2-ae73-9f728bf7a2c8","win":"d5b1cd4f-3653-4110-97bd-ff558a0438cf","numberText":"da27db58-389f-4a3e-a511-42d2f87ffbc3"}}}}},"template_ent_ids":{"53831d01-212e-4f14-97f8-192163c635f9":"2b9168ad-c86e-439b-9532-efee826e0049","1940a55c-0004-4c76-8ec7-24a5a46c29a1":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","fa64b124-61ba-44b2-ae73-9f728bf7a2c8":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","d5b1cd4f-3653-4110-97bd-ff558a0438cf":"f94ee684-9706-4dc1-bca7-bb943686be91","a50d4cb4-a0fa-4074-a477-2930c2fdc041":"474a4999-d5ff-4e2f-a15f-c1749c823351","da27db58-389f-4a3e-a511-42d2f87ffbc3":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"},"template_id":156355247},"1940a55c-0004-4c76-8ec7-24a5a46c29a1":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"1940a55c-0004-4c76-8ec7-24a5a46c29a1","parent":"53831d01-212e-4f14-97f8-192163c635f9","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fa64b124-61ba-44b2-ae73-9f728bf7a2c8":{"name":"Top","tags":[],"enabled":true,"resource_id":"fa64b124-61ba-44b2-ae73-9f728bf7a2c8","parent":"53831d01-212e-4f14-97f8-192163c635f9","children":["d5b1cd4f-3653-4110-97bd-ff558a0438cf","da27db58-389f-4a3e-a511-42d2f87ffbc3"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be":{"name":"RandomButton","tags":[],"enabled":true,"resource_id":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["e91ffea1-c1fc-4a11-8df1-3979d834a574"],"position":[-325.90301036834717,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156525291,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-480.903,-164.842,170.903,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e91ffea1-c1fc-4a11-8df1-3979d834a574":{"name":"Text","tags":[],"enabled":true,"resource_id":"e91ffea1-c1fc-4a11-8df1-3979d834a574","parent":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","children":[],"position":[0,6.274000000000001,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Random","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":135,"height":36.563,"margin":[-120,-26.226,-120,-38.774],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f39bbaf1-d024-45fd-8060-05917a1fa871":{"name":"Result","tags":[],"enabled":true,"resource_id":"f39bbaf1-d024-45fd-8060-05917a1fa871","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["f12a8378-056f-43b4-a83a-5fe3d7e7102a","a3551267-eab4-49a7-a8f4-8c5b742e37be"],"position":[0,137.74899256376898,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":0,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":980,"height":100,"margin":[-490,87.749,-490,-187.749],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d5b1cd4f-3653-4110-97bd-ff558a0438cf":{"name":"Image","tags":[],"enabled":true,"resource_id":"d5b1cd4f-3653-4110-97bd-ff558a0438cf","parent":"fa64b124-61ba-44b2-ae73-9f728bf7a2c8","children":["a50d4cb4-a0fa-4074-a477-2930c2fdc041"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"da27db58-389f-4a3e-a511-42d2f87ffbc3":{"name":"Text","tags":[],"enabled":true,"resource_id":"da27db58-389f-4a3e-a511-42d2f87ffbc3","parent":"fa64b124-61ba-44b2-ae73-9f728bf7a2c8","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a50d4cb4-a0fa-4074-a477-2930c2fdc041":{"name":"Image","tags":[],"enabled":true,"resource_id":"a50d4cb4-a0fa-4074-a477-2930c2fdc041","parent":"d5b1cd4f-3653-4110-97bd-ff558a0438cf","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8889d160-7084-4f99-accd-f326b413487f":{"name":"Image","tags":[],"enabled":true,"resource_id":"8889d160-7084-4f99-accd-f326b413487f","parent":"89bbceea-2e3f-42f4-bcae-e369600011d7","children":["aab0f7bd-32f2-4506-9ef3-190d0c154c1c"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aab0f7bd-32f2-4506-9ef3-190d0c154c1c":{"name":"Image","tags":[],"enabled":true,"resource_id":"aab0f7bd-32f2-4506-9ef3-190d0c154c1c","parent":"8889d160-7084-4f99-accd-f326b413487f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"034d97e1-efd1-45f1-8d98-2919a6cdce62":{"name":"Text","tags":[],"enabled":true,"resource_id":"034d97e1-efd1-45f1-8d98-2919a6cdce62","parent":"89bbceea-2e3f-42f4-bcae-e369600011d7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"60488686-7583-4c31-87ae-ab0c2ce9a9ec":{"name":"Image","tags":[],"enabled":true,"resource_id":"60488686-7583-4c31-87ae-ab0c2ce9a9ec","parent":"59b8c0a6-6d44-4d65-8d76-888ce571abbe","children":["9932bbce-7078-4714-8b40-752f1c4b6a03"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9932bbce-7078-4714-8b40-752f1c4b6a03":{"name":"Image","tags":[],"enabled":true,"resource_id":"9932bbce-7078-4714-8b40-752f1c4b6a03","parent":"60488686-7583-4c31-87ae-ab0c2ce9a9ec","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5e54c9fa-9bb5-45eb-bb6d-9c5727b67549":{"name":"Text","tags":[],"enabled":true,"resource_id":"5e54c9fa-9bb5-45eb-bb6d-9c5727b67549","parent":"59b8c0a6-6d44-4d65-8d76-888ce571abbe","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"22f8655f-bd74-4893-973a-8b24ffefcb6d":{"name":"Image","tags":[],"enabled":true,"resource_id":"22f8655f-bd74-4893-973a-8b24ffefcb6d","parent":"1d8924c4-d660-489b-8a7c-9a61e2fb2bce","children":["37bfedab-ab98-4953-96bf-adc3315e9e4a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"37bfedab-ab98-4953-96bf-adc3315e9e4a":{"name":"Image","tags":[],"enabled":true,"resource_id":"37bfedab-ab98-4953-96bf-adc3315e9e4a","parent":"22f8655f-bd74-4893-973a-8b24ffefcb6d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"77cde331-e17c-4ea4-a263-20af96330a2e":{"name":"Text","tags":[],"enabled":true,"resource_id":"77cde331-e17c-4ea4-a263-20af96330a2e","parent":"1d8924c4-d660-489b-8a7c-9a61e2fb2bce","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c3aa136-ac1a-4297-af03-16bc6583dd9e":{"name":"Image","tags":[],"enabled":true,"resource_id":"1c3aa136-ac1a-4297-af03-16bc6583dd9e","parent":"f6d6b1a6-6fe8-422b-931f-6c5b45c86871","children":["cc99e7d7-f9aa-41f0-b90b-cdd3e61e63bd"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cc99e7d7-f9aa-41f0-b90b-cdd3e61e63bd":{"name":"Image","tags":[],"enabled":true,"resource_id":"cc99e7d7-f9aa-41f0-b90b-cdd3e61e63bd","parent":"1c3aa136-ac1a-4297-af03-16bc6583dd9e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a662331-a65b-4417-8994-a7c89c86cf23":{"name":"Text","tags":[],"enabled":true,"resource_id":"1a662331-a65b-4417-8994-a7c89c86cf23","parent":"f6d6b1a6-6fe8-422b-931f-6c5b45c86871","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e3a941a6-9f46-4f00-871a-6017fc88ebce":{"name":"Image","tags":[],"enabled":true,"resource_id":"e3a941a6-9f46-4f00-871a-6017fc88ebce","parent":"5d37a6de-7fb7-44f1-8064-9758d1bc314e","children":["ce49bc94-dab5-4ae6-a531-22f7991a3d9d"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ce49bc94-dab5-4ae6-a531-22f7991a3d9d":{"name":"Image","tags":[],"enabled":true,"resource_id":"ce49bc94-dab5-4ae6-a531-22f7991a3d9d","parent":"e3a941a6-9f46-4f00-871a-6017fc88ebce","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4db185f0-8d00-4c24-a442-ce1ce2f9d3c9":{"name":"Text","tags":[],"enabled":true,"resource_id":"4db185f0-8d00-4c24-a442-ce1ce2f9d3c9","parent":"5d37a6de-7fb7-44f1-8064-9758d1bc314e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1ecc3ede-2ff9-455e-abbc-bde80216f0b0":{"name":"Image","tags":[],"enabled":true,"resource_id":"1ecc3ede-2ff9-455e-abbc-bde80216f0b0","parent":"9bec918c-ad3b-4464-9d10-149ad0511dcd","children":["e117ba3b-944f-4049-9cd2-1cc18c6bc1f4"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e117ba3b-944f-4049-9cd2-1cc18c6bc1f4":{"name":"Image","tags":[],"enabled":true,"resource_id":"e117ba3b-944f-4049-9cd2-1cc18c6bc1f4","parent":"1ecc3ede-2ff9-455e-abbc-bde80216f0b0","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"35ea1adc-2bf9-4732-81b9-5e1d7dc5391c":{"name":"Text","tags":[],"enabled":true,"resource_id":"35ea1adc-2bf9-4732-81b9-5e1d7dc5391c","parent":"9bec918c-ad3b-4464-9d10-149ad0511dcd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392":{"name":"Image","tags":[],"enabled":true,"resource_id":"d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392","parent":"c592baf4-eadd-4e02-bed3-a322485085d1","children":["685b4911-8dce-4c07-a3f0-bc4fb675e287"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"685b4911-8dce-4c07-a3f0-bc4fb675e287":{"name":"Image","tags":[],"enabled":true,"resource_id":"685b4911-8dce-4c07-a3f0-bc4fb675e287","parent":"d5d8e9d6-7a37-46d0-ab8a-a4c5e73a8392","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"05730a1a-a23f-400a-9de7-42ffecf769db":{"name":"Text","tags":[],"enabled":true,"resource_id":"05730a1a-a23f-400a-9de7-42ffecf769db","parent":"c592baf4-eadd-4e02-bed3-a322485085d1","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5fdd78a3-222a-474c-8465-7530c753ef01":{"name":"Image","tags":[],"enabled":true,"resource_id":"5fdd78a3-222a-474c-8465-7530c753ef01","parent":"9ff28f64-f5d2-43ec-a311-de0b32ab87ff","children":["a47e7c89-9a54-4dc7-8c71-134c6da6fd11"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a47e7c89-9a54-4dc7-8c71-134c6da6fd11":{"name":"Image","tags":[],"enabled":true,"resource_id":"a47e7c89-9a54-4dc7-8c71-134c6da6fd11","parent":"5fdd78a3-222a-474c-8465-7530c753ef01","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"965a1c86-cc56-42f6-a012-33698a5c5353":{"name":"Text","tags":[],"enabled":true,"resource_id":"965a1c86-cc56-42f6-a012-33698a5c5353","parent":"9ff28f64-f5d2-43ec-a311-de0b32ab87ff","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8b5a2b34-14e8-4754-aae0-40bef729c7b3":{"name":"Image","tags":[],"enabled":true,"resource_id":"8b5a2b34-14e8-4754-aae0-40bef729c7b3","parent":"37e63e77-73f2-46be-9369-f17f93c900ad","children":["1c419d71-30c9-4fed-b858-206005443f55"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c419d71-30c9-4fed-b858-206005443f55":{"name":"Image","tags":[],"enabled":true,"resource_id":"1c419d71-30c9-4fed-b858-206005443f55","parent":"8b5a2b34-14e8-4754-aae0-40bef729c7b3","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9dffb89f-2c59-4f10-bf5f-9ed9cd284c8f":{"name":"Text","tags":[],"enabled":true,"resource_id":"9dffb89f-2c59-4f10-bf5f-9ed9cd284c8f","parent":"37e63e77-73f2-46be-9369-f17f93c900ad","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d6b6ad0-e9aa-45e4-9251-09402d7e4092":{"name":"Image","tags":[],"enabled":true,"resource_id":"6d6b6ad0-e9aa-45e4-9251-09402d7e4092","parent":"1ce0d7a6-4d46-409b-b05c-ac415596d249","children":["581db11a-0265-4953-abc0-624913ad97ea"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"581db11a-0265-4953-abc0-624913ad97ea":{"name":"Image","tags":[],"enabled":true,"resource_id":"581db11a-0265-4953-abc0-624913ad97ea","parent":"6d6b6ad0-e9aa-45e4-9251-09402d7e4092","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a7f3b4f5-55b7-4505-b780-963e7fb3cca3":{"name":"Text","tags":[],"enabled":true,"resource_id":"a7f3b4f5-55b7-4505-b780-963e7fb3cca3","parent":"1ce0d7a6-4d46-409b-b05c-ac415596d249","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d":{"name":"Image","tags":[],"enabled":true,"resource_id":"d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d","parent":"cba0a37d-0d6d-430b-91b1-1f9983dec958","children":["44759df2-8b1f-4fa2-aca8-19d281496494"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"44759df2-8b1f-4fa2-aca8-19d281496494":{"name":"Image","tags":[],"enabled":true,"resource_id":"44759df2-8b1f-4fa2-aca8-19d281496494","parent":"d04acbe5-0ccc-4632-b41b-98dcc6d6eb5d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cc5c32ee-fdb6-43cf-ab0e-bca06a16d8a3":{"name":"Text","tags":[],"enabled":true,"resource_id":"cc5c32ee-fdb6-43cf-ab0e-bca06a16d8a3","parent":"cba0a37d-0d6d-430b-91b1-1f9983dec958","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2fd4fa90-6029-4770-9f64-36648ab04c94":{"name":"Image","tags":[],"enabled":true,"resource_id":"2fd4fa90-6029-4770-9f64-36648ab04c94","parent":"5dd92e8e-8d82-4638-b78c-16a715018fea","children":["1d83b191-e2b2-498e-b845-306368533bb5"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1d83b191-e2b2-498e-b845-306368533bb5":{"name":"Image","tags":[],"enabled":true,"resource_id":"1d83b191-e2b2-498e-b845-306368533bb5","parent":"2fd4fa90-6029-4770-9f64-36648ab04c94","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d4b6534c-2a0e-4089-85cc-ac0514737b34":{"name":"Text","tags":[],"enabled":true,"resource_id":"d4b6534c-2a0e-4089-85cc-ac0514737b34","parent":"5dd92e8e-8d82-4638-b78c-16a715018fea","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e021837b-dab4-4aa4-8140-cc1e520f8e02":{"name":"Image","tags":[],"enabled":true,"resource_id":"e021837b-dab4-4aa4-8140-cc1e520f8e02","parent":"dd3f53dd-814f-4e8e-9ade-191b0f97fe14","children":["8c68320d-28bc-4b65-b844-5f689f0bc92f"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8c68320d-28bc-4b65-b844-5f689f0bc92f":{"name":"Image","tags":[],"enabled":true,"resource_id":"8c68320d-28bc-4b65-b844-5f689f0bc92f","parent":"e021837b-dab4-4aa4-8140-cc1e520f8e02","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"572e04dd-9ecb-49de-aa1b-3003ee8f02dd":{"name":"Text","tags":[],"enabled":true,"resource_id":"572e04dd-9ecb-49de-aa1b-3003ee8f02dd","parent":"dd3f53dd-814f-4e8e-9ade-191b0f97fe14","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f5672567-cac9-4cc6-990a-f9ea454c5527":{"name":"Image","tags":[],"enabled":false,"resource_id":"f5672567-cac9-4cc6-990a-f9ea454c5527","parent":"2cb424c2-da70-4ccf-81af-198130c2cbc0","children":["071e83db-e82e-46be-b1a6-dad7a771759a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"071e83db-e82e-46be-b1a6-dad7a771759a":{"name":"Image","tags":[],"enabled":true,"resource_id":"071e83db-e82e-46be-b1a6-dad7a771759a","parent":"f5672567-cac9-4cc6-990a-f9ea454c5527","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4bf8fd48-2a91-4f0f-ac97-105d5fbcb39d":{"name":"Text","tags":[],"enabled":true,"resource_id":"4bf8fd48-2a91-4f0f-ac97-105d5fbcb39d","parent":"2cb424c2-da70-4ccf-81af-198130c2cbc0","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4c64e341-144c-4b74-bfec-3b790c82e229":{"name":"Image","tags":[],"enabled":true,"resource_id":"4c64e341-144c-4b74-bfec-3b790c82e229","parent":"7227c6e9-ab38-4aaf-b2a8-eb275c39a213","children":["485a9feb-92d8-444a-acc7-c7955d9a1d55"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"485a9feb-92d8-444a-acc7-c7955d9a1d55":{"name":"Image","tags":[],"enabled":true,"resource_id":"485a9feb-92d8-444a-acc7-c7955d9a1d55","parent":"4c64e341-144c-4b74-bfec-3b790c82e229","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"832cb289-174c-4a39-9e45-417f574aa7e0":{"name":"Text","tags":[],"enabled":true,"resource_id":"832cb289-174c-4a39-9e45-417f574aa7e0","parent":"7227c6e9-ab38-4aaf-b2a8-eb275c39a213","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9":{"name":"Image","tags":[],"enabled":true,"resource_id":"9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9","parent":"11a32b3a-bdeb-448a-ab79-b6e590acbc19","children":["c07263a8-5df8-41c0-b531-1432e0fd1747"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c07263a8-5df8-41c0-b531-1432e0fd1747":{"name":"Image","tags":[],"enabled":true,"resource_id":"c07263a8-5df8-41c0-b531-1432e0fd1747","parent":"9cb2c4e8-8b09-4d2a-9c21-f930d7d786c9","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0e3c14fc-5a48-41ab-9c00-3820227e2b53":{"name":"Text","tags":[],"enabled":true,"resource_id":"0e3c14fc-5a48-41ab-9c00-3820227e2b53","parent":"11a32b3a-bdeb-448a-ab79-b6e590acbc19","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0f41c4-ad20-4a15-903d-2e0670f5a4d7":{"name":"Image","tags":[],"enabled":true,"resource_id":"1b0f41c4-ad20-4a15-903d-2e0670f5a4d7","parent":"9ce043d8-fd3f-424f-9116-fc3a5d674461","children":["2683788b-7e5a-4c94-bed9-20fa1c61b44e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2683788b-7e5a-4c94-bed9-20fa1c61b44e":{"name":"Image","tags":[],"enabled":true,"resource_id":"2683788b-7e5a-4c94-bed9-20fa1c61b44e","parent":"1b0f41c4-ad20-4a15-903d-2e0670f5a4d7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7c362ef2-2b30-4d66-a2dc-be98930cf559":{"name":"Text","tags":[],"enabled":true,"resource_id":"7c362ef2-2b30-4d66-a2dc-be98930cf559","parent":"9ce043d8-fd3f-424f-9116-fc3a5d674461","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2cda52fb-5c0e-482d-8f16-8368d5924b4f":{"name":"Image","tags":[],"enabled":true,"resource_id":"2cda52fb-5c0e-482d-8f16-8368d5924b4f","parent":"19936a25-848e-4ff8-bb37-caed3ef39f05","children":["b0e67f74-5021-4a5d-b320-e9d576b5cad4"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b0e67f74-5021-4a5d-b320-e9d576b5cad4":{"name":"Image","tags":[],"enabled":true,"resource_id":"b0e67f74-5021-4a5d-b320-e9d576b5cad4","parent":"2cda52fb-5c0e-482d-8f16-8368d5924b4f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2a6f5782-65e5-4a08-a5cd-854cd757e073":{"name":"Text","tags":[],"enabled":true,"resource_id":"2a6f5782-65e5-4a08-a5cd-854cd757e073","parent":"19936a25-848e-4ff8-bb37-caed3ef39f05","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e6ecd6cc-3905-40b5-b545-fb6431e4e082":{"name":"Image","tags":[],"enabled":true,"resource_id":"e6ecd6cc-3905-40b5-b545-fb6431e4e082","parent":"2a378a40-d466-41de-9e98-481d374f0501","children":["098c1181-13f3-4f24-8685-9e470b9b95a7"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"098c1181-13f3-4f24-8685-9e470b9b95a7":{"name":"Image","tags":[],"enabled":true,"resource_id":"098c1181-13f3-4f24-8685-9e470b9b95a7","parent":"e6ecd6cc-3905-40b5-b545-fb6431e4e082","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c96b03c4-df9a-47cb-aaf1-9d4e4250de92":{"name":"Text","tags":[],"enabled":true,"resource_id":"c96b03c4-df9a-47cb-aaf1-9d4e4250de92","parent":"2a378a40-d466-41de-9e98-481d374f0501","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73":{"name":"Image","tags":[],"enabled":true,"resource_id":"42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73","parent":"36868463-8876-4ff4-80e6-2c920b442344","children":["0a8c48a2-2e16-46b9-b203-f072a3f947e2"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0a8c48a2-2e16-46b9-b203-f072a3f947e2":{"name":"Image","tags":[],"enabled":true,"resource_id":"0a8c48a2-2e16-46b9-b203-f072a3f947e2","parent":"42ba994e-c5e6-4ffb-aa30-0bdf3a3eec73","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"634d725a-2430-49eb-9956-b5db5884688c":{"name":"Text","tags":[],"enabled":true,"resource_id":"634d725a-2430-49eb-9956-b5db5884688c","parent":"36868463-8876-4ff4-80e6-2c920b442344","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5eaa975a-a305-4af2-975b-9558173da304":{"name":"Image","tags":[],"enabled":true,"resource_id":"5eaa975a-a305-4af2-975b-9558173da304","parent":"e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223","children":["6ae781c6-4aae-4a9f-9a54-8edd48ff5c68"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6ae781c6-4aae-4a9f-9a54-8edd48ff5c68":{"name":"Image","tags":[],"enabled":true,"resource_id":"6ae781c6-4aae-4a9f-9a54-8edd48ff5c68","parent":"5eaa975a-a305-4af2-975b-9558173da304","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cb72b1f6-d793-4a6f-a267-a81b970514d6":{"name":"Text","tags":[],"enabled":true,"resource_id":"cb72b1f6-d793-4a6f-a267-a81b970514d6","parent":"e62ff259-4a2e-40d6-b3d3-4d0e9cdd7223","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ba0bc4e7-299e-4a04-8610-360e59e9515d":{"name":"Image","tags":[],"enabled":true,"resource_id":"ba0bc4e7-299e-4a04-8610-360e59e9515d","parent":"1b7c7e06-7f87-4ad2-ae9d-7aa92d239823","children":["fbd59d44-9143-4dd3-91db-3578e7d30879"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fbd59d44-9143-4dd3-91db-3578e7d30879":{"name":"Image","tags":[],"enabled":true,"resource_id":"fbd59d44-9143-4dd3-91db-3578e7d30879","parent":"ba0bc4e7-299e-4a04-8610-360e59e9515d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"af6aff95-aa8b-4c08-b456-5fd51ae62a15":{"name":"Text","tags":[],"enabled":true,"resource_id":"af6aff95-aa8b-4c08-b456-5fd51ae62a15","parent":"1b7c7e06-7f87-4ad2-ae9d-7aa92d239823","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8fe26ed4-2b39-4699-a1f5-22b078e571b0":{"name":"Image","tags":[],"enabled":true,"resource_id":"8fe26ed4-2b39-4699-a1f5-22b078e571b0","parent":"3514dd8e-a0d6-49ca-87c0-f149d02b90e2","children":["72302b46-0040-40b4-aa2e-17e335eb5320"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"72302b46-0040-40b4-aa2e-17e335eb5320":{"name":"Image","tags":[],"enabled":true,"resource_id":"72302b46-0040-40b4-aa2e-17e335eb5320","parent":"8fe26ed4-2b39-4699-a1f5-22b078e571b0","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0b2eeb45-3393-423e-bcbd-a0ca6cd69706":{"name":"Text","tags":[],"enabled":true,"resource_id":"0b2eeb45-3393-423e-bcbd-a0ca6cd69706","parent":"3514dd8e-a0d6-49ca-87c0-f149d02b90e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c493ca8c-1751-4112-8441-b6d22b26c49a":{"name":"Button","tags":[],"enabled":true,"resource_id":"c493ca8c-1751-4112-8441-b6d22b26c49a","parent":"ea8b0b20-a3fa-4e2d-9b2b-d7324bd1fc0b","children":["3c216d82-a89d-41ea-9883-8c261e08acc2","5d4d2254-2aa0-474e-bd73-7e03ee441491"],"position":[425,70,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"c493ca8c-1751-4112-8441-b6d22b26c49a","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[375,20,-475,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"3c216d82-a89d-41ea-9883-8c261e08acc2","top":"5d4d2254-2aa0-474e-bd73-7e03ee441491","win":"b4a3ca13-7c62-457d-a778-743f2f04ecc2","numberText":"dabc27ff-52db-4d20-a443-b6c8efd3fb9c"}}}}},"template_id":156355247,"template_ent_ids":{"c493ca8c-1751-4112-8441-b6d22b26c49a":"2b9168ad-c86e-439b-9532-efee826e0049","3c216d82-a89d-41ea-9883-8c261e08acc2":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","5d4d2254-2aa0-474e-bd73-7e03ee441491":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","b4a3ca13-7c62-457d-a778-743f2f04ecc2":"f94ee684-9706-4dc1-bca7-bb943686be91","ada68c91-1cf2-4b1c-ac20-8a90b9bd1bd7":"474a4999-d5ff-4e2f-a15f-c1749c823351","dabc27ff-52db-4d20-a443-b6c8efd3fb9c":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"3c216d82-a89d-41ea-9883-8c261e08acc2":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"3c216d82-a89d-41ea-9883-8c261e08acc2","parent":"c493ca8c-1751-4112-8441-b6d22b26c49a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d4d2254-2aa0-474e-bd73-7e03ee441491":{"name":"Top","tags":[],"enabled":true,"resource_id":"5d4d2254-2aa0-474e-bd73-7e03ee441491","parent":"c493ca8c-1751-4112-8441-b6d22b26c49a","children":["b4a3ca13-7c62-457d-a778-743f2f04ecc2","dabc27ff-52db-4d20-a443-b6c8efd3fb9c"],"position":[-0.00000286102294921875,-10,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.0784313725490196,0.0784313725490196,0.0784313725490196],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-75,-65,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b4a3ca13-7c62-457d-a778-743f2f04ecc2":{"name":"Image","tags":[],"enabled":true,"resource_id":"b4a3ca13-7c62-457d-a778-743f2f04ecc2","parent":"5d4d2254-2aa0-474e-bd73-7e03ee441491","children":["ada68c91-1cf2-4b1c-ac20-8a90b9bd1bd7"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ada68c91-1cf2-4b1c-ac20-8a90b9bd1bd7":{"name":"Image","tags":[],"enabled":true,"resource_id":"ada68c91-1cf2-4b1c-ac20-8a90b9bd1bd7","parent":"b4a3ca13-7c62-457d-a778-743f2f04ecc2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"dabc27ff-52db-4d20-a443-b6c8efd3fb9c":{"name":"Text","tags":[],"enabled":true,"resource_id":"dabc27ff-52db-4d20-a443-b6c8efd3fb9c","parent":"5d4d2254-2aa0-474e-bd73-7e03ee441491","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0b9abe23-eecc-4f67-934b-0edcaead7d73":{"name":"Button","tags":[],"enabled":true,"resource_id":"0b9abe23-eecc-4f67-934b-0edcaead7d73","parent":"0f2528fd-25a5-4d8c-b74f-606b8cf8a484","children":["7edd867c-ddc4-4bf4-b307-551d13de1c8f","7495d214-fbc9-4c44-b0c8-bb9a3e7399db"],"position":[425,70,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0b9abe23-eecc-4f67-934b-0edcaead7d73","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[375,20,-475,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"7edd867c-ddc4-4bf4-b307-551d13de1c8f","top":"7495d214-fbc9-4c44-b0c8-bb9a3e7399db","win":"e8ffceb7-68b4-4568-b907-9bf8481c4c15","numberText":"9b55c4bd-6144-4222-ac7a-f438942d2860"}}}}},"template_id":156355247,"template_ent_ids":{"0b9abe23-eecc-4f67-934b-0edcaead7d73":"2b9168ad-c86e-439b-9532-efee826e0049","7edd867c-ddc4-4bf4-b307-551d13de1c8f":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","7495d214-fbc9-4c44-b0c8-bb9a3e7399db":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","e8ffceb7-68b4-4568-b907-9bf8481c4c15":"f94ee684-9706-4dc1-bca7-bb943686be91","2a9bf4bf-c039-4619-a75b-582f08d6f340":"474a4999-d5ff-4e2f-a15f-c1749c823351","9b55c4bd-6144-4222-ac7a-f438942d2860":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"7edd867c-ddc4-4bf4-b307-551d13de1c8f":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"7edd867c-ddc4-4bf4-b307-551d13de1c8f","parent":"0b9abe23-eecc-4f67-934b-0edcaead7d73","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7495d214-fbc9-4c44-b0c8-bb9a3e7399db":{"name":"Top","tags":[],"enabled":true,"resource_id":"7495d214-fbc9-4c44-b0c8-bb9a3e7399db","parent":"0b9abe23-eecc-4f67-934b-0edcaead7d73","children":["e8ffceb7-68b4-4568-b907-9bf8481c4c15","9b55c4bd-6144-4222-ac7a-f438942d2860"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e8ffceb7-68b4-4568-b907-9bf8481c4c15":{"name":"Image","tags":[],"enabled":true,"resource_id":"e8ffceb7-68b4-4568-b907-9bf8481c4c15","parent":"7495d214-fbc9-4c44-b0c8-bb9a3e7399db","children":["2a9bf4bf-c039-4619-a75b-582f08d6f340"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2a9bf4bf-c039-4619-a75b-582f08d6f340":{"name":"Image","tags":[],"enabled":true,"resource_id":"2a9bf4bf-c039-4619-a75b-582f08d6f340","parent":"e8ffceb7-68b4-4568-b907-9bf8481c4c15","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9b55c4bd-6144-4222-ac7a-f438942d2860":{"name":"Text","tags":[],"enabled":true,"resource_id":"9b55c4bd-6144-4222-ac7a-f438942d2860","parent":"7495d214-fbc9-4c44-b0c8-bb9a3e7399db","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a54c4571-f028-4d10-9933-fad748bd55fb":{"name":"Button","tags":[],"enabled":true,"resource_id":"a54c4571-f028-4d10-9933-fad748bd55fb","parent":"255c3b50-70cf-445a-8cd5-d54625a1fb85","children":["04e72e5c-ccc3-4d54-a586-da0580d92637","bc1d8104-fa3d-4299-8551-5d51f8643e72"],"position":[425,70,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"a54c4571-f028-4d10-9933-fad748bd55fb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[375,20,-475,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"04e72e5c-ccc3-4d54-a586-da0580d92637","top":"bc1d8104-fa3d-4299-8551-5d51f8643e72","win":"63005b19-5402-45a1-9bc9-d095bc57799b","numberText":"8a565bac-2da1-460a-8676-7c2d422e3805"}}}}},"template_id":156355247,"template_ent_ids":{"a54c4571-f028-4d10-9933-fad748bd55fb":"2b9168ad-c86e-439b-9532-efee826e0049","04e72e5c-ccc3-4d54-a586-da0580d92637":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","bc1d8104-fa3d-4299-8551-5d51f8643e72":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","63005b19-5402-45a1-9bc9-d095bc57799b":"f94ee684-9706-4dc1-bca7-bb943686be91","cf28ca63-29c6-4862-ae0b-3718add38d1f":"474a4999-d5ff-4e2f-a15f-c1749c823351","8a565bac-2da1-460a-8676-7c2d422e3805":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"04e72e5c-ccc3-4d54-a586-da0580d92637":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"04e72e5c-ccc3-4d54-a586-da0580d92637","parent":"a54c4571-f028-4d10-9933-fad748bd55fb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bc1d8104-fa3d-4299-8551-5d51f8643e72":{"name":"Top","tags":[],"enabled":true,"resource_id":"bc1d8104-fa3d-4299-8551-5d51f8643e72","parent":"a54c4571-f028-4d10-9933-fad748bd55fb","children":["63005b19-5402-45a1-9bc9-d095bc57799b","8a565bac-2da1-460a-8676-7c2d422e3805"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"63005b19-5402-45a1-9bc9-d095bc57799b":{"name":"Image","tags":[],"enabled":true,"resource_id":"63005b19-5402-45a1-9bc9-d095bc57799b","parent":"bc1d8104-fa3d-4299-8551-5d51f8643e72","children":["cf28ca63-29c6-4862-ae0b-3718add38d1f"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf28ca63-29c6-4862-ae0b-3718add38d1f":{"name":"Image","tags":[],"enabled":true,"resource_id":"cf28ca63-29c6-4862-ae0b-3718add38d1f","parent":"63005b19-5402-45a1-9bc9-d095bc57799b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8a565bac-2da1-460a-8676-7c2d422e3805":{"name":"Text","tags":[],"enabled":true,"resource_id":"8a565bac-2da1-460a-8676-7c2d422e3805","parent":"bc1d8104-fa3d-4299-8551-5d51f8643e72","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"42327c58-c5ab-4206-91ad-366c81963f7f":{"name":"Button","tags":[],"enabled":true,"resource_id":"42327c58-c5ab-4206-91ad-366c81963f7f","parent":"0b81492c-c985-4558-9faa-14b133645fbc","children":["af940a8d-6794-4d84-be16-437283211c01","388fe623-a419-4d16-adc0-7f9df41ccaa8"],"position":[425,70,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"42327c58-c5ab-4206-91ad-366c81963f7f","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[375,20,-475,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"af940a8d-6794-4d84-be16-437283211c01","top":"388fe623-a419-4d16-adc0-7f9df41ccaa8","win":"dd853090-8c25-4ee0-b348-09719e699085","numberText":"33a425b0-8165-459c-8f75-fb090d77d4e2"}}}}},"template_id":156355247,"template_ent_ids":{"42327c58-c5ab-4206-91ad-366c81963f7f":"2b9168ad-c86e-439b-9532-efee826e0049","af940a8d-6794-4d84-be16-437283211c01":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","388fe623-a419-4d16-adc0-7f9df41ccaa8":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","dd853090-8c25-4ee0-b348-09719e699085":"f94ee684-9706-4dc1-bca7-bb943686be91","0133b095-5e52-4515-a2fc-34fda4a2b434":"474a4999-d5ff-4e2f-a15f-c1749c823351","33a425b0-8165-459c-8f75-fb090d77d4e2":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"af940a8d-6794-4d84-be16-437283211c01":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"af940a8d-6794-4d84-be16-437283211c01","parent":"42327c58-c5ab-4206-91ad-366c81963f7f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"388fe623-a419-4d16-adc0-7f9df41ccaa8":{"name":"Top","tags":[],"enabled":true,"resource_id":"388fe623-a419-4d16-adc0-7f9df41ccaa8","parent":"42327c58-c5ab-4206-91ad-366c81963f7f","children":["dd853090-8c25-4ee0-b348-09719e699085","33a425b0-8165-459c-8f75-fb090d77d4e2"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"dd853090-8c25-4ee0-b348-09719e699085":{"name":"Image","tags":[],"enabled":true,"resource_id":"dd853090-8c25-4ee0-b348-09719e699085","parent":"388fe623-a419-4d16-adc0-7f9df41ccaa8","children":["0133b095-5e52-4515-a2fc-34fda4a2b434"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0133b095-5e52-4515-a2fc-34fda4a2b434":{"name":"Image","tags":[],"enabled":true,"resource_id":"0133b095-5e52-4515-a2fc-34fda4a2b434","parent":"dd853090-8c25-4ee0-b348-09719e699085","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"33a425b0-8165-459c-8f75-fb090d77d4e2":{"name":"Text","tags":[],"enabled":true,"resource_id":"33a425b0-8165-459c-8f75-fb090d77d4e2","parent":"388fe623-a419-4d16-adc0-7f9df41ccaa8","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"dfeaab80-7b23-4d70-8ad7-700332b28f4a":{"name":"Group","tags":[],"enabled":true,"resource_id":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["f9468792-a870-492c-98d5-df4d1c6bae9d","180bba1a-e16a-442b-9ea8-6620260301a8","a44272a5-7600-4229-af03-e5c4194e5aa7","03dceaa8-e791-4df3-ad55-9edd0397b216","3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4","7ef6538a-b129-48c6-9626-6aa774234a74"],"position":[50,-640,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-700,-100,580],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"f9468792-a870-492c-98d5-df4d1c6bae9d":{"name":"Button","tags":[],"enabled":true,"resource_id":"f9468792-a870-492c-98d5-df4d1c6bae9d","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["6c0c7007-246b-4ed3-9ff8-54f7e3bb4a89","c635c00f-e143-43a0-8ef8-84123de3148b"],"position":[50,100,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f9468792-a870-492c-98d5-df4d1c6bae9d","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":15,"bottom":"6c0c7007-246b-4ed3-9ff8-54f7e3bb4a89","top":"c635c00f-e143-43a0-8ef8-84123de3148b","win":"1b1b7ff9-8a98-492c-b5fc-07cc297d51ef","numberText":"7cbf70b3-da1a-49ab-a6ca-afe3dee7588c"}}}}},"template_id":156355247,"template_ent_ids":{"f9468792-a870-492c-98d5-df4d1c6bae9d":"2b9168ad-c86e-439b-9532-efee826e0049","6c0c7007-246b-4ed3-9ff8-54f7e3bb4a89":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","c635c00f-e143-43a0-8ef8-84123de3148b":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","1b1b7ff9-8a98-492c-b5fc-07cc297d51ef":"f94ee684-9706-4dc1-bca7-bb943686be91","d91af13e-0d4b-4af6-a806-f742d7277df9":"474a4999-d5ff-4e2f-a15f-c1749c823351","7cbf70b3-da1a-49ab-a6ca-afe3dee7588c":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"6c0c7007-246b-4ed3-9ff8-54f7e3bb4a89":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6c0c7007-246b-4ed3-9ff8-54f7e3bb4a89","parent":"f9468792-a870-492c-98d5-df4d1c6bae9d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c635c00f-e143-43a0-8ef8-84123de3148b":{"name":"Top","tags":[],"enabled":true,"resource_id":"c635c00f-e143-43a0-8ef8-84123de3148b","parent":"f9468792-a870-492c-98d5-df4d1c6bae9d","children":["1b1b7ff9-8a98-492c-b5fc-07cc297d51ef","7cbf70b3-da1a-49ab-a6ca-afe3dee7588c"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b1b7ff9-8a98-492c-b5fc-07cc297d51ef":{"name":"Image","tags":[],"enabled":true,"resource_id":"1b1b7ff9-8a98-492c-b5fc-07cc297d51ef","parent":"c635c00f-e143-43a0-8ef8-84123de3148b","children":["d91af13e-0d4b-4af6-a806-f742d7277df9"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d91af13e-0d4b-4af6-a806-f742d7277df9":{"name":"Image","tags":[],"enabled":true,"resource_id":"d91af13e-0d4b-4af6-a806-f742d7277df9","parent":"1b1b7ff9-8a98-492c-b5fc-07cc297d51ef","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7cbf70b3-da1a-49ab-a6ca-afe3dee7588c":{"name":"Text","tags":[],"enabled":true,"resource_id":"7cbf70b3-da1a-49ab-a6ca-afe3dee7588c","parent":"c635c00f-e143-43a0-8ef8-84123de3148b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"180bba1a-e16a-442b-9ea8-6620260301a8":{"name":"Button","tags":[],"enabled":true,"resource_id":"180bba1a-e16a-442b-9ea8-6620260301a8","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["6d213340-0de5-497a-9c2d-e81d2461906c","cbe08312-5459-4308-af65-9973da997b1f"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"180bba1a-e16a-442b-9ea8-6620260301a8","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":16,"bottom":"6d213340-0de5-497a-9c2d-e81d2461906c","top":"cbe08312-5459-4308-af65-9973da997b1f","win":"0da80302-fc0d-4798-ac3c-3b7cdf98f313","numberText":"b8273723-c690-4e19-b50d-6ed897d08b66"}}}}},"template_id":156355247,"template_ent_ids":{"180bba1a-e16a-442b-9ea8-6620260301a8":"2b9168ad-c86e-439b-9532-efee826e0049","6d213340-0de5-497a-9c2d-e81d2461906c":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","cbe08312-5459-4308-af65-9973da997b1f":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","0da80302-fc0d-4798-ac3c-3b7cdf98f313":"f94ee684-9706-4dc1-bca7-bb943686be91","f74e0416-7061-4343-a2c0-e2b3ec115264":"474a4999-d5ff-4e2f-a15f-c1749c823351","b8273723-c690-4e19-b50d-6ed897d08b66":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"6d213340-0de5-497a-9c2d-e81d2461906c":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6d213340-0de5-497a-9c2d-e81d2461906c","parent":"180bba1a-e16a-442b-9ea8-6620260301a8","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cbe08312-5459-4308-af65-9973da997b1f":{"name":"Top","tags":[],"enabled":true,"resource_id":"cbe08312-5459-4308-af65-9973da997b1f","parent":"180bba1a-e16a-442b-9ea8-6620260301a8","children":["0da80302-fc0d-4798-ac3c-3b7cdf98f313","b8273723-c690-4e19-b50d-6ed897d08b66"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0da80302-fc0d-4798-ac3c-3b7cdf98f313":{"name":"Image","tags":[],"enabled":true,"resource_id":"0da80302-fc0d-4798-ac3c-3b7cdf98f313","parent":"cbe08312-5459-4308-af65-9973da997b1f","children":["f74e0416-7061-4343-a2c0-e2b3ec115264"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f74e0416-7061-4343-a2c0-e2b3ec115264":{"name":"Image","tags":[],"enabled":true,"resource_id":"f74e0416-7061-4343-a2c0-e2b3ec115264","parent":"0da80302-fc0d-4798-ac3c-3b7cdf98f313","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b8273723-c690-4e19-b50d-6ed897d08b66":{"name":"Text","tags":[],"enabled":true,"resource_id":"b8273723-c690-4e19-b50d-6ed897d08b66","parent":"cbe08312-5459-4308-af65-9973da997b1f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a44272a5-7600-4229-af03-e5c4194e5aa7":{"name":"Button","tags":[],"enabled":true,"resource_id":"a44272a5-7600-4229-af03-e5c4194e5aa7","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["36175cd5-ac81-45eb-852e-dedc51af9d36","33c8bad8-966f-4c7e-bd69-e36a363018dd"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"a44272a5-7600-4229-af03-e5c4194e5aa7","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":17,"bottom":"36175cd5-ac81-45eb-852e-dedc51af9d36","top":"33c8bad8-966f-4c7e-bd69-e36a363018dd","win":"29556c14-e738-4ade-adf1-c9c0db231771","numberText":"1c936922-b306-4e7e-a026-523fa2a1fb10"}}}}},"template_id":156355247,"template_ent_ids":{"a44272a5-7600-4229-af03-e5c4194e5aa7":"2b9168ad-c86e-439b-9532-efee826e0049","36175cd5-ac81-45eb-852e-dedc51af9d36":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","33c8bad8-966f-4c7e-bd69-e36a363018dd":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","29556c14-e738-4ade-adf1-c9c0db231771":"f94ee684-9706-4dc1-bca7-bb943686be91","6a3ad2b9-58eb-471b-a59b-b7f74e8b0b5a":"474a4999-d5ff-4e2f-a15f-c1749c823351","1c936922-b306-4e7e-a026-523fa2a1fb10":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"36175cd5-ac81-45eb-852e-dedc51af9d36":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"36175cd5-ac81-45eb-852e-dedc51af9d36","parent":"a44272a5-7600-4229-af03-e5c4194e5aa7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"33c8bad8-966f-4c7e-bd69-e36a363018dd":{"name":"Top","tags":[],"enabled":true,"resource_id":"33c8bad8-966f-4c7e-bd69-e36a363018dd","parent":"a44272a5-7600-4229-af03-e5c4194e5aa7","children":["29556c14-e738-4ade-adf1-c9c0db231771","1c936922-b306-4e7e-a026-523fa2a1fb10"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"29556c14-e738-4ade-adf1-c9c0db231771":{"name":"Image","tags":[],"enabled":true,"resource_id":"29556c14-e738-4ade-adf1-c9c0db231771","parent":"33c8bad8-966f-4c7e-bd69-e36a363018dd","children":["6a3ad2b9-58eb-471b-a59b-b7f74e8b0b5a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a3ad2b9-58eb-471b-a59b-b7f74e8b0b5a":{"name":"Image","tags":[],"enabled":true,"resource_id":"6a3ad2b9-58eb-471b-a59b-b7f74e8b0b5a","parent":"29556c14-e738-4ade-adf1-c9c0db231771","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c936922-b306-4e7e-a026-523fa2a1fb10":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c936922-b306-4e7e-a026-523fa2a1fb10","parent":"33c8bad8-966f-4c7e-bd69-e36a363018dd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"03dceaa8-e791-4df3-ad55-9edd0397b216":{"name":"Button","tags":[],"enabled":true,"resource_id":"03dceaa8-e791-4df3-ad55-9edd0397b216","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["2d0e0ed4-9b7a-4a9b-958e-532aa257ea08","41d15137-98da-430e-8195-6241292120a1"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"03dceaa8-e791-4df3-ad55-9edd0397b216","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":18,"bottom":"2d0e0ed4-9b7a-4a9b-958e-532aa257ea08","top":"41d15137-98da-430e-8195-6241292120a1","win":"2e91394e-d9ac-4562-bde3-a498ab6e885a","numberText":"8f2d1ddc-674f-401e-aab4-a023d93acfd0"}}}}},"template_id":156355247,"template_ent_ids":{"03dceaa8-e791-4df3-ad55-9edd0397b216":"2b9168ad-c86e-439b-9532-efee826e0049","2d0e0ed4-9b7a-4a9b-958e-532aa257ea08":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","41d15137-98da-430e-8195-6241292120a1":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","2e91394e-d9ac-4562-bde3-a498ab6e885a":"f94ee684-9706-4dc1-bca7-bb943686be91","f4a2997f-1a20-44d7-99c6-f6b4a5f3d1d3":"474a4999-d5ff-4e2f-a15f-c1749c823351","8f2d1ddc-674f-401e-aab4-a023d93acfd0":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"2d0e0ed4-9b7a-4a9b-958e-532aa257ea08":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"2d0e0ed4-9b7a-4a9b-958e-532aa257ea08","parent":"03dceaa8-e791-4df3-ad55-9edd0397b216","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"41d15137-98da-430e-8195-6241292120a1":{"name":"Top","tags":[],"enabled":true,"resource_id":"41d15137-98da-430e-8195-6241292120a1","parent":"03dceaa8-e791-4df3-ad55-9edd0397b216","children":["2e91394e-d9ac-4562-bde3-a498ab6e885a","8f2d1ddc-674f-401e-aab4-a023d93acfd0"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2e91394e-d9ac-4562-bde3-a498ab6e885a":{"name":"Image","tags":[],"enabled":true,"resource_id":"2e91394e-d9ac-4562-bde3-a498ab6e885a","parent":"41d15137-98da-430e-8195-6241292120a1","children":["f4a2997f-1a20-44d7-99c6-f6b4a5f3d1d3"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f4a2997f-1a20-44d7-99c6-f6b4a5f3d1d3":{"name":"Image","tags":[],"enabled":true,"resource_id":"f4a2997f-1a20-44d7-99c6-f6b4a5f3d1d3","parent":"2e91394e-d9ac-4562-bde3-a498ab6e885a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8f2d1ddc-674f-401e-aab4-a023d93acfd0":{"name":"Text","tags":[],"enabled":true,"resource_id":"8f2d1ddc-674f-401e-aab4-a023d93acfd0","parent":"41d15137-98da-430e-8195-6241292120a1","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4":{"name":"Button","tags":[],"enabled":true,"resource_id":"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["23934270-a613-4b80-b10a-b720f3cf6d7a","9d4eb96a-2444-41ca-8f34-7899946ef313"],"position":[715,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[640,0,-790,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":19,"bottom":"23934270-a613-4b80-b10a-b720f3cf6d7a","top":"9d4eb96a-2444-41ca-8f34-7899946ef313","win":"cc5eabda-a084-40ac-af04-499c6415c28e","numberText":"97f7b0d3-9920-484b-9c0c-a12bbc98508d"}}}}},"template_id":156355247,"template_ent_ids":{"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4":"2b9168ad-c86e-439b-9532-efee826e0049","23934270-a613-4b80-b10a-b720f3cf6d7a":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","9d4eb96a-2444-41ca-8f34-7899946ef313":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","cc5eabda-a084-40ac-af04-499c6415c28e":"f94ee684-9706-4dc1-bca7-bb943686be91","05dbbaed-18a6-4ed4-8172-82f7fdb6807e":"474a4999-d5ff-4e2f-a15f-c1749c823351","97f7b0d3-9920-484b-9c0c-a12bbc98508d":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"23934270-a613-4b80-b10a-b720f3cf6d7a":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"23934270-a613-4b80-b10a-b720f3cf6d7a","parent":"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9d4eb96a-2444-41ca-8f34-7899946ef313":{"name":"Top","tags":[],"enabled":true,"resource_id":"9d4eb96a-2444-41ca-8f34-7899946ef313","parent":"3c4ac5c2-58ac-4d3a-b8aa-cc07e241e2b4","children":["cc5eabda-a084-40ac-af04-499c6415c28e","97f7b0d3-9920-484b-9c0c-a12bbc98508d"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cc5eabda-a084-40ac-af04-499c6415c28e":{"name":"Image","tags":[],"enabled":true,"resource_id":"cc5eabda-a084-40ac-af04-499c6415c28e","parent":"9d4eb96a-2444-41ca-8f34-7899946ef313","children":["05dbbaed-18a6-4ed4-8172-82f7fdb6807e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"05dbbaed-18a6-4ed4-8172-82f7fdb6807e":{"name":"Image","tags":[],"enabled":true,"resource_id":"05dbbaed-18a6-4ed4-8172-82f7fdb6807e","parent":"cc5eabda-a084-40ac-af04-499c6415c28e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"97f7b0d3-9920-484b-9c0c-a12bbc98508d":{"name":"Text","tags":[],"enabled":true,"resource_id":"97f7b0d3-9920-484b-9c0c-a12bbc98508d","parent":"9d4eb96a-2444-41ca-8f34-7899946ef313","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7ef6538a-b129-48c6-9626-6aa774234a74":{"name":"Button","tags":[],"enabled":true,"resource_id":"7ef6538a-b129-48c6-9626-6aa774234a74","parent":"dfeaab80-7b23-4d70-8ad7-700332b28f4a","children":["9b8690ba-4a81-46b1-9fa6-190c818f15e0","b87fab46-5599-48bb-b082-2c584f07d057"],"position":[425,70,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"7ef6538a-b129-48c6-9626-6aa774234a74","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[375,20,-475,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":3,"bottom":"9b8690ba-4a81-46b1-9fa6-190c818f15e0","top":"b87fab46-5599-48bb-b082-2c584f07d057","win":"754574d6-15eb-40a1-a31d-c1c9bb53c4d2","numberText":"8a741f98-e97c-432c-a725-19dabb17d3a7"}}}}},"template_id":156355247,"template_ent_ids":{"7ef6538a-b129-48c6-9626-6aa774234a74":"2b9168ad-c86e-439b-9532-efee826e0049","9b8690ba-4a81-46b1-9fa6-190c818f15e0":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","b87fab46-5599-48bb-b082-2c584f07d057":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","754574d6-15eb-40a1-a31d-c1c9bb53c4d2":"f94ee684-9706-4dc1-bca7-bb943686be91","9ef7ad15-926a-46b0-9cdf-6cd57e7ac634":"474a4999-d5ff-4e2f-a15f-c1749c823351","8a741f98-e97c-432c-a725-19dabb17d3a7":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"9b8690ba-4a81-46b1-9fa6-190c818f15e0":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"9b8690ba-4a81-46b1-9fa6-190c818f15e0","parent":"7ef6538a-b129-48c6-9626-6aa774234a74","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b87fab46-5599-48bb-b082-2c584f07d057":{"name":"Top","tags":[],"enabled":true,"resource_id":"b87fab46-5599-48bb-b082-2c584f07d057","parent":"7ef6538a-b129-48c6-9626-6aa774234a74","children":["754574d6-15eb-40a1-a31d-c1c9bb53c4d2","8a741f98-e97c-432c-a725-19dabb17d3a7"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"754574d6-15eb-40a1-a31d-c1c9bb53c4d2":{"name":"Image","tags":[],"enabled":true,"resource_id":"754574d6-15eb-40a1-a31d-c1c9bb53c4d2","parent":"b87fab46-5599-48bb-b082-2c584f07d057","children":["9ef7ad15-926a-46b0-9cdf-6cd57e7ac634"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9ef7ad15-926a-46b0-9cdf-6cd57e7ac634":{"name":"Image","tags":[],"enabled":true,"resource_id":"9ef7ad15-926a-46b0-9cdf-6cd57e7ac634","parent":"754574d6-15eb-40a1-a31d-c1c9bb53c4d2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8a741f98-e97c-432c-a725-19dabb17d3a7":{"name":"Text","tags":[],"enabled":true,"resource_id":"8a741f98-e97c-432c-a725-19dabb17d3a7","parent":"b87fab46-5599-48bb-b082-2c584f07d057","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2e0a4330-1edb-4584-bb1d-0459e4d45884":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"2e0a4330-1edb-4584-bb1d-0459e4d45884","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,-16,-16,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d8fdcb3c-7e91-467f-9d37-deac44bb1780":{"name":"Image","tags":[],"enabled":true,"resource_id":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["da783934-28fc-4d8c-a03c-c23c231a31ba"],"position":[-156.5541042921678,5.180978775024414,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633139,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-478.054,-46.319,-164.946,-56.681],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"da783934-28fc-4d8c-a03c-c23c231a31ba":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"da783934-28fc-4d8c-a03c-c23c231a31ba","parent":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":156633189,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":65,"margin":[-48.413906864091445,-32.49997520446777,8.413906864091445,-32.50002479553223],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f5286247-662e-4692-b877-1758d446897b":{"name":"Edit","tags":[],"enabled":true,"resource_id":"f5286247-662e-4692-b877-1758d446897b","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["5fe9fe96-ddbd-4a67-a64c-358066d05e95"],"position":[330.0094451544421,3.8209915161132812,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f5286247-662e-4692-b877-1758d446897b","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156633140,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[175.009,-47.679,-485.009,-55.321],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5fe9fe96-ddbd-4a67-a64c-358066d05e95":{"name":"Image","tags":[],"enabled":true,"resource_id":"5fe9fe96-ddbd-4a67-a64c-358066d05e95","parent":"f5286247-662e-4692-b877-1758d446897b","children":[],"position":[-0.0000019073486328125,11.220285209681606,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156661776,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":60,"height":60,"margin":[-30,-18.78,-30,-41.22],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a3551267-eab4-49a7-a8f4-8c5b742e37be":{"name":"Group","tags":[],"enabled":true,"resource_id":"a3551267-eab4-49a7-a8f4-8c5b742e37be","parent":"f39bbaf1-d024-45fd-8060-05917a1fa871","children":["41180b72-a03b-4a62-b556-7c66e7154b6c","f199be8e-e6e3-471a-bb62-7ecfef9ef99f","882e1654-41ee-446c-836f-f506b449e619","762f1ca3-60d0-48be-8f19-665ef49df99c","3ba2d840-8a8f-4dee-9c74-ae88d65853fe","e49cbc9b-e6e0-482b-9f1f-f942fa562a23","4ddfb272-ad94-422c-bb68-e17a135126a3","5178cc3f-e1f4-40f5-9d9a-474a1ba67355","2c39f187-d190-4e72-b1cc-447a99a6c000","b8266ff9-ae5c-46c6-ab23-fc55f7329b17","f67e5406-a073-43db-9c14-6025456fccd7"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":960,"height":80,"margin":[-480,-40,-480,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[2,0],"widthFitting":1,"heightFitting":2,"wrap":false},"script":{"enabled":true,"order":["resultController"],"scripts":{"resultController":{"enabled":true,"attributes":{}}}}}},"41180b72-a03b-4a62-b556-7c66e7154b6c":{"name":"Image","tags":[],"enabled":true,"resource_id":"41180b72-a03b-4a62-b556-7c66e7154b6c","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["f45e39a8-d2ad-4993-97eb-fd7675e26e6c"],"position":[161.667,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[60,80,-100,-160],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"f45e39a8-d2ad-4993-97eb-fd7675e26e6c"}}}}},"template_id":156672335,"template_ent_ids":{"41180b72-a03b-4a62-b556-7c66e7154b6c":"ee0e1b31-6895-4c22-a753-34e023133713","f45e39a8-d2ad-4993-97eb-fd7675e26e6c":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"f45e39a8-d2ad-4993-97eb-fd7675e26e6c":{"name":"Text","tags":[],"enabled":true,"resource_id":"f45e39a8-d2ad-4993-97eb-fd7675e26e6c","parent":"41180b72-a03b-4a62-b556-7c66e7154b6c","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7b04b733-e542-4e26-ae30-e422406959f0":{"name":"Group","tags":[],"enabled":true,"resource_id":"7b04b733-e542-4e26-ae30-e422406959f0","parent":"73e916c5-752f-4d9e-8d54-ccf2f321686b","children":["b0946b4f-61e9-4b19-9125-4301f241092f","071a8d36-25a3-423f-b134-9b545e0fcda0","6acc796d-2b24-4932-a329-11412a371e56","b6b66cc5-2f47-4555-8377-4e001f2c8ade"],"position":[50,-785,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":120,"margin":[0,-845,-100,725],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[25,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"b0946b4f-61e9-4b19-9125-4301f241092f":{"name":"Button","tags":[],"enabled":true,"resource_id":"b0946b4f-61e9-4b19-9125-4301f241092f","parent":"7b04b733-e542-4e26-ae30-e422406959f0","children":["94d39820-4196-4344-b96c-420dc8b20391","86d0095f-09bb-4697-9704-9e42761dd16b"],"position":[75,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"b0946b4f-61e9-4b19-9125-4301f241092f","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[0,-5,-130,-125],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":20,"bottom":"94d39820-4196-4344-b96c-420dc8b20391","top":"86d0095f-09bb-4697-9704-9e42761dd16b","win":"bd386028-fb6e-4802-92d5-a2f6e5dbe08b","numberText":"38f514fc-9fc6-4e5b-804a-bc8eaf71a291"}}}}},"template_id":156355247,"template_ent_ids":{"b0946b4f-61e9-4b19-9125-4301f241092f":"2b9168ad-c86e-439b-9532-efee826e0049","94d39820-4196-4344-b96c-420dc8b20391":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","86d0095f-09bb-4697-9704-9e42761dd16b":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","bd386028-fb6e-4802-92d5-a2f6e5dbe08b":"f94ee684-9706-4dc1-bca7-bb943686be91","f4f23d4a-d28b-4c88-81d1-c05acba34615":"474a4999-d5ff-4e2f-a15f-c1749c823351","38f514fc-9fc6-4e5b-804a-bc8eaf71a291":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"94d39820-4196-4344-b96c-420dc8b20391":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"94d39820-4196-4344-b96c-420dc8b20391","parent":"b0946b4f-61e9-4b19-9125-4301f241092f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"86d0095f-09bb-4697-9704-9e42761dd16b":{"name":"Top","tags":[],"enabled":true,"resource_id":"86d0095f-09bb-4697-9704-9e42761dd16b","parent":"b0946b4f-61e9-4b19-9125-4301f241092f","children":["bd386028-fb6e-4802-92d5-a2f6e5dbe08b","38f514fc-9fc6-4e5b-804a-bc8eaf71a291"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bd386028-fb6e-4802-92d5-a2f6e5dbe08b":{"name":"Image","tags":[],"enabled":true,"resource_id":"bd386028-fb6e-4802-92d5-a2f6e5dbe08b","parent":"86d0095f-09bb-4697-9704-9e42761dd16b","children":["f4f23d4a-d28b-4c88-81d1-c05acba34615"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f4f23d4a-d28b-4c88-81d1-c05acba34615":{"name":"Image","tags":[],"enabled":true,"resource_id":"f4f23d4a-d28b-4c88-81d1-c05acba34615","parent":"bd386028-fb6e-4802-92d5-a2f6e5dbe08b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"38f514fc-9fc6-4e5b-804a-bc8eaf71a291":{"name":"Text","tags":[],"enabled":true,"resource_id":"38f514fc-9fc6-4e5b-804a-bc8eaf71a291","parent":"86d0095f-09bb-4697-9704-9e42761dd16b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"071a8d36-25a3-423f-b134-9b545e0fcda0":{"name":"Button","tags":[],"enabled":true,"resource_id":"071a8d36-25a3-423f-b134-9b545e0fcda0","parent":"7b04b733-e542-4e26-ae30-e422406959f0","children":["26d267cc-5fc4-4b58-a5b0-a60e9e8e1ade","34b31394-5bc0-4d71-951b-d6aebb393297"],"position":[235,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"071a8d36-25a3-423f-b134-9b545e0fcda0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[160,0,-310,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":21,"bottom":"26d267cc-5fc4-4b58-a5b0-a60e9e8e1ade","top":"34b31394-5bc0-4d71-951b-d6aebb393297","win":"44d903c2-322e-4332-9e3a-f3068a2f7e76","numberText":"d25e6823-dd49-4764-b819-4eb71e2543d8"}}}}},"template_id":156355247,"template_ent_ids":{"071a8d36-25a3-423f-b134-9b545e0fcda0":"2b9168ad-c86e-439b-9532-efee826e0049","26d267cc-5fc4-4b58-a5b0-a60e9e8e1ade":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","34b31394-5bc0-4d71-951b-d6aebb393297":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","44d903c2-322e-4332-9e3a-f3068a2f7e76":"f94ee684-9706-4dc1-bca7-bb943686be91","55e1dadb-1037-4b34-b0a8-d8aa1d956d69":"474a4999-d5ff-4e2f-a15f-c1749c823351","d25e6823-dd49-4764-b819-4eb71e2543d8":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"26d267cc-5fc4-4b58-a5b0-a60e9e8e1ade":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"26d267cc-5fc4-4b58-a5b0-a60e9e8e1ade","parent":"071a8d36-25a3-423f-b134-9b545e0fcda0","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"34b31394-5bc0-4d71-951b-d6aebb393297":{"name":"Top","tags":[],"enabled":true,"resource_id":"34b31394-5bc0-4d71-951b-d6aebb393297","parent":"071a8d36-25a3-423f-b134-9b545e0fcda0","children":["44d903c2-322e-4332-9e3a-f3068a2f7e76","d25e6823-dd49-4764-b819-4eb71e2543d8"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"44d903c2-322e-4332-9e3a-f3068a2f7e76":{"name":"Image","tags":[],"enabled":true,"resource_id":"44d903c2-322e-4332-9e3a-f3068a2f7e76","parent":"34b31394-5bc0-4d71-951b-d6aebb393297","children":["55e1dadb-1037-4b34-b0a8-d8aa1d956d69"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"55e1dadb-1037-4b34-b0a8-d8aa1d956d69":{"name":"Image","tags":[],"enabled":true,"resource_id":"55e1dadb-1037-4b34-b0a8-d8aa1d956d69","parent":"44d903c2-322e-4332-9e3a-f3068a2f7e76","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d25e6823-dd49-4764-b819-4eb71e2543d8":{"name":"Text","tags":[],"enabled":true,"resource_id":"d25e6823-dd49-4764-b819-4eb71e2543d8","parent":"34b31394-5bc0-4d71-951b-d6aebb393297","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6acc796d-2b24-4932-a329-11412a371e56":{"name":"Button","tags":[],"enabled":true,"resource_id":"6acc796d-2b24-4932-a329-11412a371e56","parent":"7b04b733-e542-4e26-ae30-e422406959f0","children":["e64dabea-f6b3-480d-8d66-b434a4dcdd1b","1ee4c94f-ae00-481b-88c5-418fc356a988"],"position":[395,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"6acc796d-2b24-4932-a329-11412a371e56","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[320,0,-470,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":22,"bottom":"e64dabea-f6b3-480d-8d66-b434a4dcdd1b","top":"1ee4c94f-ae00-481b-88c5-418fc356a988","win":"d919167d-b584-4183-95cf-6dcd83016c1e","numberText":"04a764dd-e1b6-432f-bad7-d1d399c5ac95"}}}}},"template_id":156355247,"template_ent_ids":{"6acc796d-2b24-4932-a329-11412a371e56":"2b9168ad-c86e-439b-9532-efee826e0049","e64dabea-f6b3-480d-8d66-b434a4dcdd1b":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","1ee4c94f-ae00-481b-88c5-418fc356a988":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","d919167d-b584-4183-95cf-6dcd83016c1e":"f94ee684-9706-4dc1-bca7-bb943686be91","36de4f8b-5156-46ab-bf98-1b710e6125d9":"474a4999-d5ff-4e2f-a15f-c1749c823351","04a764dd-e1b6-432f-bad7-d1d399c5ac95":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"e64dabea-f6b3-480d-8d66-b434a4dcdd1b":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"e64dabea-f6b3-480d-8d66-b434a4dcdd1b","parent":"6acc796d-2b24-4932-a329-11412a371e56","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1ee4c94f-ae00-481b-88c5-418fc356a988":{"name":"Top","tags":[],"enabled":true,"resource_id":"1ee4c94f-ae00-481b-88c5-418fc356a988","parent":"6acc796d-2b24-4932-a329-11412a371e56","children":["d919167d-b584-4183-95cf-6dcd83016c1e","04a764dd-e1b6-432f-bad7-d1d399c5ac95"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d919167d-b584-4183-95cf-6dcd83016c1e":{"name":"Image","tags":[],"enabled":true,"resource_id":"d919167d-b584-4183-95cf-6dcd83016c1e","parent":"1ee4c94f-ae00-481b-88c5-418fc356a988","children":["36de4f8b-5156-46ab-bf98-1b710e6125d9"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"36de4f8b-5156-46ab-bf98-1b710e6125d9":{"name":"Image","tags":[],"enabled":true,"resource_id":"36de4f8b-5156-46ab-bf98-1b710e6125d9","parent":"d919167d-b584-4183-95cf-6dcd83016c1e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"04a764dd-e1b6-432f-bad7-d1d399c5ac95":{"name":"Text","tags":[],"enabled":true,"resource_id":"04a764dd-e1b6-432f-bad7-d1d399c5ac95","parent":"1ee4c94f-ae00-481b-88c5-418fc356a988","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b6b66cc5-2f47-4555-8377-4e001f2c8ade":{"name":"Button","tags":[],"enabled":true,"resource_id":"b6b66cc5-2f47-4555-8377-4e001f2c8ade","parent":"7b04b733-e542-4e26-ae30-e422406959f0","children":["36601e12-fe57-4573-a7fd-37a62397d6d3","aead94a2-ed46-46f0-8ceb-8de129d00e79"],"position":[555,75,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"b6b66cc5-2f47-4555-8377-4e001f2c8ade","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[480,0,-630,-150],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":23,"bottom":"36601e12-fe57-4573-a7fd-37a62397d6d3","top":"aead94a2-ed46-46f0-8ceb-8de129d00e79","win":"e7e41727-cc55-4325-baa4-ee9d52c2e901","numberText":"540c6d42-e7a4-466b-9c97-6453bdbae4c6"}}}}},"template_id":156355247,"template_ent_ids":{"b6b66cc5-2f47-4555-8377-4e001f2c8ade":"2b9168ad-c86e-439b-9532-efee826e0049","36601e12-fe57-4573-a7fd-37a62397d6d3":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","aead94a2-ed46-46f0-8ceb-8de129d00e79":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","e7e41727-cc55-4325-baa4-ee9d52c2e901":"f94ee684-9706-4dc1-bca7-bb943686be91","ebf748a2-ae37-4474-9f99-89e9cf19ce97":"474a4999-d5ff-4e2f-a15f-c1749c823351","540c6d42-e7a4-466b-9c97-6453bdbae4c6":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"36601e12-fe57-4573-a7fd-37a62397d6d3":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"36601e12-fe57-4573-a7fd-37a62397d6d3","parent":"b6b66cc5-2f47-4555-8377-4e001f2c8ade","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aead94a2-ed46-46f0-8ceb-8de129d00e79":{"name":"Top","tags":[],"enabled":true,"resource_id":"aead94a2-ed46-46f0-8ceb-8de129d00e79","parent":"b6b66cc5-2f47-4555-8377-4e001f2c8ade","children":["e7e41727-cc55-4325-baa4-ee9d52c2e901","540c6d42-e7a4-466b-9c97-6453bdbae4c6"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e7e41727-cc55-4325-baa4-ee9d52c2e901":{"name":"Image","tags":[],"enabled":true,"resource_id":"e7e41727-cc55-4325-baa4-ee9d52c2e901","parent":"aead94a2-ed46-46f0-8ceb-8de129d00e79","children":["ebf748a2-ae37-4474-9f99-89e9cf19ce97"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ebf748a2-ae37-4474-9f99-89e9cf19ce97":{"name":"Image","tags":[],"enabled":true,"resource_id":"ebf748a2-ae37-4474-9f99-89e9cf19ce97","parent":"e7e41727-cc55-4325-baa4-ee9d52c2e901","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"540c6d42-e7a4-466b-9c97-6453bdbae4c6":{"name":"Text","tags":[],"enabled":true,"resource_id":"540c6d42-e7a4-466b-9c97-6453bdbae4c6","parent":"aead94a2-ed46-46f0-8ceb-8de129d00e79","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894":{"name":"Button","tags":[],"enabled":true,"resource_id":"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["99b68183-0911-48a7-908c-8f5cff0e9e62","11147ab7-fab6-4b61-b367-970546418295"],"position":[685,55,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[620,-10,-750,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":24,"bottom":"99b68183-0911-48a7-908c-8f5cff0e9e62","top":"11147ab7-fab6-4b61-b367-970546418295","win":"23213ca8-fe53-4afd-ab19-969b9f9dc338","numberText":"75c29f07-bc3b-4944-b7a2-51aabc09dda5"}}}}},"template_id":156355247,"template_ent_ids":{"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894":"2b9168ad-c86e-439b-9532-efee826e0049","99b68183-0911-48a7-908c-8f5cff0e9e62":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","11147ab7-fab6-4b61-b367-970546418295":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","23213ca8-fe53-4afd-ab19-969b9f9dc338":"f94ee684-9706-4dc1-bca7-bb943686be91","75faade0-0dc8-4239-b946-caa9bcc01947":"474a4999-d5ff-4e2f-a15f-c1749c823351","75c29f07-bc3b-4944-b7a2-51aabc09dda5":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"99b68183-0911-48a7-908c-8f5cff0e9e62":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"99b68183-0911-48a7-908c-8f5cff0e9e62","parent":"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"11147ab7-fab6-4b61-b367-970546418295":{"name":"Top","tags":[],"enabled":true,"resource_id":"11147ab7-fab6-4b61-b367-970546418295","parent":"4d9f8b0f-fe83-4a0c-a1f2-35b59e585894","children":["23213ca8-fe53-4afd-ab19-969b9f9dc338","75c29f07-bc3b-4944-b7a2-51aabc09dda5"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"23213ca8-fe53-4afd-ab19-969b9f9dc338":{"name":"Image","tags":[],"enabled":true,"resource_id":"23213ca8-fe53-4afd-ab19-969b9f9dc338","parent":"11147ab7-fab6-4b61-b367-970546418295","children":["75faade0-0dc8-4239-b946-caa9bcc01947"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"75faade0-0dc8-4239-b946-caa9bcc01947":{"name":"Image","tags":[],"enabled":true,"resource_id":"75faade0-0dc8-4239-b946-caa9bcc01947","parent":"23213ca8-fe53-4afd-ab19-969b9f9dc338","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"75c29f07-bc3b-4944-b7a2-51aabc09dda5":{"name":"Text","tags":[],"enabled":true,"resource_id":"75c29f07-bc3b-4944-b7a2-51aabc09dda5","parent":"11147ab7-fab6-4b61-b367-970546418295","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ff9d845e-1a66-4870-a2a2-f02576b633b1":{"name":"Button","tags":[],"enabled":true,"resource_id":"ff9d845e-1a66-4870-a2a2-f02576b633b1","parent":"174533d2-6006-40c8-bb72-7420ac034a46","children":["1cdebbce-540f-42c8-a574-c557ce2418b8","b996e4b8-fb31-42b3-a9f1-8272e878900f"],"position":[530,55,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ff9d845e-1a66-4870-a2a2-f02576b633b1","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[465,-10,-595,-120],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["boxButton"],"scripts":{"boxButton":{"enabled":true,"attributes":{"boxIndex":23,"bottom":"1cdebbce-540f-42c8-a574-c557ce2418b8","top":"b996e4b8-fb31-42b3-a9f1-8272e878900f","win":"879466d4-d957-4bd6-ae05-1121e01caab8","numberText":"c8621e7a-38d0-4df2-8a19-47be9d5a3b0b"}}}}},"template_id":156355247,"template_ent_ids":{"ff9d845e-1a66-4870-a2a2-f02576b633b1":"2b9168ad-c86e-439b-9532-efee826e0049","1cdebbce-540f-42c8-a574-c557ce2418b8":"31aeba0c-18ee-4b0c-9399-2f55b1b83d54","b996e4b8-fb31-42b3-a9f1-8272e878900f":"a545bb07-7bbd-4ce7-82de-ea6641269b0a","879466d4-d957-4bd6-ae05-1121e01caab8":"f94ee684-9706-4dc1-bca7-bb943686be91","68799176-a0b7-4529-924c-d49fe271daa1":"474a4999-d5ff-4e2f-a15f-c1749c823351","c8621e7a-38d0-4df2-8a19-47be9d5a3b0b":"e3b074b0-1647-4b12-9a30-e23dd5fdd7d6"}},"1cdebbce-540f-42c8-a574-c557ce2418b8":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"1cdebbce-540f-42c8-a574-c557ce2418b8","parent":"ff9d845e-1a66-4870-a2a2-f02576b633b1","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.19607843137254902,0.19607843137254902,0.19607843137254902],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-65,-65,-65],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b996e4b8-fb31-42b3-a9f1-8272e878900f":{"name":"Top","tags":[],"enabled":true,"resource_id":"b996e4b8-fb31-42b3-a9f1-8272e878900f","parent":"ff9d845e-1a66-4870-a2a2-f02576b633b1","children":["879466d4-d957-4bd6-ae05-1121e01caab8","c8621e7a-38d0-4df2-8a19-47be9d5a3b0b"],"position":[-0.00000286102294921875,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.44313725490196076,0.44313725490196076,0.44313725490196076],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":130,"height":130,"margin":[-65,-45,-65,-85],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"879466d4-d957-4bd6-ae05-1121e01caab8":{"name":"Image","tags":[],"enabled":true,"resource_id":"879466d4-d957-4bd6-ae05-1121e01caab8","parent":"b996e4b8-fb31-42b3-a9f1-8272e878900f","children":["68799176-a0b7-4529-924c-d49fe271daa1"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.25098039215686274,0.25098039215686274,0.25098039215686274],"opacity":1,"textureAsset":156355295,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":110,"height":110,"margin":[-55,-55,-55,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"68799176-a0b7-4529-924c-d49fe271daa1":{"name":"Image","tags":[],"enabled":true,"resource_id":"68799176-a0b7-4529-924c-d49fe271daa1","parent":"879466d4-d957-4bd6-ae05-1121e01caab8","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":156505056,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":100,"height":100,"margin":[-50,-50,-50,-50],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c8621e7a-38d0-4df2-8a19-47be9d5a3b0b":{"name":"Text","tags":[],"enabled":true,"resource_id":"c8621e7a-38d0-4df2-8a19-47be9d5a3b0b","parent":"b996e4b8-fb31-42b3-a9f1-8272e878900f","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1","key":null,"fontAsset":156355260,"fontSize":50,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":18.24,"height":36.043,"margin":[-9.12,-18.021,-9.12,-18.021],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.508,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f199be8e-e6e3-471a-bb62-7ecfef9ef99f":{"name":"Image","tags":[],"enabled":true,"resource_id":"f199be8e-e6e3-471a-bb62-7ecfef9ef99f","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["282b70bd-0524-4dc3-bf2e-bc115a2862df"],"position":[490,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[0,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"282b70bd-0524-4dc3-bf2e-bc115a2862df"}}}}},"template_id":156672335,"template_ent_ids":{"f199be8e-e6e3-471a-bb62-7ecfef9ef99f":"ee0e1b31-6895-4c22-a753-34e023133713","282b70bd-0524-4dc3-bf2e-bc115a2862df":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"282b70bd-0524-4dc3-bf2e-bc115a2862df":{"name":"Text","tags":[],"enabled":true,"resource_id":"282b70bd-0524-4dc3-bf2e-bc115a2862df","parent":"f199be8e-e6e3-471a-bb62-7ecfef9ef99f","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"882e1654-41ee-446c-836f-f506b449e619":{"name":"Image","tags":[],"enabled":false,"resource_id":"882e1654-41ee-446c-836f-f506b449e619","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["71412316-d429-44ec-b103-9ab93ee3a814"],"position":[490,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[0,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"71412316-d429-44ec-b103-9ab93ee3a814"}}}}},"template_id":156672335,"template_ent_ids":{"882e1654-41ee-446c-836f-f506b449e619":"ee0e1b31-6895-4c22-a753-34e023133713","71412316-d429-44ec-b103-9ab93ee3a814":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"71412316-d429-44ec-b103-9ab93ee3a814":{"name":"Text","tags":[],"enabled":true,"resource_id":"71412316-d429-44ec-b103-9ab93ee3a814","parent":"882e1654-41ee-446c-836f-f506b449e619","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"762f1ca3-60d0-48be-8f19-665ef49df99c":{"name":"Image","tags":[],"enabled":false,"resource_id":"762f1ca3-60d0-48be-8f19-665ef49df99c","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["cdaa09b9-6d38-41d8-97eb-88a41eebc1b5"],"position":[490,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[0,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"cdaa09b9-6d38-41d8-97eb-88a41eebc1b5"}}}}},"template_id":156672335,"template_ent_ids":{"762f1ca3-60d0-48be-8f19-665ef49df99c":"ee0e1b31-6895-4c22-a753-34e023133713","cdaa09b9-6d38-41d8-97eb-88a41eebc1b5":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"cdaa09b9-6d38-41d8-97eb-88a41eebc1b5":{"name":"Text","tags":[],"enabled":true,"resource_id":"cdaa09b9-6d38-41d8-97eb-88a41eebc1b5","parent":"762f1ca3-60d0-48be-8f19-665ef49df99c","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3ba2d840-8a8f-4dee-9c74-ae88d65853fe":{"name":"Image","tags":[],"enabled":false,"resource_id":"3ba2d840-8a8f-4dee-9c74-ae88d65853fe","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["16323ec0-f7c2-4c1a-99d7-a59d10de7082"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"16323ec0-f7c2-4c1a-99d7-a59d10de7082"}}}}},"template_id":156672335,"template_ent_ids":{"3ba2d840-8a8f-4dee-9c74-ae88d65853fe":"ee0e1b31-6895-4c22-a753-34e023133713","16323ec0-f7c2-4c1a-99d7-a59d10de7082":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"16323ec0-f7c2-4c1a-99d7-a59d10de7082":{"name":"Text","tags":[],"enabled":true,"resource_id":"16323ec0-f7c2-4c1a-99d7-a59d10de7082","parent":"3ba2d840-8a8f-4dee-9c74-ae88d65853fe","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e49cbc9b-e6e0-482b-9f1f-f942fa562a23":{"name":"Image","tags":[],"enabled":false,"resource_id":"e49cbc9b-e6e0-482b-9f1f-f942fa562a23","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["96831f50-10c3-440c-8f26-af07808ee4d9"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"96831f50-10c3-440c-8f26-af07808ee4d9"}}}}},"template_id":156672335,"template_ent_ids":{"e49cbc9b-e6e0-482b-9f1f-f942fa562a23":"ee0e1b31-6895-4c22-a753-34e023133713","96831f50-10c3-440c-8f26-af07808ee4d9":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"96831f50-10c3-440c-8f26-af07808ee4d9":{"name":"Text","tags":[],"enabled":true,"resource_id":"96831f50-10c3-440c-8f26-af07808ee4d9","parent":"e49cbc9b-e6e0-482b-9f1f-f942fa562a23","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4ddfb272-ad94-422c-bb68-e17a135126a3":{"name":"Image","tags":[],"enabled":false,"resource_id":"4ddfb272-ad94-422c-bb68-e17a135126a3","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["c147ac8e-dc15-4e9f-8afb-e0b86c984cc0"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"c147ac8e-dc15-4e9f-8afb-e0b86c984cc0"}}}}},"template_id":156672335,"template_ent_ids":{"4ddfb272-ad94-422c-bb68-e17a135126a3":"ee0e1b31-6895-4c22-a753-34e023133713","c147ac8e-dc15-4e9f-8afb-e0b86c984cc0":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"c147ac8e-dc15-4e9f-8afb-e0b86c984cc0":{"name":"Text","tags":[],"enabled":true,"resource_id":"c147ac8e-dc15-4e9f-8afb-e0b86c984cc0","parent":"4ddfb272-ad94-422c-bb68-e17a135126a3","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5178cc3f-e1f4-40f5-9d9a-474a1ba67355":{"name":"Image","tags":[],"enabled":false,"resource_id":"5178cc3f-e1f4-40f5-9d9a-474a1ba67355","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["4e00dc3a-8b94-4a5a-8b99-72ca3f0a3977"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"4e00dc3a-8b94-4a5a-8b99-72ca3f0a3977"}}}}},"template_id":156672335,"template_ent_ids":{"5178cc3f-e1f4-40f5-9d9a-474a1ba67355":"ee0e1b31-6895-4c22-a753-34e023133713","4e00dc3a-8b94-4a5a-8b99-72ca3f0a3977":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"4e00dc3a-8b94-4a5a-8b99-72ca3f0a3977":{"name":"Text","tags":[],"enabled":true,"resource_id":"4e00dc3a-8b94-4a5a-8b99-72ca3f0a3977","parent":"5178cc3f-e1f4-40f5-9d9a-474a1ba67355","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2c39f187-d190-4e72-b1cc-447a99a6c000":{"name":"Image","tags":[],"enabled":false,"resource_id":"2c39f187-d190-4e72-b1cc-447a99a6c000","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["5f80b04a-1552-4644-8fc8-eb9fc7f69c7a"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"5f80b04a-1552-4644-8fc8-eb9fc7f69c7a"}}}}},"template_id":156672335,"template_ent_ids":{"2c39f187-d190-4e72-b1cc-447a99a6c000":"ee0e1b31-6895-4c22-a753-34e023133713","5f80b04a-1552-4644-8fc8-eb9fc7f69c7a":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"5f80b04a-1552-4644-8fc8-eb9fc7f69c7a":{"name":"Text","tags":[],"enabled":true,"resource_id":"5f80b04a-1552-4644-8fc8-eb9fc7f69c7a","parent":"2c39f187-d190-4e72-b1cc-447a99a6c000","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b8266ff9-ae5c-46c6-ab23-fc55f7329b17":{"name":"Image","tags":[],"enabled":false,"resource_id":"b8266ff9-ae5c-46c6-ab23-fc55f7329b17","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["aef9e088-0f86-472d-840d-46884dabe782"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"aef9e088-0f86-472d-840d-46884dabe782"}}}}},"template_id":156672335,"template_ent_ids":{"b8266ff9-ae5c-46c6-ab23-fc55f7329b17":"ee0e1b31-6895-4c22-a753-34e023133713","aef9e088-0f86-472d-840d-46884dabe782":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"aef9e088-0f86-472d-840d-46884dabe782":{"name":"Text","tags":[],"enabled":true,"resource_id":"aef9e088-0f86-472d-840d-46884dabe782","parent":"b8266ff9-ae5c-46c6-ab23-fc55f7329b17","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f67e5406-a073-43db-9c14-6025456fccd7":{"name":"Image","tags":[],"enabled":false,"resource_id":"f67e5406-a073-43db-9c14-6025456fccd7","parent":"a3551267-eab4-49a7-a8f4-8c5b742e37be","children":["7618c456-4dc3-4c98-af80-8e9582ffdb6c"],"position":[858.25,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3764705882352941,1,0],"opacity":1,"textureAsset":156355270,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":191,"margin":[736.5,0,-980,-80],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["resultBox"],"scripts":{"resultBox":{"enabled":true,"attributes":{"numberText":"7618c456-4dc3-4c98-af80-8e9582ffdb6c"}}}}},"template_id":156672335,"template_ent_ids":{"f67e5406-a073-43db-9c14-6025456fccd7":"ee0e1b31-6895-4c22-a753-34e023133713","7618c456-4dc3-4c98-af80-8e9582ffdb6c":"634a9a79-143a-40b6-8481-9093122ff2c0"}},"7618c456-4dc3-4c98-af80-8e9582ffdb6c":{"name":"Text","tags":[],"enabled":true,"resource_id":"7618c456-4dc3-4c98-af80-8e9582ffdb6c","parent":"f67e5406-a073-43db-9c14-6025456fccd7","children":[],"position":[69.143,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"1,000x\n0","key":null,"fontAsset":156633189,"fontSize":28,"minFontSize":20,"maxFontSize":100,"autoFitWidth":true,"autoFitHeight":true,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":124.286,"height":66,"margin":[7,7,7,7],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f12a8378-056f-43b4-a83a-5fe3d7e7102a":{"name":"Image","tags":[],"enabled":true,"resource_id":"f12a8378-056f-43b4-a83a-5fe3d7e7102a","parent":"f39bbaf1-d024-45fd-8060-05917a1fa871","children":["2ca3e538-1296-4641-abb9-c32b1e35af45"],"position":[475,50,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":156355260,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2ca3e538-1296-4641-abb9-c32b1e35af45":{"name":"Text","tags":[],"enabled":true,"resource_id":"2ca3e538-1296-4641-abb9-c32b1e35af45","parent":"f12a8378-056f-43b4-a83a-5fe3d7e7102a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Select 1 - 10 numbers to play","key":null,"fontAsset":156633189,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":404,"height":26,"margin":[-202,-13,-202,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":1,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e":{"name":"Profit","tags":[],"enabled":true,"resource_id":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[-19.999998807907104,-140.3346080003128,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100","key":null,"fontAsset":156633189,"fontSize":150,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":150,"wrapLines":true,"spacing":1,"color":[1,0.8,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":202.5,"height":97.49999999999999,"margin":[-146.562,-201.272,-106.563,79.397],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}}},"checkpoint_id":"26068a61-6f4a-4cea-8d32-131e4d355408","id":1894621} \ No newline at end of file diff --git a/Keno/Keno/__game-scripts.js b/Keno/Keno/__game-scripts.js new file mode 100644 index 0000000..e7a53b8 --- /dev/null +++ b/Keno/Keno/__game-scripts.js @@ -0,0 +1 @@ +pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},onUpdate:function(t){return this.on("update",t),this},onComplete:function(t){return this.on("complete",t),this},onLoop:function(t){return this.on("loop",t),this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var o=this._repeat(i);return o?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),o}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var Background=pc.createScript("background");Background.attributes.add("startPosX",{type:"number",default:1}),Background.attributes.add("endPosX",{type:"number",default:1}),Background.attributes.add("durationTime",{type:"number",default:1}),Background.prototype.initialize=function(){this.entity.setLocalPosition(this.startPosX,0,0),this.tween=this.entity.tween(this.entity.getLocalPosition()).to(new pc.Vec3(this.endPosX,0,0),this.durationTime,pc.Linear).loop(!0).yoyo(!0),this.tween.start()};var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:Number(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0));a.text=`${n}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.startGame=function(e,t){if(e<0)return;if(t.length<1)return;let r=Array.from({length:40},((e,t)=>t+1)),n=shuffle(r).splice(0,10),s=findIntersection(t,n),o=winRate[t.length-1][s.length];this.userBalance=this.userBalance-e,this.betAmount=e;let l=o*e;return this.userBalance=this.userBalance+l,{balance:this.userBalance,betAmount:this.betAmount,profit:l,multiplier:o,winNumbers:n,userNumbers:t,matchResult:s}};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(n,o){return n=Math.ceil(n),o=Math.floor(o),Math.floor(Math.random()*(o-n))+n}function findIntersection(n,o){const e=new Set(n),t=new Set(o);let r=[];return r=[...e].filter((n=>t.has(n))),r}function generateRandomNumbersInRange(n,o,e,t){const r=[];for(;r.length0;t--)o=Math.floor(Math.random()*(t+1)),e=n[t],n[t]=n[o],n[o]=e;return n}function getTable(n,o){let e=[];for(let t=0;t{this.loadJsonFromRemote(n,(function(n){console.log(n);let o=JSON.stringify(n),s=JSON.parse(o);e(s)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.attributes.add("boxButton",{type:"entity",array:!0}),Middle.attributes.add("resultText",{type:"entity"}),Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null,this.buttons=[],this.entity.forEach((t=>{"Button"===t.name&&this.buttons.push(t)})),this.selectedIdx=-1};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();console.log(e),UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.update=function(e){},GameController.prototype.betStart=function(){BetController.instance.reset(),Middle.instance.setReady(),Bottom.instance.setBet()},GameController.prototype.startGame=function(e){Middle.instance.setStartGame(),Bottom.instance.setStartGame()},GameController.prototype.betGame=async function(e,t){let n=DummyServer.instance.startGame(e,t);console.log(n),ButtonController.instance.setFreeze(!0),UserBalance.instance.setBalance(UserBalance.instance.getUserBalance()-e),await delay(1e3);for(let e=0;e0,n.multiplier,n.profit),await delay(500),UserBalance.instance.setBalance(n.balance),Bottom.instance.resetMultiplierColor(),ButtonController.instance.setFreeze(!1)},GameController.prototype.setIdle=function(){};var Bottom=pc.createScript("bottom");Bottom.attributes.add("startButton",{type:"entity"}),Bottom.attributes.add("clearButton",{type:"entity"}),Bottom.attributes.add("randomButton",{type:"entity"}),Bottom.attributes.add("betEditButton",{type:"entity"}),Bottom.attributes.add("winResult",{type:"entity"}),Bottom.attributes.add("multiplier",{type:"entity"}),Bottom.attributes.add("profit",{type:"entity"}),Bottom.attributes.add("loseResult",{type:"entity"}),Bottom.attributes.add("betAmountText",{type:"entity"}),Bottom.attributes.add("betUi",{type:"entity"}),Bottom.prototype.initialize=function(){Bottom.instance=this,this.setButton(this.startButton,this.onClickStart),this.setButton(this.clearButton,this.onClickClear),this.setButton(this.randomButton,this.onClickRandom),this.setButton(this.betEditButton,this.onClickBetEdit),this.disableButton(!1),this.winEffectTimer=null,this.bellToggle=!1,this.betAmount=0,console.log(winRate)},Bottom.prototype.setButton=function(t,o){t.button.on("touchend",o,this),t.button.on("mouseup",o,this)},Bottom.prototype.onClickStart=async function(){AudioController.instance.playSound("Click"),0!==ButtonController.instance.userNumber.length&&(this.disableButton(!0),UserBalance.instance.userBalance{this.changeButtonState(this.startButton,!0),this.changeTexture(this.startButton,this.start_inactive)}),1e3)},Bottom.prototype.setBetAmount=function(t){this.betAmountText.element.text=`${t}`,this.betAmount=t},Bottom.prototype.resetMultiplierColor=function(){ResultController.instance.resetColor(),this.disableButton(!1)},Bottom.prototype.setResultGame=async function(t,o,e){t?(AudioController.instance.playSound("Win"),this.multiplier.element.text=`${o}x`,this.profit.element.text=`+${e}`):AudioController.instance.playSound("Lose"),this.winResult.enabled=t,this.loseResult.enabled=!t,await delay(1500),this.winResult.enabled=!1,this.loseResult.enabled=!1},Bottom.prototype.betAmountErr=function(){var t=new pc.Color(0,0,0),o=this.entity.tween(t).yoyo(!0).repeat(4).to(new pc.Color(1,0,0),.2,pc.Linear);o.onUpdate((o=>{this.betAmountText.element.color=t})),o.start()};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){!0!==this.isMute&&this.soundSource.sound.play(o)};var BetController=pc.createScript("betController");BetController.attributes.add("betUi",{type:"entity"}),BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betUi.enabled=!1,Bottom.instance.setBetAmount(this.betAmount)},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),this.betUi.enabled=!1},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"entity"}),SoundButton.attributes.add("offImg",{type:"entity"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,this.onImg.enabled=!1,this.offImg.enabled=!1,this.isMute?this.offImg.enabled=!0:this.onImg.enabled=!0,AudioController.instance.setMute(this.isMute)},SoundButton.prototype.setButton=function(t,n){t.element.on("touchend",n,this),t.element.on("mouseup",n,this)};var BoxButton=pc.createScript("boxButton");BoxButton.attributes.add("boxIndex",{type:"number"}),BoxButton.attributes.add("bottom",{type:"entity"}),BoxButton.attributes.add("top",{type:"entity"}),BoxButton.attributes.add("win",{type:"entity"}),BoxButton.attributes.add("numberText",{type:"entity"});const ButtonState={NON:"non",SELECTED:"sel",WIN:"win",LOSE:"lose",DISABLE:"disable"};BoxButton.prototype.initialize=function(){this.entity.button.on("mouseenter",this.onEnter,this),this.entity.button.on("mouseleave",this.onLeave,this),this.entity.button.on("mousedown",this.onPress,this),this.entity.button.on("mouseup",this.onRelease,this),this.entity.button.on("touchstart",this.onPress,this),this.entity.button.on("touchend",this.onRelease,this),this.setInit()},BoxButton.prototype.setInit=function(){this.isSelected=!1,this.win.enabled=!1,this.btnState=ButtonState.NON,this.entity.button.active=!0,this.top.setLocalPosition(0,10,0),this.bottom.element.color=rgbToColor(50,50,50,255),this.top.element.color=rgbToColor(110,110,110,255)},BoxButton.prototype.setButtonNumber=function(t){this.boxIndex=t,this.numberText.element.color=pc.Color.WHITE,this.numberText.element.text=`${t}`},BoxButton.prototype.onEnter=function(t){this.btnState!==ButtonState.WIN&&this.btnState!==ButtonState.LOSE&&this.btnState!==ButtonState.DISABLE&&(this.hovered=!0,this.top.setLocalPosition(0,15,0),this.btnState===ButtonState.NON?(this.bottom.element.color=rgbToColor(110,110,110,255),this.top.element.color=rgbToColor(202,202,202,255)):(this.bottom.element.color=rgbToColor(135,205,255,255),this.top.element.color=rgbToColor(182,225,255,255)))},BoxButton.prototype.onLeave=function(t){this.btnState!==ButtonState.DISABLE&&(this.btnState!==ButtonState.NON&&this.btnState!==ButtonState.SELECTED||this.top.setLocalPosition(0,10,0),this.hovered=!1,this.btnState===ButtonState.NON?(this.bottom.element.color=rgbToColor(50,50,50,255),this.top.element.color=rgbToColor(110,110,110,255)):(this.bottom.element.color=rgbToColor(39,165,255,255),this.top.element.color=rgbToColor(113,196,255,255)))},BoxButton.prototype.setDisable=function(t){!0===t?(console.log(this.boxIndex+" / "+this.btnState),this.btnState===ButtonState.NON&&(this.bottom.element.color=rgbToColor(32,32,32,255),this.top.element.color=rgbToColor(50,50,50,255),this.btnState=ButtonState.DISABLE,this.entity.button.active=!1)):this.btnState===ButtonState.DISABLE&&(this.bottom.element.color=rgbToColor(50,50,50,255),this.top.element.color=rgbToColor(110,110,110,255),this.btnState=ButtonState.NON,this.entity.button.active=!0)},BoxButton.prototype.setLose=function(){this.numberText.element.color=pc.Color.RED,this.bottom.element.color=rgbToColor(0,0,0,255),this.top.element.color=rgbToColor(20,20,20,255)},BoxButton.prototype.onPress=function(){this.btnState!==ButtonState.DISABLE&&(this.btnState===ButtonState.NON?!0===ButtonController.instance.isSelectable()&&(this.btnState=ButtonState.SELECTED,ButtonController.instance.selectNumber(this.boxIndex)):(this.btnState=ButtonState.NON,ButtonController.instance.deselectNumber(this.boxIndex)),this.onEnter())},BoxButton.prototype.setFreeze=function(t){this.numberText.element.color=pc.Color.WHITE,this.entity.button.active=!t,!1===t&&(this.btnState===ButtonState.SELECTED?this.win.enabled=!1:this.btnState===ButtonState.DISABLE?(this.bottom.element.color=rgbToColor(32,32,32,255),this.top.element.color=rgbToColor(50,50,50,255),this.entity.button.active=!1):(this.top.setLocalPosition(0,10,0),this.bottom.element.color=rgbToColor(50,50,50,255),this.top.element.color=rgbToColor(110,110,110,255)))},BoxButton.prototype.setWin=function(){this.btnState===ButtonState.SELECTED?this.win.enabled=!0:this.setLose()};var ButtonController=pc.createScript("buttonController");ButtonController.prototype.initialize=function(){ButtonController.instance=this,this.userNumber=[]},ButtonController.prototype.postInitialize=function(){this.buttons=[];let t=0;this.entity.children.forEach((e=>{e.children.forEach((e=>{this.buttons.push(e.script.boxButton),t++,e.script.boxButton.setButtonNumber(t)}))}))},ButtonController.prototype.setFreeze=function(t){this.buttons.forEach((e=>{e.setFreeze(t)}))},ButtonController.prototype.random=async function(){let t=10-this.userNumber.length;for(let e=0;e{t.setInit()})),ResultController.instance.changeUserButton(this.userNumber.length)},ButtonController.prototype.isSelectable=function(){return this.userNumber.length<10},ButtonController.prototype.selectNumber=function(t){this.userNumber.length>=10||(this.userNumber.push(t),10===this.userNumber.length&&!1===this.isSelectable()&&this.buttons.forEach((t=>{t.setDisable(!0)})),ResultController.instance.changeUserButton(this.userNumber.length))},ButtonController.prototype.deselectNumber=function(t){const e=this.userNumber.indexOf(t);-1!==e&&(this.userNumber.splice(e,1),9===this.userNumber.length&&this.buttons.forEach((t=>{t.setDisable(!1)}))),ResultController.instance.changeUserButton(this.userNumber.length)},ButtonController.prototype.setWinNumber=function(t){this.buttons[t-1].setWin()};var ResultController=pc.createScript("resultController");ResultController.prototype.initialize=function(){ResultController.instance=this},ResultController.prototype.postInitialize=function(){this.resultBox=[],this.entity.children.forEach((t=>{this.resultBox.push(t.script.resultBox)})),this.resultBox.forEach((t=>{t.entity.enabled=!1}))},ResultController.prototype.winCount=function(t){for(let e=0;e{t.setNormalColor()}))},ResultController.prototype.changeUserButton=function(t){if(t<=0)this.resultBox.forEach((t=>{t.entity.enabled=!1}));else{const e=winRate[t-1];let o=0;this.resultBox.forEach((t=>{e.length<=o?t.entity.enabled=!1:(t.entity.enabled=!0,t.setText(o,e[o]),t.setNormalColor()),o++}))}};var ResultBox=pc.createScript("resultBox");ResultBox.attributes.add("numberText",{type:"entity"}),ResultBox.prototype.initialize=function(){},ResultBox.prototype.setText=function(t,e){this.numberText.element.text=`${e}x\n${t}`},ResultBox.prototype.setWinColor=function(){this.entity.element.color=rgbToColor(96,255,0,255)},ResultBox.prototype.setNormalColor=function(){this.entity.element.color=rgbToColor(255,255,255,255)}; \ No newline at end of file diff --git a/Keno/Keno/__loading__.js b/Keno/Keno/__loading__.js new file mode 100644 index 0000000..627a013 --- /dev/null +++ b/Keno/Keno/__loading__.js @@ -0,0 +1,112 @@ +pc.script.createLoadingScreen(function (app) { + var showSplash = function () { + // splash wrapper + var wrapper = document.createElement('div'); + wrapper.id = 'application-splash-wrapper'; + document.body.appendChild(wrapper); + + // splash + var splash = document.createElement('div'); + splash.id = 'application-splash'; + wrapper.appendChild(splash); + splash.style.display = 'none'; + + var logo = document.createElement('img'); + logo.src = ASSET_PREFIX + 'logo.png'; + splash.appendChild(logo); + logo.onload = function () { + splash.style.display = 'block'; + }; + + var container = document.createElement('div'); + container.id = 'progress-bar-container'; + splash.appendChild(container); + + var bar = document.createElement('div'); + bar.id = 'progress-bar'; + container.appendChild(bar); + + }; + + var hideSplash = function () { + var splash = document.getElementById('application-splash-wrapper'); + splash.parentElement.removeChild(splash); + }; + + var setProgress = function (value) { + var bar = document.getElementById('progress-bar'); + if (bar) { + value = Math.min(1, Math.max(0, value)); + bar.style.width = value * 100 + '%'; + } + }; + + var createCss = function () { + var css = [ + 'body {', + ' background-color: #283538;', + '}', + + '#application-splash-wrapper {', + ' position: absolute;', + ' top: 0;', + ' left: 0;', + ' height: 100%;', + ' width: 100%;', + ' background-color: #283538;', + '}', + + '#application-splash {', + ' position: absolute;', + ' top: calc(50% - 28px);', + ' width: 264px;', + ' left: calc(50% - 132px);', + '}', + + '#application-splash img {', + ' width: 100%;', + '}', + + '#progress-bar-container {', + ' margin: 20px auto 0 auto;', + ' height: 2px;', + ' width: 100%;', + ' background-color: #1d292c;', + '}', + + '#progress-bar {', + ' width: 0%;', + ' height: 100%;', + ' background-color: #f60;', + '}', + '@media (max-width: 480px) {', + ' #application-splash {', + ' width: 170px;', + ' left: calc(50% - 85px);', + ' }', + '}' + + ].join('\n'); + + var style = document.createElement('style'); + style.type = 'text/css'; + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } + + document.head.appendChild(style); + }; + + + createCss(); + + showSplash(); + + app.on('preload:end', function () { + app.off('preload:progress'); + }); + app.on('preload:progress', setProgress); + app.on('start', hideSplash); +}); diff --git a/Keno/Keno/__modules__.js b/Keno/Keno/__modules__.js new file mode 100644 index 0000000..35109fe --- /dev/null +++ b/Keno/Keno/__modules__.js @@ -0,0 +1,45 @@ +var loadModules = function (modules, urlPrefix, doneCallback) { // eslint-disable-line no-unused-vars + + if (typeof modules === "undefined" || modules.length === 0) { + // caller may depend on callback behaviour being async + setTimeout(doneCallback); + } else { + let remaining = modules.length; + const moduleLoaded = () => { + if (--remaining === 0) { + doneCallback(); + } + }; + + modules.forEach(function (m) { + pc.WasmModule.setConfig(m.moduleName, { + glueUrl: urlPrefix + m.glueUrl, + wasmUrl: urlPrefix + m.wasmUrl, + fallbackUrl: urlPrefix + m.fallbackUrl + }); + + if (!m.hasOwnProperty('preload') || m.preload) { + if (m.moduleName === 'BASIS') { + // preload basis transcoder + pc.basisInitialize(); + moduleLoaded(); + } else if (m.moduleName === 'DracoDecoderModule') { + // preload draco decoder + if (pc.dracoInitialize) { + // 1.63 onwards + pc.dracoInitialize(); + moduleLoaded(); + } else { + // 1.62 and earlier + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + // load remaining modules in global scope + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + moduleLoaded(); + } + }); + } +}; diff --git a/Keno/Keno/__settings__.js b/Keno/Keno/__settings__.js new file mode 100644 index 0000000..833810b --- /dev/null +++ b/Keno/Keno/__settings__.js @@ -0,0 +1,21 @@ +window.ASSET_PREFIX = ""; +window.SCRIPT_PREFIX = ""; +window.SCENE_PATH = "1894621.json"; +window.CONTEXT_OPTIONS = { + 'antialias': true, + 'alpha': false, + 'preserveDrawingBuffer': false, + 'preferWebGl2': true, + 'powerPreference': "high-performance" +}; +window.SCRIPTS = [ 156355258, 156355278, 156355291, 156355300, 156355302, 156355296, 156355301, 156355276, 156355255, 156355283, 156355263, 156355262, 156355292, 156355242, 156695810, 157755502, 157755549 ]; +window.CONFIG_FILENAME = "config.json"; +window.INPUT_SETTINGS = { + useKeyboard: true, + useMouse: true, + useGamepads: false, + useTouch: true +}; +pc.script.legacy = false; +window.PRELOAD_MODULES = [ +]; diff --git a/Keno/Keno/__start__.js b/Keno/Keno/__start__.js new file mode 100644 index 0000000..d519ed7 --- /dev/null +++ b/Keno/Keno/__start__.js @@ -0,0 +1,228 @@ +(function () { + // Shared Lib + var CANVAS_ID = 'application-canvas'; + + // Needed as we will have edge cases for particular versions of iOS + // returns null if not iOS + var getIosVersion = function () { + if (/iP(hone|od|ad)/.test(navigator.platform)) { + var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); + var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; + return version; + } + + return null; + }; + + var lastWindowHeight = window.innerHeight; + var lastWindowWidth = window.innerWidth; + var windowSizeChangeIntervalHandler = null; + + var pcBootstrap = { + reflowHandler: null, + iosVersion: getIosVersion(), + + createCanvas: function () { + var canvas = document.createElement('canvas'); + canvas.setAttribute('id', CANVAS_ID); + canvas.setAttribute('tabindex', 0); + + // Disable I-bar cursor on click+drag + canvas.onselectstart = function () { return false; }; + + // Disable long-touch select on iOS devices + canvas.style['-webkit-user-select'] = 'none'; + + document.body.appendChild(canvas); + + return canvas; + }, + + + resizeCanvas: function (app, canvas) { + canvas.style.width = ''; + canvas.style.height = ''; + app.resizeCanvas(canvas.width, canvas.height); + + var fillMode = app._fillMode; + + if (fillMode === pc.FILLMODE_NONE || fillMode === pc.FILLMODE_KEEP_ASPECT) { + if ((fillMode === pc.FILLMODE_NONE && canvas.clientHeight < window.innerHeight) || (canvas.clientWidth / canvas.clientHeight >= window.innerWidth / window.innerHeight)) { + canvas.style.marginTop = Math.floor((window.innerHeight - canvas.clientHeight) / 2) + 'px'; + } else { + canvas.style.marginTop = ''; + } + } + + lastWindowHeight = window.innerHeight; + lastWindowWidth = window.innerWidth; + + // Work around when in landscape to work on iOS 12 otherwise + // the content is under the URL bar at the top + if (this.iosVersion && this.iosVersion[0] <= 12) { + window.scrollTo(0, 0); + } + }, + + reflow: function (app, canvas) { + this.resizeCanvas(app, canvas); + + // Poll for size changes as the window inner height can change after the resize event for iOS + // Have one tab only, and rotate from portrait -> landscape -> portrait + if (windowSizeChangeIntervalHandler === null) { + windowSizeChangeIntervalHandler = setInterval(function () { + if (lastWindowHeight !== window.innerHeight || lastWindowWidth !== window.innerWidth) { + this.resizeCanvas(app, canvas); + } + }.bind(this), 100); + + // Don't want to do this all the time so stop polling after some short time + setTimeout(function () { + if (!!windowSizeChangeIntervalHandler) { + clearInterval(windowSizeChangeIntervalHandler); + windowSizeChangeIntervalHandler = null; + } + }, 2000); + } + } + }; + + // Expose the reflow to users so that they can override the existing + // reflow logic if need be + window.pcBootstrap = pcBootstrap; +})(); + + +(function () { + var canvas, devices, app; + + var createInputDevices = function (canvas) { + var devices = { + elementInput: new pc.ElementInput(canvas, { + useMouse: INPUT_SETTINGS.useMouse, + useTouch: INPUT_SETTINGS.useTouch + }), + keyboard: INPUT_SETTINGS.useKeyboard ? new pc.Keyboard(window) : null, + mouse: INPUT_SETTINGS.useMouse ? new pc.Mouse(canvas) : null, + gamepads: INPUT_SETTINGS.useGamepads ? new pc.GamePads() : null, + touch: INPUT_SETTINGS.useTouch && pc.platform.touch ? new pc.TouchDevice(canvas) : null + }; + + return devices; + }; + + var configureCss = function (fillMode, width, height) { + // Configure resolution and resize event + if (canvas.classList) { + canvas.classList.add('fill-mode-' + fillMode); + } + + // css media query for aspect ratio changes + var css = "@media screen and (min-aspect-ratio: " + width + "/" + height + ") {"; + css += " #application-canvas.fill-mode-KEEP_ASPECT {"; + css += " width: auto;"; + css += " height: 100%;"; + css += " margin: 0 auto;"; + css += " }"; + css += "}"; + + // append css to style + if (document.head.querySelector) { + document.head.querySelector('style').innerHTML += css; + } + }; + + var displayError = function (html) { + var div = document.createElement('div'); + + div.innerHTML = [ + '', + ' ', + ' ', + ' ', + '
', + '
', + '
' + html + '
', + '
', + '
' + ].join('\n'); + + document.body.appendChild(div); + }; + + canvas = pcBootstrap.createCanvas(); + devices = createInputDevices(canvas); + + try { + app = new pc.Application(canvas, { + elementInput: devices.elementInput, + keyboard: devices.keyboard, + mouse: devices.mouse, + gamepads: devices.gamepads, + touch: devices.touch, + graphicsDeviceOptions: window.CONTEXT_OPTIONS, + assetPrefix: window.ASSET_PREFIX || "", + scriptPrefix: window.SCRIPT_PREFIX || "", + scriptsOrder: window.SCRIPTS || [] + }); + } catch (e) { + if (e instanceof pc.UnsupportedBrowserError) { + displayError('This page requires a browser that supports WebGL.
' + + '
Click here to find out more.'); + } else if (e instanceof pc.ContextCreationError) { + displayError("It doesn't appear your computer can support WebGL.
" + + 'Click here for more information.'); + } else { + displayError('Could not initialize application. Error: ' + e); + } + + return; + } + + var configure = function () { + app.configure(CONFIG_FILENAME, function (err) { + if (err) { + console.error(err); + } + + configureCss(app._fillMode, app._width, app._height); + + const ltcMat1 = []; + const ltcMat2 = []; + + if (ltcMat1.length && ltcMat2.length && app.setAreaLightLuts.length === 2) { + app.setAreaLightLuts(ltcMat1, ltcMat2); + } + + // do the first reflow after a timeout because of + // iOS showing a squished iframe sometimes + setTimeout(function () { + pcBootstrap.reflow(app, canvas); + pcBootstrap.reflowHandler = function () { pcBootstrap.reflow(app, canvas); }; + + window.addEventListener('resize', pcBootstrap.reflowHandler, false); + window.addEventListener('orientationchange', pcBootstrap.reflowHandler, false); + + app.preload(function (err) { + if (err) { + console.error(err); + } + + app.scenes.loadScene(SCENE_PATH, function (err, scene) { + if (err) { + console.error(err); + } + + app.start(); + }); + }); + }); + }); + }; + + if (PRELOAD_MODULES.length > 0) { + loadModules(PRELOAD_MODULES, ASSET_PREFIX, configure); + } else { + configure(); + } +})(); diff --git a/Keno/Keno/files/assets/156355260/1/Jalnan.png b/Keno/Keno/files/assets/156355260/1/Jalnan.png new file mode 100644 index 0000000000000000000000000000000000000000..685488a9a347764c5929ec4313e32646bf986cf0 GIT binary patch literal 103866 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355265/1/SoundOn.png b/Keno/Keno/files/assets/156355265/1/SoundOn.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5002e534728642b2c4533f31f3a4f32977dbbd GIT binary patch literal 17543 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355270/1/UI_Card.png b/Keno/Keno/files/assets/156355270/1/UI_Card.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7be1f67fcb42c6ca4c4e260007cc37f992929c GIT binary patch literal 3180 zcmeHKO^6)F6(0ML$PSVZiVyxt+-ZZbv1_{ix~po??9$!U9c}O^LSAe+Hg;;ds&@y? zOi!kJHM2VU5_AZb4o(mVeDEQc5Ry}j<*W`d$Pi%>2W(7YIX2ii#KAaV2*ij~@64{0 z>{{7NAcqX}ba%~r-}~P8UOj5g96S2${deAbXQR>BzjQ<%xAzz9b!p#M?Dyq+URbcV zJ4Q#IDjSUhuh-XYFFtbMKD+i>Z}~)ZqVrfQD+W!ai>_%-2P13UXdGUgj#PHiR8H5d z^oDKs(~Fl}r>EQQlYR$wMzLA#9XUNVkDoreoSiuj1-C);jV2Xsz!jyZ8LHjdv6K!zxHm}sJaLJ~acV2FeVxrYdVs0D+T z&z$+kwb8~pZylHEJeGZHyQ@_-YI)vdGHFgovly>wplw5J=q)TVp2X_GnzXXsVdWUF|=Ak0Weuc zehUd(xJRJ-&Ol^0NN2$ku8lYX4c=>LRlk+iJEn<62{u1Fka!j8A8MS7mEux`@3yyrC@}LW}q8xCMaX^%xDeO~>vfOoU#Epx7 zG42%Fs!Lo)XRW*#50ven-axGwZ!}z~yV;`KEROU_Te|i6{&?K{VE)waIh#$_Qd!;W zZ8xinY_vOH?(L%9-gwSnC#%MS-lF(3v$Dvmi5i=5#VY+Do6Gw$@})X;YwCL|{C|=9 zT-Iz=4OfgEoSs`Jvf~vTRjunZmz3Y&Si+y%C;a25XM0qGa6z9Wx@#x zeF_;9C`~0}K{$)m@7?ggVVH)PA;MsctYyL>PKkh=CXwJtveSbGX&geHGK3>31?HFr zoXaGTghgqC#-SfUw9|uAner&%6p09NiDXIz4rLhP zfCo{EcX|jCONn7Du`hjLkp*RG%x%&0Bj3X+gW zpgI>K5lk$fki`Ka0Ss^|c6uZ>bHSpRN{FN-l|Wn51g19PADqd6hQQU$)& za5l(zZV14PaAE9N#DUr?R?y{n4zmCtgEP?0DFKRh2_Sin8B|PXhVB)MVV@~PARyh` zj#X#}qYxSaMhPKM@ysf-S1i*ttc&dESDG+jJ68eDi~`UIrl6&mWoEBfIn^-BQ3kA+ zJ&f=g)k+93(wh6m=Z1D~!rI*Bv(4(=dRK2+-gE@n8WHwfQ$KDWsO-!3k<1M3I2qdm z*V%jSyVz*l{=||Dm!}v0`qnRhbnv#XC%-EWf_Hy*?v01^N8fq-?tc8r?SI_&_7hp> zYlogc`=>)MpL_Gn^{da0?z;Nta^u$<8&|JfzH;HK*FRk#?_7TM+JT>%^_R{+_q5lY zG@skpcIU|C<9B-oJMJz03P2zbHTa*1@~ZPv3Yw zKJ-oe+1WEceC)9P|I+`o5}%B|_v80TdF}MRi{;{*SJwV=_a|?C{`V8_{Nc(o`Ntcd k-+StV1@aTy3D+AhKKzXgocn$KU!t*;9F;$hzW@9`0mN?{a{vGU literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355280/1/circle.png b/Keno/Keno/files/assets/156355280/1/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..435ce11dfb4dbfd3bebf7fd5f9bffc14c92ae3c0 GIT binary patch literal 10317 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355281/1/SoundOff.png b/Keno/Keno/files/assets/156355281/1/SoundOff.png new file mode 100644 index 0000000000000000000000000000000000000000..eca33bfbf69bf7ee9822393a0a32aee2f03bff27 GIT binary patch literal 12531 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355285/1/lose.mp3 b/Keno/Keno/files/assets/156355285/1/lose.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bf0b562e914c5b78bafda098816a50b75128a4b8 GIT binary patch literal 9440 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 G=)VD%z=;h2 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355290/1/open.mp3 b/Keno/Keno/files/assets/156355290/1/open.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bc765b04df386d278e6d50e7f73f79532543be7a GIT binary patch literal 4381 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355295/1/cardFront.png b/Keno/Keno/files/assets/156355295/1/cardFront.png new file mode 100644 index 0000000000000000000000000000000000000000..30fbf081d9718f625999b2eba192bf653513bc1b GIT binary patch literal 18416 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 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156355298/1/win.mp3 b/Keno/Keno/files/assets/156355298/1/win.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f180be695cc1716b63cb6d9284e236da042d54a8 GIT binary patch literal 7040 zcmds+XEa=G-}d+DWt550ywJdb}n)*kRY{T}eYVCmuOhWiQ??t%dTGXh|_ zWqNsHLtvHcT86-AlQ|F(!)=7M!k@!j%TZ?+7Gy?enLak%lxv$>E6x^xJVBJZ47-3f;`}k;n z)b_Bo!RuY)Z81KsMpSQ|c4+Fuwo$TSTqa@Bm@>~~YVkFoG~J^L&}`Hupkrb$NOv^m zjnAADBgr%vGJU{4rOB!ClK)8zla7>|7P} zMy8;)t^&&cXAO4r9Y=ShboY7Xp4^RW34=Th1GHIlHl8__Y2xqv6CGz#A|r8$|)V@ zz!Ud$SuUGFKQxK*#F$$4Gpie+Gt`-(Ot@k&N@^%;=SYs{i-2hCQ)~?pp`+GMa8+a% zR59!ZciO=DmL>G9^{g;Pto)*pMlPOsVFC|b{6_khgpZMaQwxMf^xhIRGA6%9O6009 zh>%s;oaxDd#uv=*rno!L6AfUo8QOzv2@z&5ziVd(ldT-)ZXt4yb!9KkM;UGz4vlScgHd;xe)G1K4Rcm;1 zUxwbMjjhT>?G9Fw{*8n;>^XRjxHkqI&O2B|IF{nlm}+ksfKbzxxNXbp_2E(*cM-sl zHqRyf|9w)^{pPllQlrleg^LW5U#aMz*33s?G?5 zQ2D)7T5;781uM!17rkUX& zrf7E^C?1QB2L9*H5JyU56^n$nfiFS2$q}~nZ`s@JWGB8$@-t;9?*HKXOz8xD&?`kA z)v|FvI(MmBgOIh?*-Rzv--BC=Dt42*k1AI;r29x-B496PKl+mtlCk_$TrCoKG7Tmx zK?45e(fD;+ckG?)Jqj>A!+1nlycwla|Fn6y2vaG=K*yD0@iGA*uIbeJr;(fsdVRGI z-s57JKb9O*E@CM&fLQIcY1pwGS7P9GH(vc(&lH&SjRMw=R1Rve$kdY*C+|-EwU#0w zE6 zT!@+b@~6EZ$eOKac`NQy%%=?x*%d!r+1&{MVOtmJfU_c$7yzy@wvYhSksbt)#R}^8ZX{0#Y9nbH zQw_Wt`g>-q-G>}{u{*UbnlZ%g34zm;%~O62L3dp5*QYUN|L<95WQ06b)EBUBuipb*8NC$#>1ayQ<+m916PbB zzQ(VgI3;0+d~}&{n~0+>=h^#I{5Sz9*l;4yK6v8%TRzMI0K^fvj4LsE4k5$S$o#CU znw=s(`EiDarCJlMa60)-P^0%E**@1Gq7S&mK!lXW=Zv#-NxH*?SD&`iL@UB3>w8l= z>*bjOL3tX*ow!%gKlmCZErH6I>Ms=drNx<|i661Y1$pfpik#1iKP)s~$eEpkn%QHw z5Ep`8#fv8(?X^L^)95HD6UoG5MFF8kH0jU;>|P1BLbS$+@8`4aAsu0pXuguPIZ#)H z!I6{)94*kd0Vht4XipIU4?rjmh&>T|;=${*TLUxutg;5JijVym7WJl4!qMJ*(|lA@ z2Wg}tC8!)$>_GRO=|w3|UB03VwMyby*vYK7=FEU;t|P_pmtgc0_>J5lAJTXa7>`)p zr@~M5XG2W~4oIX=#c64uYmCC5{uCy43<#q0ZU5BdJPU1HT)gg1YOaai+sf^rFp`u% ztC8>3-MW9OE`l&fu%iu(yYv1N3Jeen-} zS?Z47)+G@OBt1lEZ!oh9B{R^Pm?^Wo=Y-i+UxQY2^qxh*ita05;+?b8EU-UHFs_G7 zm`vl27Ih5xFH+WJR z%#3xC z;pqDtjkbOH`u+-6=Soq&!G1)+>IPeBUFv$Kd_#D42AM;*ghsa(J8kO|lumZBo>|v1 zn;F8&J=%Le-59sWs%goGx906o1LUP_01<>Fg|hQH$M1JUDjF?HKVjMf5CXBtpP9<| zd8Gg3CFQ7^q$|RGrL;UP%Qu;7zQu1J$*?5%2J|CFVj|c1hvtVn*>Ac_w1KFP#fJyCLZRw+R!y~X4(M)8zcwXYsg+T$4atI-hWm}Eigc8m#=5ih z6R7iGQ!t(a-7>(p^j-|@d+mr-!})`{Gk=_`he8PeC@I^@cf8ETr*s4zz>O+f-uPpD zZ}Q?Mg`KS)#%?t)`s7lo;BPL5?uG+d_8G%u!$=60x9rXf^bq@NYa~(2!5AxSfqmls zoi@S`)D=U*8`NbPf#ZJQbno4akb+%TDJALJ-1MM!3Ec9v>5BL#0BWe zC4j%Tgf2e$MjV6S4hS}1-f)~rZUa^*{0smfRGb%m(M>{qQ#|^HbfiTYOc>(lk|IPj zZrU9tY-Wm55&Bm)2#>%}b3;K$&vkG@HPS-(e479Bufc5NJrJ(2(KuhZF#6)K=iTj1 z9ow8*7xVk)<11Yk$G?BNow{YishRXvQXiG;*FQqOvl;D4u8*QoD9pm&I@i+b3e#I# zI&-}v4L|H=exBU)BWeC3Ww7`*_Xfo$VU7uuXxxtON(GHCGU!>6FEfLb4XWv0E1CRe zbyvFaLc+6CE^HO1x5Dovo!=L_E?M!?AIg&0AJS5P#3N?w< zXfEDS;z$l>h*1u)9clSgvI_z6(--8}EWX@>@zhNO7ppRH2n+dyHLs#er5Oji0(E?A zM*WLcQ?5~Pp1@c*)DRr+MZH}mFWJ9l{~ z&j*XsaEZ$RZ2`vtt~2LfYy}ktsvRQDU)O#OVlv&vz41ez>ooT^fLP81 zbf%mA#W55LdC%etW06dav{esh7)3ROUAF#=D&h&Q4{fmrL z5S%^V{WB%GIbwD;bOSGzk_G_Cy=`5;$HB_g6VjS!yUe~VD7|^4kI_sCE@d`%3T8L; z8D3NXC2j8&K7U+Qm)Bk1NLhWFE4`Z?GiQ`G)4cdR??55s2Uk5M!-L7tM1m&A1()Wf znenMW7M315d|v+2r^ULc3=u`)Ir$8gTSWOZ1=YNA8~*Q)wOn~?Cs73rKNM>;G%Glw zbkw@?TU~hj=R|Fsd{DEtbn|4ly3@~1g%Rzh& zIeP4hIyCmiwW}+O3HK?q+U^O!RgX9VXEA5`*a?+Y1Rhz*pf*|_NK=y^thL5X??#BG z%st!TfDg}d#%gqAycr~w?&Q945c=52eA?8$YF6apphq}WrCCmYnu|jii8zq+>`0SI z82MJ0bm!+>jwr^iS$VLtzU*D``;6z=o%K)aXQ9cyH#_=C++IU_XKL%C#Hb|6TFpvq zyRyPfT7>K7xnsYzxGOD+@!-eAkVM+f?}B^S5@TmNjYavVIDa|CavIkYw!+n1vb3|_ zWAeKfywC?yW7 zT&(0jc9F3bH;7mEm;Va)BJZ}ftclo+DugDEpsLaHv9*$>HdD}G{k4Q}OTx42mU{C3 zq?s*snraM3^-JvX?gq2$@`1VYS zjx;HpZhdSdk!am1hUf=<(Xgj2%c@Y2*aBk^NeuCINh=3}C?+k=XKHQD^$)AvPHgCv z9O4>Q*p~Zhy{wDvt*}+=$_0W2M0Hwp6_a$OFJ9C%bxhaTQ;|_FPh)FGr~yrY8lchb zaX+rH>bgf~B&K)Kwh#|B65O0Gn2_ekpHG7}9VQ}02&(OwyRC}b|MZMFUSxS7tB6?t z4DT%Fa=mP+(|5Cby4W@mYHVyws4IKzY{|`VH_?6y@wfF*xmcX1S+M=hY`O;B9Ay@7HY9F|;`4xCzSJItd^kq{LI4m68A6ctIgt-#<3q-H;m1W|WiR@0 z@2DdEr%o8y=6Za!ouCjA#3w@?!Ni#qHpZcNp>^BS80)n-=u9lL)2o6fs@&7 zY}H*KK^KJhDMmMDqHG1pCEE+8qUZKKgJvXHezDxIiGHA>$3@LHCs2Tp)-S=j?;1$2 zy2i6r1g0vJbMS`W31Mdj!J0mSp3{nuT2g_P&0chRd`4Fx2exqpFt^4Rr2ee9QZGg8?8x0C*4M zm^EUURD*9S4QWOr3`0UnFP+kF1X{_(?4dy#_1^%|2IN?b_n49VoejQ>#d2h13bcB^ zq{N$*AhAGHVn)2ky8tj^LLzm5i!Xi`NW}lPLjz_k_-Oas;xx ze7x{)ztL>7fm4+}b#i;1!D;6b$S@O7wrSLx+SedM9&OVh23Tv+W+xh%kMomiIe~UeH)2jQhQ@*rYKp zGEY5Y+vn<00&p1YVt!8Q)$(@`)58k&#^vAOdi?*hrIXyuAqF70T5{z_anB-)GV}Za zJO@Z0fHaddf%`=nidtUF_wLyiwd_@nVMe!}6nWzNL$cEy97GtNeE6-)BwF8qnhV5oTgmW=9rMGPh{&r}=d?pAW2P#*eXO;$GxkxG6#1NXY)&)~ zr%BzW{B_Xc=$qk+Ynos_+*r#r(+cV4pvk66-F)=f@upy*V1J_fMl(KwDCvh46(RSJ zA!&1CNKa1TRO{#KPNM2iVFp?!_u(`~D6z;ehX^DJ85t!_kSo$k7$?RJb%l+%Eb|_H zDkFi@J}zNkvLrLRo??whQ}xQ@75%JzG?DY5^7Dp;B1WlTqWlV%{pWLau9vOn6oC%E zhq`azCq@B~;07zefXUH97a(|XVhuZ-tcQ3k2&};?8OXdRhU~}W{Mg9GgZ0#^hs6yQka8Y$6t_lGZ(=hoR zt{7wm>-OOIR5C#?#%x+!vXqSS^DdqQf&~e#!QB^kg1ZJ?oMj=4yIXJ#7TkgdHW1t;!QI^@xVyvMd|t2L zt@_os>fS$Y)w|TfIWs-abU)qGBj*sVsw{(sLWJ_-#S1h!SxNO5FJ4~!`63~}N(QD^ zB4B^IJT-Kj)lJ;U?H%pRA=Y4WXAgTYIoKUy{^EuEyp5_JdIve`{WgxExM9H>Uvz^us}5InB+aq8Fa zakh`+vHA6UC}pn^Me(5Mtiz20^(X6(QE z!hrW`O2V08ZyFv--nvVX1)PA85-2&V&CCIBW=>r&FpQ3Kg$5oMv-6Bt2~bavIst{d zw5JHC2ZhBB%XH{fmGs!z*eW~DV(T(x3g~SPtaAsOsV2hdS#;>wZwgqG8dDNog55*- zD47^Hy`0boGV1u4rUa~3657}`RJA$ui})kplVT-NUQth~iQ&@bR+r=x$WHh!c8Qwa zfA}5WtND_u=ar=@`MmFm=*?28T1J**ytu>9XH#7=(0gP2kKD}r_p_BiI{#zBdUe4k zAa=?>xiJ3qo zS1@2%d4U-E(>=U$#$fr~!O`Ig=i!s@i?6$m4XMnneXz)Lg}@?AM@dltWM{)_VrFLw zW_7o*hlSpY7eb=$_9h@Jurs+S*aBiJOnKbYMoA7a6QS<^t-H(tn45-3e2Ebau8EU}JN0b7OVmWVLg&U<2^; z^RuyYuyJs(z$93lJZzm!+*xd$sQy6w4MP&_1agGfJ45Vj$^T%QnA*8G3sX|U>dF71 zpN+ke(m&yCo&L@Oj1M+<6MHrQD?6Kw4couBaB`M%g@OECq5o|QCk@y@Wm5+`*||7^ zz*4SYTW6|&hcE;Ev%S5GqxE0rn1R^9)?gc$s1vMLz<+cpBd4VL&lZ0uuz=Xu|J4dc z_J2q^L(Kn0)_>^sr{*tn{#_AR^MB(0hx9*e|4SGqrKBVvX$Nxoqn@0kFy){A1wmDS(58kDV95!f(Q1!VhBS=P_po{2P>>y4vfXTl>s5nAkQE6iR z?^^wVGJ`>xu!HzH&0%q2%4fpC!Uf>}@Uns`x{=fS9VBFeL{o`@c$5txcTGVGUqo0Ag!q=jQaUDh-GY_=B^_ zA3gy*{QO)T?EHLxesQsL{Yyv-?C1oG#XqP3c2>^6)%7 zKz}pA$;1_G_LrV8tiM%(KAPBCfMNOL?*aRda>)NK7`S;kczHRwSvWbsrYu~%?0hVI zAa)K|Y=AiUO!;}ioSc92;6Krw?983rOdP>t7BC)RT)_hLFRsYx|L!V=|J26qBlwRW zV3e@{04)DT8714_jb;0jG5%q#5ZnKU523#V{w>A8+WoBzmbze>knNwT@b7%Vbp5~i z`MV$fZ+1aW{@+giNBsVmuK&{YKVsm2B>dm#`Y&DoBL@CQ!vBq~|6_Ea{A)7>wuP;L z++bU!lQR`h*ftBnR6$1a#q*z^uPsFhuo7f@SzV_WFW!ax`MxyB#r^~8%#~r{Kmq(&N{zc%ktWgHZ#-Ga?#S1oW6yd%fuxlBy>nRem*3V{D1bN{|+me z+!T|vo^Sfc;|{JX+Q}BHO}EB~O$g)mZa~w8^ZtRHhMDY!Q5c zK#cQ!d&Og$6^o}A`>rg@Ygm2Hd%o!%!q93KbBy@}lHvJ`ljtVT0Zd*kN!C}iaE+voBAdB}6IH%xX1 z^ZqpCoXmrL#P@25`WGR4igBNml`VMHfc&M5RZC1Qu^Bx<2U0;(P4_16a9~o|b-fvr z*w&sH>bh8z$xPYlE?f4d-blH_x`}hT%RfJ$Mw{%78V%FIRZbQ^Ay%<- zdT&mljf}5f_}eDPK&Y==W?UYF!UbF97ssyECMl=F-Yl)CC(TBc-<7p~5sb1rK~e|h z5k*>kYigv3Q?)T8<@x|`{B(P%s3{9)-WdX3;wY(~vWL9l&HAsq$^*xjfrxsouASp3 z5SD9|>s_60r0P)b!(Vkb4Q!8mhRZM?)G=i_DU%Uc=*v#Db2E+6>m5NE-^hyS*sp&? zZ7iP#1?3iSYkQj3*v=!Dgg7u>D5Jd>S_eVaE8A!4TBZ?yrtkKhlu}$TJ`=Uw^8S!f zj|n1mXj-G$zW8O`?gf!&#ZoUeZT9w1v(&pR3AFcV>EZbR>>zC#p30JmKCvJZH(tkG zk%wSRN3_IflsD^*9JmTFuw1LlRQ>LYUAgOyx!nULuPaN7$J85~G@g_B@C~@rRQ#5X zeZNzw;`q@7Q}VQ&nm%F0GTau0KxX^1%N6s-#P^z3(vG7D5#@+nAwJecYW0WvT0WhQ zPR+{4-(Hwvv$C&Z`?-gBWs~(NMZwe+Tvbe3dCUNqbyMbkk+LLuee39S`_Km60;ETk zQa~3EKD4v;XIK`fxPZ}KG7GwU7EJ?`yzEm%Od;r>z9zaDf`2j*U`8pqbLwp*i@1r# zWX9kNV0m_icVAa3W_NJPVZn=?FW(J zZ&+3i%UrjmdSD;9%#jr&j@w1(DZO8th2uxaHBTE1q}4 zjYg51)??x^d=7jG+jsUy^(nN8V66xcNW8|8`kaP)xZm9)wc<$ZtKSU6)ns0`vR|$J zo6VD%q;)IifHD_|%R<+R>WBMuAe9rg`uDt3w{v5wd;0sXdfu9QtBTx|;aEGN2lVGv zg^{l42$(xPzR<`p!h6FT)o;KR=pUhDRhtFHl$K7NXdJM7vI zPi0PAyof1DuZJSD^J*lU&#ozDn9dulS8P^oH2L8tI3OS5SX);P`f{}8=?>xD zjH>)4C$*yn&}UU=Yo@~*4rJ_7%`%JjyR}d`oswbeQ6PiiYo7iIQF|dnzcFBQO6-_n zY(rS*_p3zX8z6|_l50j__L9|$Xm4CXTw^JqjRy~@llepYFu+Vn;kYciUH-@7nM<-A zj8b8SoN^Q3u(@^n>$c$^-lt+m_owuRcd+3K4U;kOy;kUsU8odo(g?Q$ytI`oW#+D` z>aRJdDU+pyadA+L6K%{0RTNnz%e>c0jMJ`O%IDuf_?)uw=^H95Zfdd*b+w}Zm$~w= z3gqL)mu*)Cq3#z3_`GbekY!wJ(k)c+0<%?oLz3q1oC-MjY}VSGZzyN^lA&toU5g+> zRBvQG|7AB|kUReN>v0ajMdgNY-yKn*?w8&!lKM>%op#*PT)#H{m zw?^jkblSAhFC`wM<0zE0eJ6QTzo=;8s=YeIYP42s76zW*=kmz$1tNCrksth+lu7=RxRdnX&@RfHN=!cqpNb=iB$!QswkwO%gywWxJyWmTw3uoQIMWO$eEMqkf4}pj1;l$^~ zAOhFjR(wZX?;p~`vngBWvDpZ|#WA;Z&Z&h^F-Y<|A|@5P418z6st`+8n}1I+_#=;J7H zCv`J7;YlA`=2kdgCJT(2(ylt%R1wnt38eE0O0C}ayg5)y$mn`Gi-MC=Z&`1=ff@x| zb?W%s4rjt;E1RBZdB|y(wovkb)0Tz=zuu``IuHMO;h93)^IN-v9hr3$ShUo?z7Z1{ zqca$GrOK2x=8oasVqyTlA)e(z%`A0s)hET8$H&|(#U&K<*WDjKsQaXveS|?Yi`CT6 zLY#V>fbptuZsP(9@?DEmS;W_7fa$2zJ<%{xmAWmT7UVr`&r4&wYZ=e~HEX)tpSgms zq9(s?6xZ-c)n0ZM3nxgnorrIi%JUS|fr=_e zW|3KFKU0J~)m}uYFS_d>-S1t6r+qc=-N&LXBqRA18sEBp()Rgx#K!x`&ZiG7qQ%%i zRF!)oB$V#2hb~Wtyhf`l-uFYYdvT*wwp@m1$|F&<&116fO*?mt@VfN+0pG?HHH&^_h0q~sA(2tnSBYv2~J zj))pWiN?&Es-2c5CXs!;yGr|(`S{-Dsm*KnGfrWq)o9JGy_QrX;sZTk(o|9 zmU=UBjHvDG9^pk|LR%_i|}=-+YteWEfMV} zk^!@V0{a$?frt8krXu5xp^{+@~Oe%_ppi zSUD{<2=2{DSzxAyNDI5Cd&u`20rPjI{UJz)0t=HOyfm^jTNRDi-|76FB&N z-oao93u$Qt1eiuF;VK@Wn`m9jOk=r;nLy>s)9>yXIebU%90#5IRFNMIUYZQN(;|pl z*WtPI-juOBD}FwaU+jc&I}=%?53t`{l7_P|mA;pMGv+BYkJ9pC|KO{8jfRs#a@=Ih z*&L%=qe(s~=Ry1xF!7SKqP@16(UjSl=k~D8H*RDZe_-y<_JY&!^ys2vLwH%1Sn5@V zCG~|SejKCmm!oc?jY%yz`&H;GD(@i*O z)TUjcwnuH1^KBKw@O)BOFab|ysqg2s$8juBD-!nm-p1c#Oal=otTujIs1`~s zzdh;y?tO8zwjN()_0uyh`zC5tg(C}rNl=fo9@n(ML<~;pCGM!W)pyc;zNotZxG4iFPp_t#7zEP_^qqVo~ipcSlY{E&siCbkT4QjmBlRY zt5=iHcSYBVyc+46+q4HM!;nprW62_|u)Jp!!(@Wu8jNp*jvSw<9N#)jj>5b(xB*Ds z$Eb=Lh(-X$d)WW7R1DKoQ;>O~VqxWP#ZAaY*_L2D#Igk-UxoTbt9LMmgQ}@@?q%ehi(PALU!|o?=da z>pz)My%1oV?tqIw0|ihp@zyA!t9@+ldD*13lL1UGyqIATH2}nP9!l;_#c{ofDRG{@ z={RobxAWOPtp5ay`(^uEnPFuPLp$nk{Q4r&-(RIBzZ#_|E~skgMv{Vx9I7|DJ4T~6 z8q44*R!i2*vzrw;egYnMSZb=z0%9!gGs@QXGTPaA=f@ZJrTCq$o2GsK^57eM2H#9gl@x)u3 zJ#$yeC@cv(C!hHRLrWrcW-C28b$lF%v-`SD58V;}Kswc9YCT8XsNEZ(FBY&x{G77- zWQvdY_mg=>#>)d&veFcqU*B_a1E_#eXi8~GSKa>aG^*AtyUh`lCu>$o!brW5Sv<%pJZ|>r+uS<%Hp7QNyWDPmi5=)gfoCdp;aikv# za$+;|*U`{i#J|HIic@_%awDJMNmJDs zTYcw!nd9`Zm)%O>#*KB?*LA+Uo3{Zt&WFS;={2D;mirl2XmlH`ujt_2M z)FCLUE3g*YHjO-`$>RODwh0x!dxA= z>iP4y&qi@8agptdCS3@VA>kr7Jh9LR&d?TAi=CJK8l9Ckw!6t3)0H*|58c|N8zb3` zB)lvzE7~Q7A0GxF0crUJq5WKXz)qaZ8uUimQ-MXZ$}4RHuMg*SFlKL)M-s0?qVXRqbq0)53YHn-`j=fYSMJ_exl7PG&3n&DaN!Y_(tCVt9BFLm}e4SWr=xhe2;I|w;;Jc*ubsNBX+N*7UCy{(esBn;%=tl0 zI>_PE>v0ti4=}$fj|@+`<}gGoZE(AeETQxmz_-1<@{IXDW=t7Eu<%HZO70Fg_*UfC zLz~Yr#67w@-(%lp8P^!38jg}89nsjkBNiErM>2(^X<6|>q&T<%hpSLCT|J-zOAlg%;_VN zN{fg}DB*`@9JQ+OGfbI)A6ui*&8E{{)R_n$KZkX=^A1%rR;^GK{}?{fqPCl}vOcl8 z&e&QJ^#s@&Q(tU$&v~~)yH}$#Y0h=zoBFq?Zr1OY@BG#BK20^M9;2BjoR|>Vhu`6tdSW}eJUs>I zK~!UF=d>cj+%m;i`p%7O8aQePDAPZ@j4uJ+kMB5&MnpL8sAMpDb&swPh2-#_+c<%w zcl!^$QcZKe)(%DDv$UNBPjn7m%kC(Ik}1;OmAf6x!v}`vnop_ypwo`Ap{eFUz&Ql8 z*Q63QQpSNkr@o>^(q$@WS!UXs$m_12zm}^`;sq*Nc-`2n;fp+SYvM zpzxCmj?{YJ5H#NgDtLNt{&KrL@UiPwiVX7IKLNoui>E<#6JPWnewmS02%O|JL^*uT z8ZM9AuOk$TBfuZPuoEB&iF!8ekUf zB65D&bGrzKPgyJ@-gfKW)i7Z}hrO(*n1ZhslinjRH^q%2F`$MaSMlq9rksw6p;vL`#$ExNr=Ivx29zuKPeK;DO^ew1GefG1n|l@(Iv5Ji(OkL?jv>I&DI=v4HZk=|a9{FTBn zn?Sd!-v;1TD@AqPRz1zlNK2$VjRI?q!zqf|F1@_3sMppZ&>KE=|N4Lc|Rr^%7V}_G18||F11B}C=mxT!dZ0TdY0YAdPRF}|% zxb*}cHf!G7P`Bq;3pUA5M97Z_8&7hDF&-&8dNqfv9>$Fs70RyM$en=#^Tcpx=KYf4 zUhdGahZoYSfP=7c(HdkewaYiY4c1rKx5l>@RqfKE^gqU4)Q)W(Ec6$(oe{8gIo4W< zGwU@WWVkkn#PYkU>(Myl5T-|*f^E{m%~~tRrR46Hta(3!Ip1vWn^MGq*M#g=QDsp%pD(apv;=5n^u|P&#R77Yy zBa3vqIhm&<=yTV^#Cn4sGRHOE1};O)HeUB#CaUn80u*<(MyU;! zE6hVaHReiKFTs&jEhXE#30JNfhBM|OU)+CM;F?d{m0rBa8;rLKJg4uit$i@m5Kn|{gJbjr+9 zsf@{$RdK&pkIbb=mMWq(X^v4a&tvOlD-nP&MrdiG=Nd3ht9X}ndFgl3a{CIc>vXfsu2l6!5wkt&7+_KB!tZRbQ01@uUB+0O#E%0i6l=svEaV z(>QaJuF(pn-V89>;B7radOj^^sqc#$wK%oNi)*EC@12L^m;-H>Z`S^_vb~g=uBE3g zceTuX2dICW4eg)ERk)JWb@MWWWB})MHGA`fx|I5iRTS-@yaO*|+^5A;KcqD18=7+RZa0pfML% z`P4C@iE}(ahZKS8l1bx)e7Ut8=c<=)_3p~D%!NPRgw)MT^Y**TwIh8GUMb4b6 znqRJ|Qc$qtMm4qYx>;6uI8y6EeoX}ePMOzuB7+Ef+e^RQ1x(*jLTQ1Nnl2MFj< z*>-@Ek1^G$N3oi?$4~Z0!*_+1gAgBvjYNl%hZnN~^=%czpMUY``3=$jmQ!c;hc{61 zo}ATA7#i?QVo-zTaqk!-8eCl|xuxBUnDb}Fg2)kphy3Lh!B3&$6RGY)+Ser`^oMIG zB`p1&|9BT5`H|YXpC-in;Em{N6Wg+H>Tw-zPFw1>=(+Yrc&jNIwiOh^s9TMD`E07~ z5NKANURY4EY%$aD*yAnsOb~sWLpPd|Ug~O(vSA)L?3qoOr3|R#44Ko485;ofX!6J7 z;L7h&$jv6bd_IUFTmLjeSC^>TR+>LsHQaIn-%pLIU(Cy-ss^vXHKnENkN=8@>7p(~ zU+sj$s}p)w`>kn-R{H)z1d0SY26XVq)#2_4tShZhMM6 zJXF|VyHS%H->m%(6fe05f~p@LgVhbjUoN0Zds$D@2piH7{ZFa0q!HBhVGEyz)Q-2$ zXo755uxOMf0z9K;pdZ84Xqo9;5-&FWiBgk8yyw@RX1*9bEQQWcr*Pr z@3jw5YQ1I7-|owbX`E^XBy?1NNb9J{l`IvSkK8Klq^@81@*;qPF4l|23MjDO^8O5w zBrJu#DGEp=1Hoo`l^bA(ew%mPGHB6uc@@6Wi>a;~Mks^7w9>3VzA+-= z$(2w^1f4?{=lh78FwsFG(vm27I5#1;cUFy!V|7>DrpxV))`9 zw%pE2TGWNw7rC@<`(2cd^h!K2RW|nzc1Y@qqn6IV*&&gQaTZ{AZ%Z_`9o1*avxcAF zQen@G@QA*0WKLR;SaMx_3kzy>yi2cJW$7knMo6#azpq`x7j+Z0i@KzW8%-t=?RD~5 zWWr9z(K5u@VM2es`29_b_2aDV=TMi9 zRKzlri9r}X3WroMlnrZ>=pCuA-pvg@Y18qg!Q)5j3z{z7?aNcS?nJK4ZgncHlwPZV zYGzhVhVS$V6AL8e7Oz878`nDQ?#_re@X-&$!cv5p+Ow{yt=?G+A}d)~jzm;kBrdJ> z*I|WlB1b?jZlOKH=MDFUO@df=SnI`$`yH^|JrM(eUZ-MzBteCzsn(E2ta|!qJm#z6 zX#ri%uHw{28H>VinD_8fB$-nMJJfY~pO4-V%XW0nHPRV_UI!wKM2xYk7`*R{<*vJF zY4gY$S$1!V(K^`dLp1sG{O2vY+k}ybmh|=mKc8vPO;E zU{N@HmhHnN*ZZA8M76ZYj%!qV%Jl5An1552#+vCDY{J)a=}>%ad)u7m|M`q}{bPzN z?I6yXbl`Bgps*hxq%{`^RAb0P5(zSie0pWVW+R?ecFy+nn|X!*<)$^0%8ttKqobne z*tzvQ_v0csLh2w@8lqjO3&ub(M5;ahi*AqfZYB{2501|~_~>j{Z(Z$4nnd?#0r;f% zQGoMc3`s)Ytd&l@6UFAJIy0rW`k;8xHodUfwV;dc=>|2XrEVUXmq}^oTB-YvzP+<> zDuj^pK8`E4@${6ajHH;#oq=|ZLjHL&*1#&V-b2`s6w`sk(NEfz;3}i2W~!%FU89JU zY6G@O!>&Cn9Qz&ag#7&bi0o|rY7ZqTk>&#NOh3C>_*spB*B&n-JX4EzutAZ~){ z=4E|fPZ!zGc={-`Dz96si1W-OwI#)oj^}W08|XZ{fzo>A-cTGjOZ9oX z_poYQjRQBHE2pWUdw2o=XJO*?$E2S_2My84Bv7e6aEYW-@dJn@bBj>4JMtTj=1`OhU{3C1`!yL;B>do9? zjFjeu7w&hNY)8dd3p{0uuip%TBq2XA2*Z1@X@5+aTT6<>@QGmCeEurIU^eIJKI0Yd zo1C8*FpceKb|qEf06lds%jjir8$)UZ{H|-eePtx<N<-ImQ!O{gX3<}3>)a%F< zG1$*UJn=F;z(V8xGHj}T9nQ2hCPOg8&1MID2tHOa4t zp4G^#_r7i8hf09D{h%0MQLz$^ulz%{i0>{4*COy#IOXhr1;pe{QhqkTLeQnS@7jO| z(zu9t~W zuP&BurcV%#xGw-7zQ*uUl^M4l)gfa)i!go5{l<|zmj=gSP{wg(ZqaYc5m*1uGx0a> z8fb<;d-B{VZ@wQx5|pcMQV z#Lgzc!_)o_SV8&S)p=p*69hNE>&pU~%L1X`AAD|i7iNPE?82q}T%{Z;d2d{UfAoEsozhqz<6()u z6!&IC@V~zLdJd^W$!2!QwIjVa+G^CR4W7vt3_Kxx!V~GH+Sa<9kYujx!{!LX? za+0G{^5;<_?Z=%|=I6QO_#mMRaPn7{aGdAQgauHvya0EM?w1idJ6ZE)D)9L0DXsOI zh@|tf=a_Y>^V-iVVq-O|Lp8SKm$K`0;gbVmMw*|K6T+uaPW6zb*_WOiZ{ zyJ2%)P&ju^jO^H{Qs>tk$xfN$X+|S#A)>|yTrI`p&uG%&v7i)MITFRWteu?jdd=zE zr_k<_d_6eDjzQqwSd(*ZZOh;i2PA>F=bgw^)5`WKP5N-H#^g;4?AeGW0gc?4tAjZ| zclAlumFhJ8wDxSf+FKc~Q3@-bKJ${`-!C-DDc7|WEC2g8; z4%y`?%;ITBj4V%fy@t=$6E`U?3kZkLsFHUB6QY=+r!y2>fKB;W=AdMWJqBs3{>!jC zAL&&}sQohtYcZ3?0wrfC{r7J1}3WH!p{4$X@?QIPb5I z8(#u~wwDwJU1K8omO*?reN0ZDu^ZyHbqcl0@x{`GTQ4WQoR2&>fIBW3LzyC9HuV*W zQ${5`p5^;1vXbUFcBD$KpTg0Ap2&P(Lj+8p*N3_0vy*ba9oKdr6pGb-XtN zJ*+1RMo*{e)>kZa7u)BGWc{?wcG%v%AMte;&q}#g;l-qWtO!`dX=~$+h8!e#28WWT zvCHV0q2*wA?Nke)3AMo9kBDB~H!G{DkWs@kOqe?PR8T}RvA+~D%}+r^6lCyex|^sl zbuy&Bv%|Z&r;++Xmooh}6J&cqRr3SVu}cXjVs~*HNY>nif8@8HWOuI6*;`^t9QOSa)y@?yBsBi-weD&k_^RMb&53FyW0* zC}Qno6Z!wv@Swny5!q1hTUDLn;-qYnmAn`jDVUOi;P50gM9s9`#s&^ zP4m1G?&NX#iMi-zfL0oEGo~!C5ZSQ+(`<5Lm;>lxc#wlafbDW%rIxa1qeoLzHD|%b zU4Pfzed<0_Ug*TioT?r4?e*LJk%3=|5o~?0DuRr@30%NSQIH;hE(&p8`N;?$3Wi9< z>ubKma#&@UnUDMK5seyvN$}<%f*r8h(xX8wDznGi>BjE!VM4}o_(}aG1nnl>g7s{` z$o=AY<$$}n*kwm$Q@Jf+TVHMhsF|R}dTqJWkM=!yO8!$UAzPlN%AT;2=CstTEb(tc z54w>#DMDQZ*3B^>JGr!_VX(VJ5niJwFi_+IXcCZCJhwyfN%@eOLMqp&Jj3P9kE|E! zzQ=_YBX{i>b1!yvtQSnNd#`>TGekM|Ca%8^ox#CwwUB<_<$E_%rM-4QEY@OTCe$)S zk-Q=>Vgl05BgOe{^~1Q}EX$J|dsI3C{f_#P_4bPNc9SV(EJzZUm@$?S+Jd@4Y88VJ z7y;GPQ{pekinY)?gI19_T= z=B&_bE58jOs%BE7IVJQ7#?b3fG1fho2gT?8T&Y0b?mRElUe*Ge3N7n+yGN(z1bt@} zsm}_7fB4bOa)0%w)~fNJ{w`uX)M`y6$o->}A)inU)PsxPM3^PHAYaw41V`}#4 z(c$W{FcxwTe&eMr&}HQCuNsu4+ikWy4i=Li)v7wz%|$c&<0RWrY%vjVe$*JfC^{(j zUrr(4J+|ZreWnR#>Tzs{gMDne}09a?yX3G{{Kbd4wF+1*M(M?~=lpHubg zB^{qAcaPxry-)GXqh2>OA|-Ul`na;EFuT7*lXH?5VoY+V>=u1K<9z7rz`uOHvkT?* zrm{oH$<8!uhOnf~7W2?zIXXCNl^Z3$XKq4dc^gO*j!>t#_vM4(Z7czgjr@$D`fpgGR zow&VRS-r5-wUEGBIW(5go_oMR5nx+{QZzZEUxZbzpWyL|Y3A^oOUK&ndI38+`t2h$ ztAW@PY<9=rA#j*`!86@UM`-)IeJ)-?*5_)Og(Wq)K;N`IK(E<>z^GRojt|Y&xkxjn z&hsoyqK_!VyEL*4W3)y@M5)&XiFVhwN~dFAfc&^x7KrwHQoz;=pH-i_p;|)ViW=Bl z1M&BrR?wlx3*ZHJeNd8~**wL}rJ)pGM zn3%#db@Uj_@0Xmo?-5 z^I7tl>#r{l2Ku!`d_Y+_(w_3oB8OFG=akM|G;@%Mi6q}W2GVCj2T zRyhj>q7jw6ieTmVd}SWfJY`G*gq_t20UfCdhR1~Rt2&9((B56P6!XvP(Sx`*DKya> zj!D$v-bF$JA#}2gqwvskWbCDyU+rF=8Vn0yaT z1yQIFsbU1+h9|GaCoQ9Y-%THma`Q^17EeDdPhFiC>g~9cw)Xm+yz+Y0BFNKlF)w&8 znt%6GXfqK@L+dL;;P5s2sb)oRG1+@jn>?FpRmmPovrIgW9T3m-$r7HfX&+Qtxbfy` zFe5?y%1pX9jX};Sy1P7P9qczL4lOU@^jbbE`1@+6P6IfBd^VEDY6ldmN!_3MnHeW4|}VJ%aF0)}Ja zHG^aaRwsRqkP2?IZezgOi=np1V!g_UTV^J_F6@%d?nYcF^%8Ag`AF?u9upPsLEb=h z(bbd?6=Ew!gTP!biN~(kvali8_q5O4hl)kDFiJ~`yZYsw~v^Ktz465b}n-4>tn2y-^FFe=_L*b4;rJ$XsC7u z;)9vn>l4YX4C2?`avpFfC#+}eKAwJ#Yg9~Ks113*r7M*C<&b7D` z`kkUgp9W1b)n@f~RIfYL9w=EPf(`6Z1J`!0TgGx1z9FTUCv)2A|4tTpX8&=px0`*` z>sO~9^pt0vi?PMO5N%F=oPKEZ=-P|DAht&Omj}>xFjT6(1ISv0yxnzXd*r?XJ_x7b6eo>;X|ZW% zW2vvX_pQb;jHWkY>ejVv^Y!=~CAy~K1ni%GKt1=s)=riOBo~E?5`ccDrMt_33LZ%> zl)(rr+;X!%Tl9)ylxx;CV3%?HtvBO0mOIiYrY@?B{;69Aai>leC#_qDvI=%4dW9}= z_^!3sc6z&)HnBOz-VsBvw+!m&>J6l>NfhZT_ufqaJ!=q|+fdAJoT z2kkR7Jt+`ex}EzL-TP}Z^}b!}&2r22ZbY<$X?88V19D z;S!e};YlCIa)%wTGUUVCOQg|$;eE&Z{UgywUK z5N2-P=pm;NWgYwxm4%>4%H|NqWiM9#F5N&TAZCy)xcxN>xffJ6RZvPo-YLr-eYMO<`JV%2I$Pe(|p?ylK&I-b#J1-_K|<-GWK?QGe4 z8iEax?3OMXu~8zbIlGAe+fvZw;#`o#nrnBQGrL^UI|7I zGgqEvT}4LDFSir7xCu^EU)4+{NO4w=Kf=2jb{QWK{C#Xh+2&3t=t>R5p&5w!PTvAG z885s!aS~LDP1r@g0`uwCG!kPSHIo017BTX>A<2H+g5Ehj52*A-&sS|woiFZQS4Huv zN7mJ{tM}KFP2}^DT|xU(F}p~<+KjkskCqTB?Y-M4IMUcG>Ks=q$RWM-HUHo(dxvQ> z@?p$J>kLs7GLRqPNn04fQ2DNOEr9XII)7+o^lJZs34k--SmT7Y)81Chycu&X`nvmJ zIoZ%W!zKg~LvBzFV|lE>>D`JIAT3+gt)pu8M{ z0fJHpHxH2QF-_~rzLd7wR>Jqv+OD$02RqD6Shb|m)a7kHyo-Eq)NBkpBY9KW-~Pma zl@HIdaq2}n*LNZq@EKm(MGDd?Sf`)9?p@q;66*pv_S=$Dg{tE*s6#CCq%Hn-ha#;rSx# zD{3yQkf}a!o=t_Hu!ezJ+Tuv^ywb`lcXf!*iSFM6sdo4HB;hnPFx6NK4}z!d40k5N zmKb)7uI%dTi_RNJ!$3nYYfY>V%REv1NMR?3k)k65IQa|)h7O_6#4bCWIW9XjRWc%EE;EU2-HOtYoZ{B}dPavxjDFZV)ifr?&(;y$N z!Nw5nv~Y>ViO${o*^rf~)ZMAq#m~KuQen`2UcRf;q1C%5)>?g*(WD8ABnio#Tj=Hn zev~n}a1nFy3XSa%X|Sx3dN(?`w!PO{*=MMeAKN~k{l>HW>0_7m|M;)hj_r^hE1{pw zvh`O?N}ia?#XWV~&1P`VcU6;`VAZ+@M+6HrUCxG6?n(?B*0LssX6~^07*mEE!}GOr zRm-6r+_ZLWj-&U$ex+m@i$Og}4k?bN2y0@wtC4U;;hj9=ojm7CV#%y6niteQ|Nhag zw}KF5vE`_qw3X1@SYucHbm+q`GFK$s?K;>S!^A*lYp*Sb#8Q_L#ryRkE;|8|PJ{NK%ie`uyx66Bw>tk_ zz05LLW2*`_(k16c~QiI`WpeACQ9s_yTqSex=*-sO|`oZ*2ty#C#v zFvoIxkB!j3Ihp9AUfE4dG5w}2`%zi^VP%0eQ1(^#MHr>&GS)n7B!)XpgAJqfoI_lO z@rCof&}OA__skvvbKqK+rEaAM!OJl<6gtrRSGF=NYA{omvp#}#19#b!%ZcH!<3F2P3H3!TBQt4tpTa+{nWY* zMb}m#QD_=yOHuRPOp$hROT2+R)Yv-~4UaiO$BIQsUwT9)l|!C(OXJ8#&?xHNJ>=j^ zQhBBfxRjy>AHj$rbruOE@Ap7Qc|r0MEwbueD9YDlc44li1L4hR-CXUP54i`zu6jCy zHPY1rttbEhAOJ~3K~%9L+Z|6c-#or;aa)`@HXDri$F6YcR4L=*J@#^prsstK}=^4<3#1+kN%oy@r z@MDMW=F_Zt&s?wit9;g(!9h2|U0+Lb^rmL)Sw^b#P7S&A<~hjbO0ll>z0Aqo>neoM z*#tNbOhm|=7W!ReeTeqDOxg*qD)Z8PdpBF_J9ih3VX&VbpRnF1M^s@?46JoX);cuq z+<=`iqjMM0oo(#iga(4uxzBr*ZgXW7lPK6$mq*{e%*X%mVP4^o3Y}cJ(}Y;FLMwAc9iK8AS5{CXQw_2#^Ozw| zx%$ho@Rn2F6VF5xZ%in?TP#lZS5(br zlGF+P$d|^zG~+f1M$Kuib#dJmxt}HbDn5KOD(+?y@an?27BDNV?}kO%mb7c2CHSU6 zlOi;mR}F@AI>z;bnr??Rc{xy_zfnH)~t$k*0wGh$ct| zCR6O#lkb4r4HkSB5|g~ljiP0)dSSNi+i=Vi7OUdyx)Px{5%xq_+ZuBDoePJ@Wc2E6 zc-?a`YUJyS#%|;mwAp~I0XpcD_1Zz;S!(y(`W7me&?25*{AYc zzn6K=rKU=P1HUkPcp4XXMK-$@AHM08Q&7}!i=pck;~jWqroY$;pZKJJ^;!(ks1#cP zE955Sf++8(=XK|~B1Pkb!hJ7u!?ET)0<$URN1=+@EccBf{(%;5P3ypWl5UgM){t#; zU`&H5x#76_ZXek1Tx;$uU)-!#k#%m{itpG$=%*p;JallX5?~j`faCOx<-aitPjBVn zuVz%|z!+qdp*!Gq1V%s}DmThxyXxYZ>pu?HVglEj9t9?B37G9MyXW375;f+!S6cNn zw@0j9x_p%o##HWJRYk0kxQ3L6+$hdk+(sY2F~kje_{7%c1l-cnm0PapiWbRjN$yFu z_b~5W!n}70n@zCcXS0dlHRaK`P}L9&TtL0Y?7h#={k{K`pZ|ORnS6k^c71rpdHrEN z;WcYfu|eStO;qbO)mqO|2cts6=d63>E)njumcEC?JB(LsX_1@TOQ`PaSEBWnITXVQ ztYK^n7uEBY_q>f^TNH0>6^5w04dpuh--`*IX`_=w>3?{OT_ZR-EODUB4xc^DRn6%^ zZ%>aPz%}IFCO}h>wnAHwZUfT_ZKZ8-VO-Uv&(FH%l~5lOM})2{pUV-5UIhtLvWk$P zOylv}88Y(t5ydc?NxdHaD&6!J<~8_fU-LuXd`X68T9z1Umb;>4=Pxt9yjPS@)c#II z=oharGqUn3`i0Ib{JJmQ4KGS2kPrH}^&Sid_*P18sHRKK-tXIR6zl>+#i)?rNhUd5 z-bUWLOnPaDG|!8=_EN@Fq2|Do#^8NTCaKc(m-)y4`+v^=^FQBpU5k2MF89}*|J2`( z$Gnw<^0do{>Wcc*TGH4x#duGK(pQmrS-OIj z0|OM}bBq^K5!%+WX)Hg5;XQSn%QDVcVQiA3ET~p%UoRWH-XT>|cErPgarEw3XJiAJ z`+A(OCgrMZ@rC~T{p7r`@RVAKOmLeg9$H2G+x9HdEV83X3a_3Q$VK<}fv$pqbBShN ziC9JL_n<>8bEHG)XjsT1UlznSz%;@3Qp6Rl^!*ql^W?i8_KMOuCWeC1WZJoGVWwHB zz?xdP=P2o^y6=Cx9(o&nvPp&?|Nrd0d6Z?@Ro?mA=iGbW5OYS(nUz_Ss!9@?3t3ZX zK!Ah>ERc`{5@L{`KnNpR$P$IkJQ!n!g_qlHY_q!E*uC8DcK_3>-KO1*DGMP934uTe zO;wdrRaTBMzv&KV_aFD(_wIY~A~G^FBJ)M&*=yB`${61}_niIhz0cm?=f<+(^%=`{ z;#al=^PI9d1-gw8H#?P&n@u&yB1T*-@6kfMo8-+Hab8sKTpzX z5wETz%NsQd?htU-POL_nH9xFOv8pX97za z1pV6 zE8{3qp>dLNVdX6hkxCp} zEwjm(tagMwZiHsniO@lrUYuk7=}V|uh7};LZoif!Tc)20<^(U@P;s-f*!gLgo5nRF zVk?yxTF0LinTYXYlwMU7CFR`*H?+@>g<+q`s6O_0!FW+QA}a6vwasuR$*<9%c98lf;)t!q zO-0D`403P|*Qn7AZSl@sE{!WYI4iz7wDmWr;t+a3uO4FR3xtQ}i8eYUE9)d{EzEj{ z&^f|B`}2Sq)P^;_vXb%-|IMfP{3X?AAKdw(UlpJ~nkM?0ETI+Dux0L7M3zzJ2vu1? zIA|@$G0bL;u$T1Tqz>&_?>R?Z%($k{Ek9pz0A(XxkftnVaKH*(8*mXghq9DrYygQB zGEAQBJ4MaTJAF)OXdIlUr4`YYYB#IuNM~zxcBZ^b&j#0r0Xgeh!w^gbNP}Fcq?U6F zIC1&Z(Kt3YwkWY)S9yeeLQLXqXODf`QG${0tMbWL_O6r^c95x%1;xH?Dt2BF7a}o8 z?2uSVH^6li;w1ld&J0H9FcmT!u3Rw^AqH%tmXpq`whKDKEf!+j`6I{YR3WPe&}_ou z9B!^jQj17Uc{5dlzVQL=PQZK&t;CiOv?yfuM2Kga*qJH9UV^N)h?mz$H(HopN`PVt z*;!FVqb8p}zsAq~!Dn{&Sd{j;G|~Sz$ykfRLKP@is0o}h?Hq@Ua6$}=4kD*mmyXOI z7R@M<6&u_54RT$PVU|bjL(V}f0lCR}9E_o5gmbE#RbdH7*W`+GnFxjokx}uS%BHw~ z{l7dx94|naF?VQzb}b^2kno!@e{CDrgyCR=h6=bg!8_r#`>Rw;{V``=VDQyM3@1f-i`I*zO*xV8>v za{;5uu(@0Ex6wRb$QQ<3kTfO)2W zlJ>Y5)KDXc%a~HfVJDoxa!`~y4wDTcjB3QG#eoP^NQ*$wIPXBOW+OS171IM|mwuaQ1SKfBEm8AWmkPIy{S;Zqg|m z;L0eVr1UK5{j{9-28moQR?-NNDVu-J>VOxTlKyjC-Cl-4_hxf*d%Ja=@|Bq6RKXOP z_9z>ejuDB-**N-mE#y-_n&#QNw0mgB;5tP|eO%Ezud=Bb+yDK>C^M;J_1tA_tT~{s zt|I*gygmyvnJ7s;B%NuZhZoW523ZhP#?8hAG$UuKs$lAiRwH}onhJwDa_>G&OCC@( zK5w+((kj7fo3PW(+31`QB&$69nv?w8ciw%)zk0=z`<~L zX`|G$jKF1^v$Rqvtn$gMY6iK`21zveMrn8J%l0ubT3p32!OXa#qa)z=} zbi|i8uYMzmj=x~9Hj-EAcKhEiWz3y}yU83Dr3TCd!eSV)E{024%6XTvj3cc@d6Pz9 zh~{V6&=e@U&VgDkq9JvQ)D6_~>%B}0(Ft+mWkN?gM2pg*ifmmHt%ABYZ+qdCuhaxK zG?G~FXH$)Mx%hPzmZ)nKBK#_SZ? zT8B*Y36HoQ!u&Mmz&tY5B(4P{{cEo+%EMPmsJwsPe*au`?5M+gsoxkpoTOxE9{f$! z2%2@G0}EvB4%zZLU%wpki~sv)_`|Pu^jq&~$ThvZk9B&wYK22KWKJEmI0en}``MAw z!B8|SeWKTa;FPHEV821xhmM&T8~zr}0iRqN(4b^NNZVRgjPMl7r#CYG;L$ZMMsv7n zkfuQzf{DNdkQpudAzg)vQi@Ty(QI6HJ|}lo^K{<4-N>~53V=Qi49gn#rYe(;j~xol zcyR{nfEcn4(8+LZ$DwWjUpY^_+Quy&z|A&^8zD(K@~c+>XT6e04mXCf`L^6U+dUUH z%K#S@l+ZyKXSk(Rp4mCWZ+*x8yymVc8DA0D!k%dNmcDdpl@$UqLr%co7q%bVu4t8r zzs$CDP`D8-b!3O{cD?OoHqTgzK!&dTD#Qq-j*<~#fv0=Q-z+;;U5axFQB4VIN)Q!n zl#(}e$firSQUImuR(@oCzST zDPdg*tk7LsAzrye++NS=jBDXA1w=Jg*woBdyau^~DvAg4T{SZ0&f!|;2=x=@g>zr7e>Qj4POD4bh45+!v%(JU^tTr|Mk)aA8RXrnF?xaXjsSn z)j7KL2xjVu8q3vs4IMqs)AS1z_4mILPvB}-I*Y5oIjJF9sSffB$ z!N;NLiA~w=0QJj06%o^S_(p*Yvn{;sT&DBIFB6_P zhIz)_OdUN;8rtFtez*y1l)PlC3PIoeCHi%{Ufm{F(XHr;D>AD_AQU0Y9Pa!Q@nesX zeBrNo>qDpck%vxRTge^Z=Pz~iw=cHXuo0(2%PXdpS4~B{pb;{g6~LaA14pIfRtD-^ zm7P7(mF;b>tvHzlm$jDM(KaBq!Z|T~tkva@Hk8k7B&^vG7g(?XB5>fcaQTnUfNNCd zT(xM31L^_HgftFBFdLB0M@S>@XwO9H7X?ZVf=%2=eiL}xXEr)S%zBJjONp0LvehoMGl+|^)UpF!^FEaWmoL-)vp>Vc8EOovQxXH_;3Cbt z?!eu3CvI_`)C#FG)SNds!?2~yXJ2o@`s2Cldxnvb#Nnt=$OkGy1-rb8J@X{3uRei0 ze*x{bc-8&W{PDm10lA7?ZnJ$+Re$BlHU3>Mz=Z*|IAKmxo;elqlG%`#HVpS-Xl5xc zb9wXICdxqi_vu%<-}SaT8)#IbMGUA7ShAMSW*L97?)c1Fm#?MJww5HSjg$tJ1DR#% z(erRox8MyZJ2ze4`dT^=!~2SDe{#pzV8Dc0WrWrN$mvTM;1yqE;7s{vxf%&yb#d z8rkR&W)71k+`X9cZ~pQ3^WZ(r>jQLvM^*J7JhsH6b_T*AS4~S3rh8rPwD5wNh?gwZ zd7*{FsS?BqSuv=TzxJ~GTE};5d)r-yLw@0rI}}U17VwyXPqmd#FSYo~R?I~k(XG|< zkZ}AjqOKPE69_a-u7EZbVCEY{^ATEyG=eP1wXJg+ z_R+g_ze&7J>iH_hkg8_N$sR-CAWVQRWE+ljrGu{Za2qjniV-z6d3R~K*Ja#Lyc?oV zKBkU~k3LGh)hW()AX{9d9U3yFqMIOFcfkAOw+H*C zvff6p0*%xWtgO>H^EG-;d>t+?VS6d{f_pzp9ZkE&Z~oMq`M%fRyCZ(Y9oZiynZEC_ zRi3O(;lg0BiBKd-Sm?HSc4&F&ff_HIuW`S?T;d3l1V>SRHICs@{Ek+lvd8x8F59Xk zah0cMJIP3`#P-I}4MWaZ;jd!l(@S0cbhX1164I?Vz*d_Z*>c8PL^-f(S$_0uxOS9h z=|dIsDrMxbYSa+GYjF)DG1LsyEzH%4<|1S|LS`aN12lxhLfY3i*YQ-BlV0KRPH}IK z&DET*t4$y_J-abgB(WfhQOV1r8E6->jTG7F5wALQbt4Dww#$KAO;IMx&y661gnaam z_DkY}X^{Y7{^EJoKJh6cV+RCMNO61z`s(?gP@F;!M_RAJiK8@6pC&qaoOGs1+e(4! zZu7ai?(=mElwh}W*|J5|W~8y(W8&(V794Eof0Y`a5E6)VzLUUTY* z+spj&`(MpR-u^}ui@gU_ue zJi6TCuQJP}pawQ5W*VxEYO+0@p(qQfrS<6x#AnjH#eEZzKu$NA6D4Hhb2)4)uGU2I^d1GHu^H3I=;HZK{vzAWmM4x(%usO-HXsANqZ)UVH>?nDe@>^D}< z-AL78R zA?A&k2AP6|rZn5;qPtj;~ifgi>!L{mU(9NP(6+MkIAx{O8D8!sNg1z$;!5t@H zW{OyHrMZDlH=AdpE9+(o&ovee_j8gyZtsVNo-l*RXusjNwJob&lf*6PGthIajUo4gg&(NVdOA?wU(~ni0t~1+3HjDs8Lx zR!jxt@sj356UDfhT0=Lqd^v%St+)8kYlbf;DcvA~z~o%eS1JqbWP^w@)3&t!>p8M@ z24(l5GGU)b@|w%jeHKlsPNXcmXF13>LxTB;V9wy?B6O~X)X1}VtqjPi8?FY(R@;4# zYU94-euGNxS0LBk)W9}s2Gg(l<<8Z`Kr1C!?cr8Z;*|tiY2Li1xs+p`Y?!*zYT1bK`O7dF;2xc?4 z{m^sU=OSF2q-aZjWVRqu%d0^KArOe-6nAME{qmRTo_Pvc+aOd3L@*U!tTHUIqd<~m z9BZ!guYUD=`R3;>Ue&|Crk(Les``^(y3AkHXL9BP8B>#}mYItId7H&dCyryG4_3#O-TUM`<@>jY5#k`=48mU~G5>j4 z`P+7nOKRzbAsPg1BJhz))>veWsRgum<1?`pf<`VX?-BQsK=MOXN_GzBk{2UX@oW z)2NE{>1c1q$S*9nlo3IkAU&|16x(+6mJ-sH9<+-m^y;BHO$waX5*`m<1Q}~^b*3Nh9s4wb*n$+GKWc5 z_??e@JMVkLy;r?>*Sy;QeJjyleR6{*8#DBE2ZuOo+2a06z-82WU5>hx`x_yzSZwfM z({QJQnK&VH87hUF)&0IH^1Jeai+{|``6xZA>vxeGksNG-hzp_R%fKHmC46?R#}mDj zr6?i`Yef{Sl~Pgl9*#jIt+F*m>TX3q+wo6V=V>J? z?w)dqR+<4a6(BP;qJ>62Iu}6}L23(yHyven7o(g_X;!e)_Z2 zy1o4Vedy}$YPV{&Bt8IU5y(_YQ4(u$GfjfShnc?j9`xuUovD2MZNNBLIj2|CKsK>k zQ%5EZWMpy2^g@~ZZoJ-(kxQ3of8}wKa~F`+HKNQBD*Y=EEdsx4Gvnw|sVc6w!Mk7o z0RQrlZ@H$GyXNJ7QuT-b)l%nQ{Nqb8?dJ6O`^s%Q0t*nzQktC&?h$ywT*N~Mrg&Be zM^cF57$w7%uqXS?%N9*5I84zTGt7}DsJbCh6{`+|1!GyS1w0|}=dFy7U+(hxc9*kZ zgR~woxPO;Qd3szEkXA-*uEt?jH;FQjW%)myg^j#gF#L1ZQF7n5Ogg4nsOm(aX3=Ii6%N-*g{dCRYrNn;8RBvBRuw(0l9&x?evF=Py!=Q$iFeuO$nAr6VF#X3T;) zg{0f&n_qZXkUIK3^7|oc*9;X~_@zO)IG;ro(!kOV z3>Q@R)72gyU+?mn#Bj+*U~S&jT4?ABisqu_1y1Sk8dMx%b&pJ z&fu04_+q4-{V&FMiv+F&a61~gx_tUVOFDFy(qMys@pEtGZLhrJx)y0yR`}ob68-rn z*7#CmZg8Kz(=n#)zR%?)`9_lPoSN{8CcJijio2{*bBZKselJmSg-f5YlUU1qJ1~myZ+d^+TOLjFK{}@KofN&QAlv)DB(S)uy>utHS5HZ zSGlT3Z9g3aD|x57?ex&EKSlP~8IrF(Nzjc6F&Ja|bq!b0n%l~L>2s&_#~0052dw~^ zLy{#v_i19_z1ueVvOl1*p66_vzKFeN(sfR$9FZl4XQh!hDwU zg6W8dX5bagI!AHT5{J5Mq%p5jL{i=5vV6(VwE6cAt^un4pdgtL!CAwG4ftY`@n|>Y zPgWgY?xl2sfXs%7v4h#_>Uxw-Ipvy-bgu7xNeV&?Q;%n?eEMmiHsOb~h=eJSq0G)V zWe!#MXp7|*RMTQ8xg@~JGkInrqS-p(q9touvgr__JYaLhy`t_E5XNa$-;69~FRuJI zH5qMQhq5_TEcsYx4@}PywiB}DjNVF&t`&`ISrvZ@7?UlQcPK!!1*mUVEg57@n+cP$ z8;eGjG2r?32FWKsjc#lZNQe_HgpP0Q9@*sQbWprk@}fv8kTo0BP9CRz@14X)kB~K@ zoT6SQpi;HX9xrKh10nB9zi^rKi8FK``#P*|5TXQH@DrHgs#mt&OT+!(vgMj8Lfl#5 zJ#Tn`fBneocV&TgZI!>K`oI3lxz>06k1gnx9O2FloaVKF&!&aT;XjIdOeYCEJm~99=~X68v^(N8=4@9F~mW@Q&#wN z>iGCl%wMg?oKvA4Mz}EA?D($KMSG(~6jTvoSXhCjk3S7-w$Fw&(dFH0X?1jBV)X8N zbkuUwuXF{gPr-0kvrxB~nGiD8bVSNG|Ycpzw2XEkVa*=M{Fp-xDH^y+K%I^ zVYb_bfN1EvjO!RKKA7Tsm;{2J67-aKH6>l?;MPj6^E5{Yl_H(q#&5_D_JCX|O&rJO zc$1W*inWVSrp}+G^{LNNE6VL-$6Id#pjR8@`*O^hH<%_E(wfB_T%>--Nus;%pgTKF z5?QiLclCJh48bbTaf~31F+%8|v9eD3)YG&dKZCn)5z~#S1GX|}UWV!-az&q$w)1=39Ph0-&Z@iah9G1xfbbvos)sH^D!XHW#f?#tq$#sH{6ap{(+}!RdgzfT?Z@F3WkrMQ~N-HIXsrv|1Y3yjupvl=4=@jo|EHEJ0MUYRGB< zD}mv!fj?X7@u}q=UyL(W8qEU4bCBo<99R2HZ}{0(rcz7#*(G|9b&In5ejru9%B{Xt z0L4f)Uv~ORTFl04t~NInU}kIB*@$4Sj+p`%=3{e-R66QMfA0`&?KQmgt%AJmg1_wm zeN%tmxZhFM&~>;vRy1}Qq%T&I>wKpqs~ys{3^sZ>VM|=db*dfw@aW&T=IgYbdj7Gk z+BYe)6y{w@_b)z+oIOuaUen#slK<7NR?)YkdCHRlF+w)m#GE)r^YooWcO0W#3+R@C ztm?H@rgq$STAcza8<+C_qflWwcDQpFXr1{Q=@U=F`a1Pu+)T}&f;6s&bIa^prBb1l zA@ZF86Dp)>%3`$6zx|CL;MLEam)+YryKH}$Iep}@6+Ru! z?r=xiTn3b!F&xw^`89C`Du0&FJB zyXvP5Oh=gc2H{+YOhq|=eZf*4n0&|4bR*;=5XnETIXma{<+Aevv(M}nEPFlEt&2H`>ti3}P^j&r8q)b9W6PLHh) z?)}|1+4fd%WORIIh@_~B-v;A~MxYEx6p58=JtbT1z*>r~$IwyeRZ?~thur&UUik)X ztO%j;*kidxgLEJrD95 zKlaeBKiECnDSz)`OMibUVWX!W44B2%)xggcDmmGzWwUYy~%HN#Bi zkkmnz4XKt5N-JB9hiK)`Skzk5NI0j$C)d0DUuy}U?ZTP~ae>W8&dN>VTropkP*rNa z-LBlQGa=?QpMzIr+F8=it@AA~4X|b~*W-dS% zYMA*t)W|7p`)t07(~&_?t?YRzyS}rnOVpdjh${Tl>WbjAIxC)+%?yDZ_*V0~Nn&_MNMV zRr@uD@0a_xh61*{5A7(Xog(WA$>o%6ttg)-<B0;NxoonIR*(7wMGTEeTZB-+ zZnUvaoul)`uaG=_9@C4d8QZ@W9UMj3)j^>_hORhc5GVbnI0cekmj{jq{QKYhULH7J z+h2eV@Mz}rA3nCsA4fBTZ1t)yCD^`0cL)^65LcKAeIH=cj7HMsh`{~Lkk>8-JU6i1 zp-@YboT^V9YP3kI3W64ESPnxTbB<4R9RF>(%bA{ISps@dn2XemYmF{IFfW0Q-u+an z3j2YBq~DLI%y%rUPhKFo;PU)U_LgL0|JCD1o^$oMjZ#c**|=4d+|8g=&s2y^=NUtXj0)yL>P`7~~IjWBgYPV=G@n-izq9u%tf zT2&`IoGMwSEZEEZv!8!A-}&-md-hQGe7F2>PW8wC<|0qe9oS5-cfI>%6!6D3(2dgh z62Pn&@}jv0uUw3{7g$UjL6U$7om#}x2L3vO|L;PJ&#(9Rx*9f`Q-#u; z4ocD@R~MA*HKL%EX3bS%obvl6%}e+-pc%nbh@FkF zb9KV`0BVpF4R<*KPBxGP5+QJcO(94iZ7JDumuxl0ZS?Za^Bx1GF=vakrXut_q`Y-C z0nRo*bX&9J4xGeXw@v5I|APAE71YS&Pm$=>GO9bCFR0wL=lAVOMskL4yDh`*Ihl& zKl;fx@Zs-%?w&r-8?sw|bv4%CIoIMsbGFiGBiHj`wTyz5+x`CK)dhdr)~{AO4T#7BNxM#)$l^JkxA`7b`ll*%R{ zmi+|iSE4s4)y0eq_&Ww&;s(Lx<#tutBIr~DP99_W8F$e> z%YVw0GS1aZeAB)7R-+ud59k@-;x*p-&|Uo7Uw-qRKh7JnU%sTOzjJPb-`{|4y}5nH zeT7%GErscJzI3bm`113a=JzpK##EYc)TE>ePf{Zb1BU9C{l+7?{@1(@Z1DOk2UuV# zwPb&KiSE-qAl%H-HM-C@gQ(-CIq4ncCR+pg)u_1j%Y0Swqv9?;RHzGL1?^>d@Z~C# zA)}71+RQil+O7w%wjkN?Hh5-J;@~rXjyrdbpb!PoiJuD9Ewl400lHJoDQyeTrDRrf z1~qOl0#?voXDGcWf~f}D=@RvNSY_}#WOF;S7Md2rpguaHy!FWP)t~v|EEPvA>9%Xwp3&k9m`2$8+_$nq0s9 zmN(h?_l@4KZ#%*z+w6N8{vBmwTmmFzZ*jnuW18jN_gEfuxz4pv59U``AA_UTiCJG+ zp{4>x2D9AzaIX)=gIj#vj#1216fs#5Lk_NqP$fXHNrGF63lVA=smIDgKz8nFq#O6k&u*U&kL={B%g9)sY{gknNXO=(YCcBU|Jf^?m)#lr zyF$yavxRm2lP8cKKk&%8gFO_w$~euysEmYej867jF(MqeL5r|6^AgNnt-#vGfCQy~^{DuI*97M3#uVzW zgFc7MWrSIaAA9HD;agw0aMNP2n~Iv>-wfp^4%KLOI>Vi}R|uu>>5mQ=gOd3QI-Zm{w(i(9&&BRH)J;v%Rr`GS<+F;#VGc|oQ^kYQQf*^9wjXcaZt+acRRUohX3q)* z;!76^I=z8|6GycH%Q)xV-2{Vrmc|^ORsQjZ{_bS#w@G*rFA$NRI(>i#;$EpHG4TIe zakZ-l_M3(0ebuf0JZQnkJOlP%z36oJ-8|mB=_qMWg>$2p#Plv+AapJ#lj%2|4xFC) zZubd-?=sL*j2O~PX|Tr6z5flo?3r^D@t`KA2KpU=$OrG7;ZSRN2*G8X$O;tf3w}uR zrh)nxa^|*$snc@=&Z%gg}Hc5 zm0z4qI-uUX-CnSugWxtakY2ou>2^^OT&Y(-l978CH$hp9n!YP@NtxsZ`?8N_ObX{wF)W)q+?cs|(TLU_5ZEZ;JDFyW&Ar#ZHOh zg!cIh)LgE}ZOiW&$<4isn-DO^p(aCANa7B6AF=$CkG^x_Ug^Yn*yo7Ihwqx_#dMK0 z0Sc{c)sg!s{7#>o)T8gPVo{>I4uYh^U-y}YHxKGSt}+%aUq)K(LR@4xDz3H%c^5ZH zpf03o#-Ulq?>_QfJp0(>H8@OU%Jgy(`R|TTbEMZnT$*ohDPOQ-)2{b68QBLyVjOM; z>}<0ryH_#~@pI_jZks4~O9vGgAw7QqiId?bA!qZ3E4N7p$=glKRR%$pbBbhZeDnt& z;+vkoIFYf|#MVIH-i+jX4@S(i*Nd6vQZ#-b4C0&OCNKK{=oy$f5rHj&u`+`f^*M*P z+XT$ZJ69cXxJo@u>0Y>q9o0Q3F3fXY8K1FChFi=1m2;4FmwEF;_wZxi`P_+hViSF- z`GEt?&%9&4M!mgW00Q}FhqsBg6ouncP&fG)VkLw3=IwU2&_QHS5$05Iy$xRb!V~=aU-|Zlc489^=%+;<{DH$w9=B(4m1Z<6hBYv?e@v*7?8va@B2_QlBdrTnSl&vzpPu)J<0_qeG}^j0bJ?`(=~qP{cq$Y_f1Xw!`K%g;M)QtA3izH zp>74#ea1J@mMGZ65zGdF%Q>pOdAp6Rrb=?@GPF87&^z~IJU87kg>;P%ec#J?_cx#3 z7Y}3K)O6lBV|nj_r51Mv@sr3vdez%xgtYyCD!sZ89hw5Nf;~>WR=T&_He+vQj^x}q z0*})Z@5)pm>22`VSKrIezwf2{=85eaK)*{w-gRi2*90j+uM}~?i?vM32^i|%$^X#_ z9F3#1AW7x>yf^c9J0QXcoC~nNj$L0veC9o&xrpZfuR@k|xbJwx&%FQj`|7>ytFDXZ zh{z+S7I=>9=E`iQ1P^bMn2}^C;i7?g>!U7jw=rTUHC5Udp2qYNj1OujD;H56@=jUW z<3OXwKmFOa^T5$?Up=gS*GBnDBl3ZhGu#=s3S~Aw+A#sxy;&8nuyzEsr$o8I*&a3dS3kv3;Qne+LvJmt~ZFJLvdB^WlGZOA~CjHvn~SlXFOljNPG_nSfx?0KS3I+wB76W#g_A zIi+>>9Q8B<)to}qyQ|3oL8quQ#JvtLfA#_X=}*0S-#(pv3+Sgr-u~lv%<~%QLYn$r zIdK`g_Q`+Z2x=#0a&C8T-foNipV!@uK)A6^vUHiC$j);x_lQ0*$%hD8+UEY_0l)Rg z+xK^HvY%i4OGV`26SLeCZ;XtuY2~MC_pKu0E6Zc57tk zfQVw2ma&~&_q>Amew}WPXF^r`?0f*~plRAPeT83?-Sf7Tln6+NbV+x&Al)S`(%rG7 zlpx*R9RkwbolE!9EDgc}OY^SJ_xJt-^SRGCGuK>mow?6EP4w67N_#FqZ-Q5#>p`1Z zn0ue;Evy}WAE>;&n!u7CYvsN1JoO1M8&jqL?X7bn$RXZP&*2U7yb5=K9u5lVBo9t? zgC+o2-PT>!gcFsyTA_;%NTOF=OMj=9vR0v(hba{3{;!%07oyAGs^^XoBG2F0cAS|I z8t^hk{LrX-V?%F?XDGX}LoiZR$I=M`Ti}_Q|8nz7&dW{qp?53%ILB~cKwUp~7V8Sx>4l#NTc0+OoZ^loM@H?oP!M^?rxRAs`Q)2K1Z z_AAu;{i~h?F8+3a&{A>(RV9GNeI>LC1yBh-q0K`~LWUye%ma`Rkj;0?y?NrX!~D(j zJ=N7Ny~W+nhV0E!9p_#-f0h&A9N7aq5jl6VcVEG^%{0Ft5)Hx@YmMam9rE7UVy`Q< zq1w+j)5X`+ z-6_}Tr`ZeXS(N}UwC?EdFxj;541;>=Oz+LR&36Z9+O?`5+v&}kKzq*`-{~o@7ozk9$(dHAU2<{f zvHLmH_rg{MAReOA{>u(sji?G zX}h$#1epW7vA~u+5dC%g_h-8S`wb(GnESaoEE@m(4p0KVAgyj&RKr@@RhvqslJmyQ z>CaT6MY%P>RHwnExuS7USjgscx~G$k(S|=$^%#r(J)kSx_wHJ_G=VpvxPKq&oWW{z zV6GEOtbVu}Gob!HUq5)us+aWODafbY+(YDzyVeeb0K2qRvmyfd8f0|x;%$?k)&$Uc z+~YtyRxjy)-~FQDxZPEFo5B*eKC2_JN%X7Z(J2_=>}Jy3bA>7k(u7VY&I_)fj!kV3 z{P58sNbSkKpjp5F>Zh_A<>|F7n<3SqddjWFzL}QJ8 z?gpEE$2`Un9-QNcH+=pK@vY!y(&-G5=N4Z8%&Nq-!?u<+C6G=CKx_W*4U}GTzY@#I zUtCE?S@?Cy)5q9pJu>H2fW@3nD6@h9R^$CmY)AGS`c)qCwf@M4nUw!k3_{ka9qzuzk!2KMDMXBp zkGVzr@KTZL`x=AZ76gjY1Fhg-f;HS>&Uu zmV_p<%g1Co{sT_py0IGHze*hsy7kRU6(0KTmK_d)cbFF5%)c*f$R}gPsPm zsgV7*2e{ed2ov~`33t&h@dI*wOy3v5A^&o35%|n*jI6|TY`4*&(E))Kj7Nc(vWF7gqUh3RR@AE-!7vywSqr zfqHu368l|x<0^wO{Td(rk1jgXEk9y9jHewnfgCS>BVFZC*H1JpLi%-6g0%Q--BZbh zr%tOsneDI-qh-5c?rq$T51plgLS-piy#gten3!vJxGqJ|O0ons-KN9ywlpaXcjz}D z#2Z(2rp;${n~QLJKH$EvO+g&h3pYq1y`a?I=0ytAn!2Cu@i~9Lf9jttO=ontZOP6< zk6|6Tjx%as?7oS7OQ0#*DA-1(y}1+aX5DYEuPmKWw`0n)QG;tiV2+qK8+>Bs_p{Ou@{RKClFh5Ms=4 z34)$9bruzaByls~-u3;Jg4q3;zr6z#$*VTJBYIcy$fJWfl)@F>#VJv4v>N_s80(q)O@ zWoowHKU~5;ZI1yil4<=`41c;&-H&R4OO5p0GV<$#3Th+uocJ*Uo#UgK5PBm&olroG zD&nPAon=WyCVcUPK#*Is@l&nie!eB!-5~Ub=pXWoicz2U^Is3`U{mNLN?4p>P0J+n z=WhLj7)WzDeV*UV&6O~CNnUx3N`0EuY$CtZVV!C-qiU#F#^QNZGqVFJ>oQftGH1DH2mDYt|}e|#|AwQ)wd$ZHx;yAS91X~vY8hx)6PQhOJhBEyDfJWlrpZ4?N7IGec5k9kJFErI+6rWi%ap_n~2jm@L= zZ)90nOjZG{hEX?@PVIJn$7CO+o~<*S|E%oukpoD8!WMp{`*6==w=wK-P%;OXyfs$d z6rv1Mg&gOcCr2|9?Mxhb~lS ze=EXuyA+0EeAwTp``X2xm&^60OtyBMgo>WxY(eFPbK*6a z*D#4&RO4s+!=A_V!0tyGJ(+Ca&Ru z9wId3KUHcOTj1Bn(drz%I|WtAe}#N6ogV}92ZV0h!!y5e^ZRJHDefe|m1Ud)az#)- z%!rH|GRy&V^s>F~c|L?*{^;VneM@~c@=G_yO|Mnz>k38KJIiC(SxM4}!cPl!xFL}+ zujHc$ePs8AoX3OKCTkhoX)JT8XqL8bgOhy%kKd-6O)Pmo-BLSlw|XLOBzlW)3i;@B z#bJ__bIcvRlOMErCk|L&A)dhKhu9|HjFXrmh7}S>JRiP`n|73UT4bwk&P))sDaA-l z#fD=_0Olp0AbYPNE#(Ed5*67#?I0TgE4xf)f?JWVJDV?ZVE3HvN(%LBQ>m)%gz-|y z+%g;0jGt@tFpFWosPVk5XQthbDqXp5f}+g5ZemR@Xia=U*ZMs=$~`#0H<-@RheYM=@u6XdtY(fa z=CMw9R7E(UCa&7&@?YDtte9D4mzV+9O8)V}c`7NLV-ddB^TIMd*`gzN^#NzR4EBr_ z^4ej4zapl;C#^(wb!`8&QRt)E)3jEkkc#S;{=5pTlYM_|6OoLcz-`jBvF{mh`*GcM z#77?U5XWlMxcTZiEQ8dphJ!nCKk%T9r3owB;71R};{5os_ZkcP(xi?27sPruBHq;` z1e+HcV*xB;=*N8yE$5bb4)dkEbaH@5&HdY&JTRPJ(AgtC)ds&kJIEt&morPr+o>Ck zkAqNK1y)S`K{pXiJhzi|K=S;nj3~=+rMMDPoRBad~U0nh)R6o|}Fr-Ux(0nOr+Zj6p!h_IeQh;2BxtC6IE7!YSI)gy-ZO zs{J{|4X~BA4Wp6m&uswlP2=0ep0UUGlYf?NF;PquzUd6!e|@dU{*6PMi4)XHY;`QR z+i`Z~k@(WZB`4`|32)-;lM^uM*fIkt&zveJxlhvve*hPd!I1XE>*Z*KtqA%0+0rpH zRulr_dOLT5pKMyr?Q$>D>8eVe1oF{N7vVsnyHwbs&llEA-(%3 zi@M=yd$Al$^F#k#d?>NEZm%Xk> zc(jfuHia2LHqHvt@2`sJa&}yZK94!n@w|2wyAwMsYxcK?es=##BmRK~ZqMmw=fif^ zgfQw4Tv|B9xUaeJ@F?#`ge`NQ*KE%k10r+9JnIelBd7UzVV5`A<=EA;D4#Mka4R>? z6mO7JIwC$`N&&E2SYL6 zCzMS^BM;wAl7yWFrRPDBF;lZU_<1I#9t?E6R&j!trJVBH%obQ+w^oXK}5!}Ql-B_t@ zG)Eff-+|{}c;hR-kh{H0E;5#1lLm-F^(MdCOX0-SR+o2P{5fL_&PozuBg`#1j8PW5 z_D1P%AM)lROF3fiqA;nH@IIyqg6a=-aagjjLh$AuzRS8RFbsKK$++yAoYzH*B zFe|cj%UI*MtnK7N&#UaU+qAUIJV#cKUr+bX*$BQ&xZ&v4mQ$W&DZjr?`4xzhT)wLUp~7)`z?zBg2Vn&u5`lydpfQ zf$1M=-0jtA$d7Y9Ioe2d1@1Dbww^LChc+>|@BZq;sEhM!C8GDhIwuQp<(~SR63VwK zL*qOBoKbBlLD4gsXw|9ws8W>q)H>(Oaq7DbYR8?_Ct%vT(x8>YbsjhGf7(g*5pAlq z2qzzy$c@CnI|Hke;a=7-&x8XabbDCT&FU$&f?m+f0ar*foCw9E(@K)1g4jBK%e zpMRti1@RyG0`tS03a2OU*UNEtBA-^>4Ysf}DSnxje4+A(p2KE!CC1uirRO<%cL`|< zUiU4cHGb)wmRi1kl(ZndNYW;HOCKga+sB*)4Xit{Y#^u6J!WJO$D$n=j>VZ>1RUvo zJ_P@EO%2LZ@afJnV)MC3uFKihaU=!joHVV@t{{Sb*oi%-SMiXMj0x4VJbJM(?ya0k z7Pso5H)xhCYvlzA3==5~%N-EeRBE0-Uy#yL2mn4T*;%LodJ_cJ6gE5b4MD|<=N86T zu3EGX6IbV(>r<}KkL(Fr^4S`U3xd<`;sGfsRr%H1ui z+3&fNpnNK(KrcW}_v>Y$L3_L1Oe<>JrM0go|6Y78=e|Xv!@?uyjKDQGi7(khZVBBO z4~bZda-Ab7b7JpEea^Lz-^N$;?3b!C&g|}7QU_SOrbK02g>z*+p(4yIg}l=#+^43Q ziXX>qH>gEX$|#d`$97dJAuVP`aYmxr6i*-PNolFE$`6~gBB!iKlkRPAaWNHx zu1oSMN?CaDoTZ7w)Xxzlls4p9u&_**^ABil+hTPZ>??I!jHLWK0??Oe(c|a<+B)N&m$o-#H>_2JPbGwpj zz#66qDqZ*>qr}BH@qCiz-)tD513Hnj(fjnBT%{%^luKTjZ&URVKLtU_egXfsH)BE; z#>4D>*#$ZHV*i7h;IrU>w&n^=J%A-IYFm65@Z!6~0bh1nv(TUL58Ecc6|IHe-0=R0 zDo)H{tTG)YlAZmnRZ+W_uTH+zNioXo_&WJf*mGpURB<{Q&!lE#rn&TI%P+!&kg50& za_t38a?~@5!>)7alLcj>Gk5_8qN?d7q5H6;#FnhfrOZZh7E>eiv9dLls{$(Hd zKl9)tbqdFGB1>C8RyKJ3Y7_@ok5C)n*beD0g>V~5zyXTYcZA^)orzDXA?~VN*j^q zYZba6O1S)f-JCuI(PXhbbNog0>Uv5ZGcDkfj_Z>t&Y62YE?DySMb+af z4s>8YR&eM~CfcOyWo}j_^nP=Q^ij~3i!QYh|bkHj&Ut=KO(4waGj1S zpxqJOC&RtSRB#Tz%*{0-$qa+$ukK0!mAoyA{2DT(;jvV!V@=dsECzMP0bd~@ZST$) z6~dcG^}b_Gv)q$qJ`Tk!+C~*uW8EYTsm`&+cZgS*uaSHz0LbzQS_#f<{m*!ALR1V0TL zW^VnSy}`T$<4Epb%iYv_#{Lgw7{oYkrYv4|WiE&DGo1Z5twzD=lf0$}Uz}GtR!8ZW zwWOPVj;PA2e5#iP&zOF;(vUhTQ&$f!Rl%YYRk1jtV%ndC{0VO;yt3=3RLTQS{oRIQ zro(tqTdnr#hkM8g4#K()(vsai&N7|5j4eU4^%C(?p;U0p*ueCxji>JU1<5nxaq$;~ zY*FPNm**+IQS%X6L#=p^ZhA~P*PouRU{)iqp8o=ZXP*%p;B&#SM2BIJz?_kbPf~ga zKpWt_V_v{FJCZA!bIa*1r;O94ls6ty{w%Cbv6PD_?sAMPQ5X+$jE_MMyxl*B&S4~S zi(&5+B9T2j&_3JQB1}vGtM`;o*H{E1E#KU)!nek&I{VFz zV&6XxB7(lEbO;lUU^XQYTCwh7S5ET)*w!5m95cK&^PHq-9+B6W(A&5=@bK!D?XKa*I$dLL{q~^G(a&F= zTT<5kE>SKC+0Ey?rbjB6@R;|vGqYjqLW2P0U+VG)cm0`AXQ)n7I*dn=oWvtgU9Ik6 zEwzTQJKUgUHdTJBGk*YcxJ^`mg0aKa>JF{+RFdl_ZAtV-QiK{QggFO>$tH& z0qrca9^$9g=UYPEnea50fSnCC$n0n1Itj-hhu@YCxbfs?MBC!FaK5W2RHXo}h{;<* zCT{q$bK(=UmNw;aEgVRfYF%++rr;RF^)8W~t8(tCMf;IL_8|VSeSA98PqnDZZ`!ZoxKYoI8lemG~K4o;9}Zj-%?e$nfN zqs00sru-=e%XwV80cv`HV0b;_A1t@N*W)oP_Oge18#N}wtNhPiUo&!0EcvE-{;Z8# z?v?UX?b5C{*A~)jMPXa#yQ0uD^&StT&_ zORv$$WmmVk9B(EEXNcq%7s0GX50J&j`u{NvcWgx=kY0HQMt7DQ*0P5n+SdkugR0UU z7Oh~Dxtq}^SFu+IAR1zowyfx;YB46mm&-f<~nHHQg_kjweZ=31vdAvD2O+UoJ&g>jJ z9$NBqnT)57TK~9BVA!>Iz432rYyknAD)LVcjNq?Q8)8MBVFXw~43s%JQx7?x7at8I ziamX#T`o`Pi^r8qEI8U6S^g#?P(NKKKia3k@cy|cu`xloy?DUMuS=&fRiTxD4{r_D zxx#u3h;_sLK#|4pnTRQB?QV8~dK`4Po|u(E8&$x3K{d!yQd~-G1{%K)jh#GK&WIbp zHeCo8>+lItXcmZ^f(3~Gc9nf&!0VLkuhl+Z(cWy!>cdKbf*TyRnf&I zdwOfTKaUj+d?S!G`jB5TuMaws@#i2QLCtuxyy0umMke>1tM{~}EdlL~yp{@NtvS}| z6~lteG|1r^?@`L(p?6Bc0bL`UI&R%;->mQ*uTm35!-&Xrl5XY+eFN&VB`Uu#}Re~anBbcbKWT*7bw z?yrQ2=#~<@!Zr)VwGo~mHy^QZKzoN+Kus;f{uwP{+&Y~0#EUz^hK_`D(aQ5@abfct zn)-UgN&Fb!iw?{Z>rbQ%p2sLDx<8so{z$0>>sJ%*igkLl|AKMJ8K5vYtE1a8s_Mp@ z(r_gk`=S0a?Yct%bAUQ#ET;FjN}J@jk4wCVek|*J*cDYFdo{V!P4P#m?HO7-LZmA@ z8W8zsvS5Z#eg~I*vyp(;$$DO4m~&6|6!z2Re8gbjBLTIly1Vk{f#a2_|0a3HG(gVo zKe^%DM7xr6_1=oWS~bL6iTT8qU{C5D5Co_=i8j|JE6!_CD&c(T!|x7wG^yr+5W@15 z>mOsOoNU4!2LfySXPXp=bf48zX6 zA&&$6)~$PL7f>3$Sb<3&pl`P0rl9qAhad+#x@v-WQEgTXo60MP9zf;9B-b|XgVJ9?Y#7*SIp@W8s$xTmfMEX0hHQ6H=?`iKo zQ*i?3XOkmK*&`%AUzXSO81C9Fxqdc9Iz3EYbgCN6qa=+@QI<78m+ckp%1A!x>VHFm zhZAu})2Z3bx=yB_-D#?sg(#vq+ve05H3n~XS%5iUJf#GDqbC=0PFU2$zLYIeL{jef zM8|r@r@pK(qF*w!gF5`VZ+o41e%TAkD;7*vk^}ygn52E z+q`3T%hOS8Vn31gzj&CO8aFj3E0Oqe#>4AK2+_I>bZ1DbGoAbuN>!hvwwcIngluY6jKk~=>Gp+ z0II8@9JQ{Td1q%Iu@z7KsIh{{18IbjdWmaQbZXH61*OZ7#D3LFdmKAcYUx81ICw64 zr<*U9Vx5~KIUFi$8WNq7>IcZNpb=N-86O89%$Zo5e~pZ{%dF(i*VC~ow|{~*5#Dmg zE>20+#}{@Cd^-A5D6CEC>dnU+m2v>EOf8Y3w?Of8ct0Oj?on#blzmEV!|HTcBDVp! zt&X*4|HlA7JEN0>`M#5?u*{LtHR; zdam@-&1?HxXBxHO&b6(JfTxeQQKK@vWba^Zsk=c`J)*ITXA}M9LX&EIf|aB;S576+ z$)C;;SB&G0R`WHG@Z?(50y*tAH4=qNCfstNy`zxTB$XG8bS1bo? zr7GK1zu>xvOOgt-`4pk*SiQb&>sE#_C|9Gl9%6x9#INjci3dg9mPgqhMqZ9A8 z3)&Y0Eb$R@8TYT5Yee1YF+rRr-yQzdH&ZZ)VxtBLa| zM{}M2$v!@t{A&j)Y|+};#y0GowI#!S`eReqB}TH%NF!FCZ~%Bcf`6(k8Rg`CPjTQc z+J{>oqMFj^)q*qGNOl6APW^FQVW#d*J5=4T=5LAntGsJU4v^&dyL&n3G6o$gR$%(; zCZ3AzwAzN~n*jv^j<3Dz4`{P6B1u_lf%<4Tkr*zb|Ka7lfB3A6rcP;Ae0j;>*_ zevH`gQDQT${Adu?ZLKupCU5V8E14^Ej{mNz+~TD5!k8j1E1fpYn1cUc#uY@dd%0dS zSDJ%ndH=Wg^Sa+c8HVh?4|_78rn)#I+4a~A;V-ciGc*rA%Ri8Q^AY$Utx*{i6-ZLE zr~SuaX0!3$ZE}#U#-WBT2TY%fMaMBx(6vPZ?(~hAs7z?G06>o%|IU8aS>57-9W2|F zJ=N9ixmrnq;9ZN(F0awLXUE2#P8DiA(To4qQnnP;LJEt5kaT>lSwV^G_I4zv^f$_CB1M z`H<}0`3-eVg+;r5zA8!}=%WNBBe%2hqc!8s@J`0yh8^!$zZgWSi*qtlPrquCbf{Vw6Q(K-BTlh{!ot*J zJ-~wn^%x@ohbsw4{a|_N zyAOtz*}*A*PwEVl(?zgnr{TJNPAG3ksmRTnK8B;@9vE-XEPyR~84cj22V2%s1?LE>XsZ~u0^_eAnuMcgE>3ik3PsfvCryl=8 z=3zT@W_Ea!$R$aC(m|^QAATdI$B|S*ElFFND1(^hq~|AWJyMncG zri5SoS%%U~tgHV^Nq(Tk+GQfdA8MbIZlg zDmw7LXneWL2=CzFnJ||_@LeUbZXEaKTfW}ME1=Bppmto|=`056@X+ZPSYoFYuPLZS z<)+iAo=F|lOiMYR=4nMzOPLQ359Cy`2Uxhh zC%%E&P6KjKp*tis00pB>{y`z&#-xVl1@C{fBYK$9`Kr)w_q00qoVflv$NU5j;!ewO zk3Jr|S-cZp`=PitkKLMy!Q!N^xmKa)8K2RB=IEV zFW)U>oWSA#?2cVSXgWTTc7K)I_^G$ZLmYjKn$eFk^D?jrk=;)Abq=+W%I=%?3mxjM?&fGnkrTslxiw`3?dQM2hi?N9+b zC_CRAGV-l>xG-Cus|zpOSfCaV#=G}-TEFzyfz;Yfk65os)ode5>ud=n&t3vC!2Zo@ zC{BmJaFQ}uf`kXVjFd$^GLb!y45yic#Vtq?;vPb_|MU)v3HB|tGxEy*qdmJ2T9_cS zMA6(9{;hS&?kvJ(Qe;kUY0v$Z-HYS_0$dddnY?zTV4VIvw!nEB=F&!T^|XEV|A!)>RZrBTDW)NXI&B zA6j){a%|+ltMdW5cvQaGIg7_m_g+r!$4dR5KjJM`C$xr`{ds4@IkBkNVJB`H;}Kg1 zE-4qF02Ve;uj2n$>NU9xV_*ljnz^lMHT_0HjI`Y&L@*OU2>l(c2N@qvS}}-4-WX5* z&D^lFT!QX+xSN?@mCVmLdu;Pr&`q*q`%<~&{MW5Yor}E#v8Tn{QwL&LeYSbEF1rtV z9uT>VW#UFLL8NqL(PnXx)|i>m7+*cm3#&pXtd6QovNxp`KIl_Wh^GPDtl2>g(B(${$aInAMLwux#38{x6#@>+M&wm*6(mecvu{ zV)bD?q9Q#tqFEOaQ}On6rq1Kl3S~DecpW03R;3m3BR*!4KMPg&H?X%?OFG5)mt&6CJFG0dcYh5jL4VHbBdM8Z#bevmt7!*kX+dg-N6`&0U4_9#1Z*a4OyJRJctq<41hQtLH!~3qvFKA zo!?%LkT1+|Sh<4I(>7bGzU^C4H)^1qPCeR@$jwzYv1ol?>&-Xa-jFT?kJNw3O`}eK zZ!?Fi=J`lZcT6Nqgvm)VL;F=yw5oqn>{y>MtRJ)Cy zn={RLxMnAPhNyBH9Y40zTH{{bdpgER=#}9H=@+$78acum>8Iz%SPmYlfZ9h}7+cRw z>7Kx~ zaZY+75HajpIF!c5WhLbArvD?K$0H1-`uPdOmU#yJBtjzfJ9kzp;S6x=(;?Ca_XiAr zTdMHZ^W37X6(_`S;BxNnxQqFxZfDV(0j;YthK1vmXdCo)<#bQmps-d8Pb0z)yC z<{_urk@1M`2uOg;DB4aq@Cpod*dM8C|BpWP-*KO_3EVqDWfunq=Q3T`@D-~bpTBw9JNoLq1T@D~tQVVS7rfL@!`Ls&}0(8ziAZ$CUOt;B6tc1537b ztN-f0q0lRXDjJ|8`S%WvT&1f>`iGc{$JH$93;YK3TCZhdivE4Yc_iCPZxa)CxSYLZ zV^odF*^^LPa7$Y82k(td`5o9m01M>qfD^d(*nh|3t8KKZ2iE7Iwc}~m@S#7bu+={^ zIz%fKH~eO0^Otne{N0=85oAME112gF0fob*sSO?y_0<*FBu>In((PGp3mKLjf*P@j z-m^gIgZ~+<#)|j!jCFBc58*${4(!zLw}JKv+&vxmXvw!%>T)?Y?zHUxjkL&2kaT&% z38JC25~{75;n6>qPBk~_P(hs)@P7vPue;xbgZ`DJ?4oQig`oX$n4fS`qD^*wNpT|h zw7#^SB`bm+q)tW3RPUcPyu?8jA{XJ$nOGI*;@Q&p{Svrnm;93k(s6qi?fd#CeHf+- zz@|3}=y_bNHxchvc`xz#RYmMXphx7a7+Zy?W|M~WAU@CGOTUK=>*W{8^l7TMm;ua8 zX}RY5+&)`jy&ytlv_7j!Ut}4z8ZQs#s}1sSi;a@2+dhs zY9pI;KT|@oeBoFm)qmzQMEZGFsJmDy7;a(IgyP?h4H(pEsS-*b*6xOcmKiMm0q5c5 zBglQIbbI7FlNHCS9wnUr2&>6&d`um9fU{-v+0C5o z0i1XB@RuYhVFVmn26~V8&!j{#X!345i2KWyI-JcuhT}0UXNZ!f+sv_k5Cz}6J)ZwF z!h3;{yqBC!t$E_wS+D|ezpWJn(^vz6hfj7FJ?M}?&OZT6ab}ZCQ905o#S2s-{-mY; z@$)qftA@Iq!dLpGG-%HATZ>FT?~MZh%m0;)QIUh2cI8ejJE%MSi9z3Wcxi1%_l5lj zPr$1VoCzW#)qh1eeO5~#NuKk0r~Jn7EB2DLn79cz^v;voK0?nsQk(ZT4(P3S=QR?r z`s~I2?=U7=W7zmV6o?!(r@9*3;Bb(|r%+1q{>`>jVmm0^i3M&vv(}Q!-f9X73I3FK zz}*1JWO`P{TjQG%0qfR0u(K$*lwggpCu`9%06NU87uZT}u=Hn9|?D6^fx-)OP| zfn~k)_OB|YGlX00`32PBbjSH$nq*&$7#^dlIU_Y|sGY8SOF*6NlamY6L|O{b@CJ96 z=8^0tM>l;awk$1B3JE9ejUuzBw1Il!*xZhJDVZZ>1&mfMDUXh8K%jBU;QzL?5qvZ= z7U&bE@Q(X9H0hBT#j3PFBQ9J9`6GfpliO;AgEj}SnL3DjvSQ6If+?fbiZ96c-e1T& zrY4l%#>J_w&vBz=lZ@)$k{1y)r~>YfrieY0a0{&BTdD)g4y4`(83yZG=`C|?Xbw8v z-=Juk+`csZ!(d3xJNGmqXW+c{Uxbzj7=f5xgi1}98XjNqBHnbj4(JV5cqqYnw;5WY% zV=IDJ!>d?(E3qq$)`UtXqU97+hDGz~=vuM#;{H3{4U>l_{^o&)Nm0R$S`E!5Y3zo3 zTr=5Y!hd9x@FaOSEC>N;SEZ`|l|k_oepQsaOMa$}nT#&5i3VN$Q* z`S!C~!phvpljIVSgVsB<2B(@vOT&DC{pU)pgWJlXdyr7rtC>n9jQJCuqa zdyKz#jPcEvV^RBBTh04}Typb^G}6Y>!GB)w{!dMu+QZT*f<6AMlNJdCN>xdkc}-0k zOGsNU)FH7Y{(OXXWh@L`ua$vNFb?| zFjt=hCTS^1+^kSC4QgPy<7P^S8qI*^jQmeegaa<%{^$0*#44B}SN)?BO+es2JZw(# zSjsB{=A9bly80wOK`z-U6k~ygQqUvoFO>t6nKx^hnLcUNkZ#O|Cr^Oy;DqTv@Lv8S zETFzKVkNu$``~fC@+;vIH5g49u%B4sFf6GT1{BD{W=p-uAq_Y0PORI936 zO)6@{>?nRSPxha7QEQXTpo!AKzbnlZ8-3xZJ^ZJDMMY1+irksrGXqctP_VucNLN!* zA+NLK3{UpNj<`0So)@W4Lf;-qkfmYM1e?W`bsalX4Cw#NP^X4Ry;^<$yW1{Vyl&@W z)XZxLCb+LXM#p#WKD0%uLR}dBAUo@>q0g-DAH3Mr++K>>a*vddNdF08$82zI*yaV& zaq@iWjO)BI_2G5=BDW6C5$082#Oh`C3Nbw~A$U8!Vtzyl%VgVA0r`97SLm42Lb>S2 z>yoIRjsmgYnHbyhBf(iH4!5{<({G&bJTR~Da9wq*!l@Z5;=Ij&3&Ze0WJ2dw>pz7P zqi|C|^8)~|MA42vjZGvx|4FaAnzTaF(TLwdOV39Fg@M*x?ZJGfO7bV`2`W#^7-49+rjWgiN^hVBKi z8cU@kvdQE2EqC=+=RwCQd9~oN%^U*VZr}B~*cK*#<(uYtu{G|d$vB8#W83y*^ZTD- z8Z|kDQ;0`KhDK=B*fwarl3uFVA|!1qUHeLU)ll|MNIL$Er>sqy31yUbTFi5BV-*!3 zB#GI%14{%2{J922?f81zx#@;HlrbmkZubnZe^^XN=Ks+)yD#q}Mld}voDnc!^F&-y zl-6gbr`v%gifxDWD8IaBS>QM|j~^zWPjMLdW=#a5RII*CHGh#KS`&I(y`Z$~ zxJPZ5u(EReBrNEY5I1PAsB_-gC{$K#Z9xVZZpL&4y086Lf3_nISsc8`Q(P!(!piX9 zF@IRk16kq9k(++9s~6A@b_Ggz7RYmQeU2N@&5=OUhYd3lP$THA{4ikYb(>EDIO-jT z9m&7gBO3#1rb*y+sN3&C#6U6R^$eE;rb2h`2j{-cyLCb1(j7mDwkRHP|w@aDZ}sm68)0KM6a zRSA~gmI$pXNjj@_p!_1;X^|*LM_h=Oz#VVKEwl?jC_b|@sq<(HOmg%{>fCji|59V} z&#^I=!beCRzqIl?h-dwlo&G&u;d2}BUEIL)V}>35TWB@yDcXflz>7|9d-u`(<~Ob6 zp=*vlnj<+mv)8^c+=owbbf5GYF<$NphwrYGPx37OeWdey*p+^&XKWpp!w;aA2Oc%} z3({LU8BW{z7`)#`vR1xoNQOWTjg}6{?s==cQe_G%k!mNVM&?m@65N9Nj+ah-z!QlE zETaGApo4>(UU7eZqk_ee=M5beEL`Fp7_XERxacX#0JQqZ#H!tAC}AE1U~B}sO8S2P zsb2U?->pjY*|??W^e2oRzEj!sr0w?F#)kp=Km0@AEwAF~(osOwzga*}(Yl0>dW)#v zFU-W!ik{&wijx^h*w`Fk7-O0-H!jXb=0Mlq znyH>DU1e~yG!{0RcXyrriWuX@c5cM~RWfuASn=c+MBf86!?-7_Sm--M};^m0DJ5utvgXOGUeeS7nPH>Y`5}M{@oTV+f>e{$a(d|2dr~xk`${ z)m60`9X?oF>6>XOO|Yc952`G|=$iL;YcNH)sorp`#uS0DL#R>X=ej+A$U8?-cVxDY zUGp$#hn3~Kkt?A|85uzCR+{y0Wa26&qq?b%d7S6F7-fT@+TP+Gj ze~lQ&f+NjPfP}uDy#I?P$34tfy*5N{-1-kh{xepuvRAU?@%{=!E{^~Fd6Lb$h~@Pp z-fMm8H$vu)8e3#W({FkgOMb-XJ${oc3z-G8R=MKlaAmf?#wvyQsmhvnyU4LCZ~oi% zuL9MujuBR(eeca5G-nZj^V8c_GMeJVE@ia>xH6^rA2g5t?Grwr!NVYp*hp#^4M*wp zAH&@hbo9K`pEYOwrK0{*9^>V{U*`X{cHQr6_TRs?*JGth)hbF`N{v3{u{CIU>{+W) zt47V5p<1IwYts@Etraz&QY!?dc8yvoH6y4IAu$s38{zXGeDCZ2>AtS}zTV@U*Lj`u zex0O#E4752M4pYv;TYTJ#Gv4o=crCTF!; zJHAG*O=?O|ANY^Xn2GXMFzr1PT75a!uRE8rJnDEVFe)osh73)EVkyiD;2Ej850RO5 zNs|&U>1P%C?+5YCbq(5jKk=e`7}3;#+{LktIebhBa!J!FH{5Aso*X?G$Wu3l+;w)4 zHEgUKEU09*LwP;N(kv~_V{S$c)(^J)l7JIXTzTVEv&3GSh_Gdit4@@8mkz3?WZP%+ zpj{p&i>}@>6^{se)&F3U`IYALtIVTfbRVZwnwQ3Hhib$v?eV(uU?!A1+K2lE#E^@t zKTzUwIhdT0cR9SBZQfHjI913{j8BSnR#Gt}V3sG1;3~_un|SSAa`u4=rhrHFj$vjQE*>zE zI^04H9H-!v-*am4j{Ws!Kv*s>+8|E0WiRquudA8TWY@1t*ZE&MfGx1iE|M$6qI7g7 z@w@yd)Oz^~F=KAC>LLjyqWlwgD^la0000*9&97duF8~cu6cnWO9Lw zP3i69ogl+65!qHH)082G`!oVVJZ9OIY!W=xkfl$MyZ<4qeiVY`%Z-G%-wHc&wWXK{ z6jnM1*uuOl4Lw|5`*F_Og2O+>GWDVzLwg$rFmU_NL`AX?BAc(-m#qJx40a!l{gfK! z>XGp&^l0iEk<-}QvXi<%f##?3QaQ#g2!Dg*4=1#|O!n~7keIv7D+)Jo)(#B$`j^n^ zpKwrU;-9HcOvVIB9X7j;gW1N(^UVpzcaAgZxW@xyM!_=q>xaTJdn6sPb%CKN!R9M% zt=HSto5VN}!B{6YO}>rqj0HctUH|HVuG8R#4>P!D;A~YZ*QLt<98E={96}yxy@Ad``t^FAMXjHxl6{TaFKQ6^IeI?v#Etl(#4;x#j*uQNC3`4%5A*5 zch7dI34;z20PQ-hxB-p0@-Db5Nw5Y0{^D_*P3I4os`a>%V(O7L+=u>6DZdt4}cgWWCEVmJtJZyQUa$})R zjaYKN^PP_5=HD9stA5)NX-^j6fx>M+Dp+u$d!MEalw3`+8JcgtodTG&L@O%-$I3?T0 zO81{<#@V@)awi#8q&=Y+Q9C3D)f(H->-fqa2TqUq_R^=TW3{yiisJYxy#3vmY6U7! zla%bzv$LD^yuV;ZY4fxAw*TSb7`@{2qx!QMYe)Dv-3cbem7BX`g%z*8tzG1coD59r z+bc>lx&q^+jjNhP6>_dy0{`Zc|MM^F)@RfDm{1EAR2o~iP3yAwP`K+Ap*h+FZiUdn z#ipG=6~l8(awJ2Lkxq09P+T4NHO=aVR({K8%a-2Co8pZG%1VZJjS1s7nq|Cp^dF!L zg+m3jEYe9AO2D0dmBg{$M&>*Lam|J+-?mv^y-cf>BmZ>Fno*9+Te3e?1=*6`s@e>gP8dg}J|4^WfaGR)3#b|J zh(o6|k}{=x_sJ!2I7&YSXtSQY|5Z7uL)a1&SM(?7Wz0dbKT|3@{UV2E%l8c`r5`>}H>vGpoIz zAd%P|>-e9sxQFu+xPOFDQOaMsZCjark!78q`hz5=|A%`(5?@~P)7wG}g(Su8(Vj4^ zFPCt5getBYWv^x;_Fx7+EP~&>?rVQI?qO-;DK3J3fEIf^V~76WP44ZZfPomMRvl9w z?zsLr_qFmcc3T;x4E)g65Wr<(JPgT4lvAY+XILRGq!ImvkWaAaXd;GD*KLxdkG&aX zDvz6h6)-Mj&_x8FaO`?>oyXa~#o6eEak$@YPX4OiDU){t+vLF^1*-vJ>Q)zdrW1qdfv@c6akr$%(w+V-be;EH zOuOYdu<+0WF&)tRQ}()y=-9v;u!&M8;*|AWaV@tPG8F79?)7us2sBvJo(8SPB}Hh) z>O5CuyQ;y3eww((nz%KHn|^jic0gYnEP%&>gEuVqi$zvT;^XO;jc{P)8Jio0D&{xV zmT!0lO}xQ{AKu>q%E{3fr$gm}hCjRDBxx_D)^~8FaUCC2_TTF~4R-BTZT+vh8`I3C z+{UUeSVwNa5E2Y^OZrxI8NT-mC9%gLi66Q1!5ricF99X(;^8cw_$RPi1v7G-Ig2Q7 zl^+3QZSE=k0!a?eTa#M%0$F4bKJQ^-x3SfZ4N*BdZtp=3PZ(m=k|4{G_CpwLegmkm z)zW%MV<|+tx@muuUwJn`B2w;@yWAP*N$-AaKSeGH`KW(3#=Y)An5hAbOVX%~7MZiZ zXK-1I8*uz>tw7sSj8iQ6-e0X8x~%cyAe=0_p}bE1J6N)Uz5?XsFC%4unEqilsiJpr zvjo_l=-^Sa*Zn)@BW)e;E5FgU!G9N+B&c&wz$NT;kg5Gb-xs9)qrfPZQ;d1XyhsjB z&M1Zt-pJaY=C^Q%m<`8GD*JT5NM!)+-*v%8>*_pLH{BE$ISN22HNp!aYB z^SwP)=bX9Ib-srz2FWUs`IUo9XjXbQl3}Hs5qHaM#2+}H%UfcK*YyvDn4~(bU0nI6 zy->9<&;M`>NngLvmw%qzbuQ0uIxG$mM9g1L9;}p1!!2kl+1b<;WEez|PiAED6%9Wo z8pT-`$cZz``^V@Re^)Z8d=U12xj7u57W~KWEQGTx5UTVrgVH#@x$!FasJn|Wwgzrg zaYfzPuRdGE8{Af>6+Y3b3CAj;l`X;g5f z?Crku(I1W;4brl%I?+ny^tugTWz5NsAPo=MvYSWB7v4Q$92*U4#+g4%%Y;V#bqs&3 z_HE|&6INLYWOV9os?TANdR^oYgQ(lQjqA@dX9!|->hM*0wCi6mMYy3_CY_uEDFnJm zmoh<$JU`2mKIE#k7uu9XK~8bv^_M(lQ_hf3kA!&_Wa&u5L}*`#ZrXkJ+JlC#BX~XJ z%jeCS=gN--U7C zWuA_!XdyXijeg4|>tIb3ss%8)rjvH#RP?ef>Y=-yFs~qD@xa}K*F^F`>Blo5dHrQF zOdmKitJ3LYrV}O*{+9i%FrelKQ!RhIbjXxkIjb4DAth2&iyf`tf>H=OJmzR@JzKmE z^n6vC;0BMANBAd^QGp~u{}B3Gr=PRk`GHkp(i*AB{|>T;8m`6&L6*9tr~8m7?`m>Y z^VGlVGY@^r!sg<(m}>TIH#X?>jkWiZG?I7Y8+65;*vyCI2tNB};~M1w@jLdK7tFOi|E?h27E=Jcy-@#O2@dj)=UI=7*D0;}@OC+Z>~~nMK_w7?56P))PO6H*56JStr-a9Re@M*{n~HkA082)-@>^ zK95I#lrVloul7shUHTbQOXpymg^#fSbR=$onq$}$o(zzC_a1V%Rtdv&>XlrEQfL~_ z+AFXJe(P=iwHg=dq&A*A*7n0Wh3lpeast0Y2qU8JH5^R(p8J9$@;`E=5+20jTMS_b z>R-NP^jnc((x7pf?NAe-N{UbnTe~N|sRX0D8sWBXfL=)R|DZb>d># zcLugy$~KIPS^VwkHUu*`od&>6r6$HrHTbY}%Fk!W1bepG+H(gYh4+&ZZ&J5k9Hn~N zPxx_Li8yym{lB4UgUEuF7B$5m$b1++)-?~ZNkr{V#K^o;75l2^z;o2oFN}})+x!Io zArq@QKW7otT@erBc@6S3I!Q+!we&z8-2B K04p>dBL5EzG3f;W literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156525288/1/Cancel.png b/Keno/Keno/files/assets/156525288/1/Cancel.png new file mode 100644 index 0000000000000000000000000000000000000000..5c9d16da4344aafc4413ae9be3d807bb6ab99f6f GIT binary patch literal 4757 zcmeHKdsGuw8c$RZP!yH=L>b4{_au|YcLuH?6OBh(Y-T-*J=0c@to~{Bquj_zWe)r z_xpbLyZ6j3(8tX5^%?EM%*rs;L9<75NXq#9Kz%*PZ#k{e=(QS6M>-&h zO^eqBMc3&4SG?IVYjHxrBj|3?R#l4MJBy|#PG7dXE-CH%zuns*Osgx}epumC;n6>^ zFtPs#)BLfi9^udUcOTx}{s4Y&^G5%nlQ+! zrg|>8vUWj>U-kCd_tonbT&S)*@uaNyq2N^Iw=ZAs;lF1US5F!`^Dma<+A+128`odT zE>+ad`fSFZVuJC@9tD9%1jk-|cjUpoYKbOlA{H9}4=)@$-HA>cHMMErqU1R2+=y=k z(>7Hpc7HxP{Z{cwbi<9Ly40Q6YQ_4Zu%R${O&{ek96pe~eM9t>>?%^!ctUpjwFO4Z}1M7?D*@3rantn`<=eHT6{ zZqAuEAdvq_ef8$fD%{LbqAZ@ikRp4JAQU*Of7Wc>^zg z^ukl2==WXWpN~Ijdb0V_k+%A)B@KgJP4==>USbibyDS>iSF-MX6=5|CaMEg^1TM1; z6dsQk9O|;+L^{Pl2FgTR)bP_|Ct-*t)$j+H4%OK-R2m(fW2fSCViJg)bV5nOp&>rO zE)^g!Qw$Ed%o!Gk%B6-mUKQxGW+4o55GGv>C+qZ(#%iY^sX!_~kw_PvC5A(MpkO;` zRLzNqa#MgOHJrvUHkDB5bUFo2iNI<%2}Me!QizI$Vle^`h$Gv=;4Z}Cn7~rBb3{-M z!cN;5+G>GVPTXM4WYjPW#-Wb*%r>2_liuQRs{r&6x^SCNBtV5`v#`5|gNe)nB<_HI z*TazjwyAIq<*;Vj2`Vy+vM>|6Q;ScD(W%iOs!7e>A^~1 zqRlqW3y9qV$t;NCM7J_1_0J(q$JOoLRQq({o z1_@?Fq%ur_;4+06k)b4MATgs-sgQM}h_%z8D)Ef&QL$7cOC=V|6>_-*kx&GQNHK{5 zG03Dig5q)#Qxd2`PM{nWNvNW%b~6r^lQ!cfN@%l~xB*shRk&WOhQ)$*C}+`U;EWMC zfIUE4NUPJ)1x}#NR6K*TdWvL9rBo>vDKUvmfr^w}pd`xf0JX@nico<>%8jrKqXOvw zX>qnv0Rd+R*{C#j3TLeL1gkYe4YMIYtY_!24s0kAXYdG|p#Ui=mZ(G`6{<`Sp`cY^ z*fh|h-SAeDHfH}XG`oGE;Pyq2rX67ZY|hlar{bwa?N9BG88o+a{b{&9Zh)9HVlMEKRlNGWjMn|^6!r$l- z%mKO`F~G0g297Rp5(+zyLbqP*q4NiR-0ScM&H$);CwVJ#Y=cD{yah^~&{D z3cMA#x4Qmsa`|*!rYH+|19F0^(vUqHD#10&(=dBx1n&*|-Ew?qF|c^sqEj3^-hg53 zkIyUFG!hv5Gg@6_|Hc8{d~f+z&kDg6txuRXB0Rx$^YKrj*~`KMs_z`TTwYx^KK15D z>0T>CBJU*>mX@u(ZHT|JGp%TatbXqHty6aC9+Z4|BjS*vB$ip-~Z*` z*s&#-f2D3zt<+4CRVVs~{lLrj1p!C!Oq_=!sur6YFi>XB8#frlryNdLOwdGJQ_wW!Aj>(iS;vWVug`wcGb*#cG< zcN#6Z$UHsO>b?6-z}}p>4{JRSukPbDCamT}E4=gi(*qY@?tPPeJ4lv%{Ak1e&zCsM suc1BEow`JvGy9Nla${1@HEQzyIW$(N-uus)puBk6$e4(V84H*F2g{Juod5s; literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156525289/1/Clear_copy.png b/Keno/Keno/files/assets/156525289/1/Clear_copy.png new file mode 100644 index 0000000000000000000000000000000000000000..67b313d16a3ff463b2536795c9022d11661e5b38 GIT binary patch literal 1091 zcmeAS@N?(olHy`uVBq!ia0y~yU{nLL(>d6HwCK*Qaa1buDwD=j};7eC(?d)?G|ORn`B{)V~NOJl8{ zNW6Lbi;?*ghnhlP0@EWX_2xR)s4F!0ONxmM(J7UCVKuNMEj8+>28?E1gf=`YV-{ZgGZe{KGm*Xt@j9_ZnO z`@Gn8*%$xv^Rf4D$VF7udQbkgw_MX?f8^9JZ69v_s@wnZ^tCL{XJ{d{Pdn%A{CCf4 zmejtF6Oc{%d!{*YjqUERXRBUtOvDHFwt!gKs}CzxMw6^R)ZX zQ>#`NZGZnS=FY!A!Q$duA0PO3_0y7LD`jA*A^mE(xJMR?-rL~!na|eczxllU`gRjw zh|YQSl`=Pzx9-p@p3UIw_^YPAP#?TGg|9*Wv zzxK^a%*1;2`=5I)SIsL{e6yQVz4aVYz}_#7jn-O~d;8J$<$Hep({>Y-cyjyuK5e@_ z)6fzIFn!F~_PVP(KXmI=tA<&(UPbq!+cRNl=B)n=w?E(fr{Mp35wHm0OO5bM^YvxW X0FSq8>L8v{s~Qi`In)h?O3xBEFkR*iQS-JD&6UAIZth%y0Sb z_xtYe-ZQgClQ5YbFeCtiAht@WNQ5Ak1Y8^Ze8HIio_QMhE6+@tLnq=6*lM$ol#zhx z3@ZT>PKtye=Pi?_mVE{eY%}Dq&yILk_!gD8Ka6f0(xBXRMKz(V4ox`!@YR$JtbPd# z4onHT;A{S&c-!ups!_2IE`zepU1Hpp;>XM?QWlo9H$@3 zU%qL)@{A_*Z?E@GS)LT$0M~8YC7T;GXvx@_V^`%>&r1I8+xvTY$<-T+zLEwU_URw7 zc4q%~3=4-Y@QG<=)z#M(J>rbmu`P67x${R`bo?%3gw7;O9d%EPCm+gmGBP;^fsDYEWnCFy-m6vS$v?Akk zY5A0oCoM~e!ms+Qi8#(Z(RS|mqhgmZHh!ddS~zF$+M#0|Xykiio(3+NGhKY~og>`H z?WNL#pA1R8U2qC5{C-yTf_>tA>8Bef4&>;sYvO$dbB?AK6)LMTE}x06Yc06{@r9Yb z!_W6Qpc#g(XpU}`&o4pcKacd$O?ND!OE$1olTox@I3p{(8aB)&4Cv-wH?i!#BxUOwp?VzmQK98b$sa!EFmI0@Jh;W zzEWwwb8G)z*7US#N5%11wb!=ZecSoewtoRMb0cWHbP6=s9Q9P0&SK)?dW)9eI!#v4 zc@Pv8?X=>$RDy=Jgn=^4IZsZU;=q(%&Y3M%qiSm`kxVHwZN!Ysgd|;Nst(h0q9+7I zIb{IAM9?_wG#SlynN!YTaAn}yZRT-cCWKCvbLOZuaID2fz#^`Qiz0DODqX;t5CBKn z^rS3N5$}ZncXCcLOgY06@T-I%!6l19rp9N>pL_?fI~btk;p?o|Qk!E@qP9-oWyOeS9U3_Bf{4nVww z{xHLy1okN}k+56RY&s$?oiNkGyF=)8o%z-@n~^C;uj3I$!URI?U{-#QDJQGcn$8Tj z1P01vWwL=LU7H@Al=r#lgl-ig~Ix}$a`7(}VnGKEE#=BB4o$T{x$WqON_ z(#x1j2`R+KNl6kxg&2v5w4@%v#X>!z!$^@xj0 z)#-I&gdoQ05fLiD5De22hyWu5TA@IX5fZ!`#55ZPx)L{bXXS>{11J>CiQ!rd5le+a zz(ycKq(WSeNF}5Q7o&iW5M!Y9I$6BMX2QX8QYPF$@T_J7<8TWui_xg$903>YvS^Gr zO@ail2Pm`N;;?tQk|+}~gT~!@@+BB1!UV!`5~)Zi5O}6y5N8oKJLp9>Dj($vMNGPT zVPv2jAT93hQ~7=VsIE6|{fR`6fFOEtPD8%HwXUI!o!11YuEU=>1q}C2@<#gh%GE2^8!7Nc z!M)wpE7uz-@J7MC-SvNyE1>ITiZFvGAP0C=3jTGo0K8`TYTuu%fL^=5JInSJ0E@p> zIoA$B147(C7PNKyyTI6=R;lCqKOErC3Y03P+9C+*L#Y%oNzPl1wO^)$#)P|mdcD2> z$e^i;oR9oC%Ai%2jn#KRPef@J4ek`ot^r{aRAN}f>$}TNv za5iLOC;u5xQd1mwe#4e+#{5h*)Drn!+b^zVtY`5zA-r#p1Pp~0b4Rgju2n{?o*$f( z_aPY`eDAG@$he~Gb^MhpKHIyCO2}%ej~L+_Oa<{Ltl2ZZ^1u-CtnbbIK7L`@#Vo%t zS8nK@Yn8kA)r3uGI$5#)gHvfW#y&HCYipmK-gfRqPD5*TqbXA2niV?nCX~zGSy{aB zMVTQzdyA%aH~#qa>YV9{b?rkOFZ}5}*Ec6_FvhXwPw$|XyvI4Fz9pn^&@uTDZC~KZ zWiudP@RDaL=(6Ur8AI3b-&`Fqj2~zaai%)&UfHXL)?doRCB7{Ot`F~`3}WZ0f~)Rx z+rrB(-)Vk)g-ri}8jXHY{rF-1xrFp(PapIQu9&@ScFXO9=WCvxc>9Aw@y?KgVQD@2 z@B9RBWSgdqI+>OFAmty24;5{3u0Qzw;AJVt(UU8%FSVY9VYs!Q+BLfHeoM&LufrY7 z=cRaspIBM(V$$fB^{(27m%eCkj$8iBZBl2%Yu?LrDA2 re#Lx~Yi#Moe0K35AFn#u{#j5}Kh65%SxZNQK7>?p35vs$7O(mb&sFG5 literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156633138/1/Clear.png b/Keno/Keno/files/assets/156633138/1/Clear.png new file mode 100644 index 0000000000000000000000000000000000000000..bad0c3475fb64aa913ac6975631bd442bbbd4d99 GIT binary patch literal 4780 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 RQt)ID<>~6@vd$@?2>>X;sv-aY literal 0 HcmV?d00001 diff --git a/Keno/Keno/files/assets/156633140/1/up_Money.png b/Keno/Keno/files/assets/156633140/1/up_Money.png new file mode 100644 index 0000000000000000000000000000000000000000..a00694c1729965580276d3e19c589ec4952d8c14 GIT binary patch literal 660 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 Xo64~A*F1sSpvd=h^>bP0l+XkKrD@5p literal 0 HcmV?d00001 diff --git a/Keno/Keno/index.html b/Keno/Keno/index.html new file mode 100644 index 0000000..a00f485 --- /dev/null +++ b/Keno/Keno/index.html @@ -0,0 +1,17 @@ + + + + + + + + + Keno + + + + + + + + diff --git a/Keno/Keno/logo.png b/Keno/Keno/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb25c2209d9e0fdc253040db119e431a6896ca38 GIT binary patch literal 2599 zcmV+?3fT3DP)%)?4ISzpFhga^Fw}`Bg&s|%RQ;j zwpp|M`GRz$Hw$N*teHhKXWBC{9eE}9=GuIeW-OoGlZ?t~sm~NSKgl!scN$QRyF5=P zNzTl48JAPimFBeNyiAc18JwQXpTm=M<>ZV{GnUJ4Sv?D6`XnRrexAwg|8ZOjq8Sfb zQ@Z&f1=EY_4)hfz6U`+`wYi&uugoNMoZAQr{w=*+*TZVj>2mW(LvH}ADRrG5Ot6Yb z({X!?h+l#YrGo2$-%EGPS7BFa=z{K7i!U6ZpNK>i&eNvv!SA3ugL_3foPxhg9dDta zqu2D9&J}>K{mmgZw3ZDW?rI~!s4|FJ&Y=@*NaNMtV4I!=wtBn>e7=9rEaTpioJk8f*C-W9>2;yMgBRh@d#g)615N19ja248v^B|qsy@cn#B!RE$8osxPO zWer-fN2yY>gLHE+7$Qxa&AXK>(+NeaH;h2uNY-o zu>m+hYPdqGE2 zQgC9oY4Dad>EVAFS)=nmmx6E2D&0H_Y%VQ(Nw)*c%P`U0O#*Fm2iUJ-@Nrv{25(jq zaF6uzXecY-iBNON+87+B@4@>g1*f+h{A@bQ@;#gAucJoOSgYKRv#^LIOrT&l>EU~L zTbs1#b#gKcY6!8h@|6wYiM{#LV#>B0wQ=zH+b zP;gMo!JkUOt;#*D;Gfd4+&`vWyQhGfrE=jirdHjfSH*Z39R@TFbUj^o#T1o-Z}(BX z2Cw|<=lV+z*8vAg>E#$>M(O2M;8n}@E%;R^S-FMa%QdNBdl9iX1*1(b4a@!Ej-=rG zo@Ksl#@3UTeY{s3yMi5?1z#>ff2b6EoYtVh+Z3Ep=akNfZf)dR;Fy}#^%KzLCYu}3 zTJTGhy*OX#*JAMNDOYD@`{ik6u+p&H4>tm8Zpd=e8ze2dRE+{WnQ!nwh2Z;p4D4Jf z_*spw+c@5cPIJ~;`D;wA*XwjhF^@--sk+AAW^EMwC|fJFy+d8CQ;CzM#o#Yj;FnT* zr~)t6sS^+B$!$`@KcQ1v_IEW~u8Y9JO@oiQeUIUOS|Rwjx@;r6JD1KnJ^$&@t8^dT zpw6|~$#Y6{dCH01zhPA4ZBw-v{7l9vu&k8MP(IG`Qo{v|R)V4CkQ)9CL#0KhF{0)M zpC1gVRKm9f&ly-D__ga4^fT(5sP5+@JYC~+jK;N6*F~M?StUCC%ltns_)je;Ee3zI z0xwH9uT{=o=G5Q>WV=TdxVz?h*7r63<+>+mw*&iB z3Vw1ggDsl{Ury&OY8>dDAicc3?)F)^>`j_Gwf(&TII&sqo!;^%tBbT8{Hh8}FiWo@ z_8HWj(PaSyM@t>|1{+8Vt_Dt(8V=Bbrz-^?ix`FP%++{YS)_02b!umvnWcyG>B4WM zrZ1MYql*0uHW3poCGAPU@XXM|0a+;f=h5_q{mP$S&SF`+n``8$-s4)}$t1~IX@!H6 zbmlLq#f1DZ$qHF6Rd^#uCYd2uq<3sG;<{d^JJ4GSLd7b4ZF_cLF1&d<`7AIHquG0E^; zklOqtNpeW`PZj>04YE^K%b7VXjrnc%NqhFo8TmiM{z{3^$1id>jGGB(v|&p}CsHr!uk%Z8aUd*+v^ z!m#X;$I?Il$kI(d$#3$f|1HutCD|ggCHY;Qg=l=PXjoIXNm~xeNvX=%Bwdqsk6+r4 zW7n4V_!ta+CrzBqWIe8ZUm^{h%5c11agQ&nhUODkerf2h!CIArZ*wQO zxXHN7&}E*YZ~txGdurFNbOCI)@(5>`<)yCk>%>3$8vMsTtm(exoCdCzx}K@T{4EDx z-gDqC1txXbpWZm+y!#cOxt4XPY`tgnlv;~vE4 zI`Fvk@&It0H1!&=gou4i1b0}W##DQ?F!g+E)fjQ}+g^svdltS0VVFDA+@K`8>v&sq)p&UyF#1bO2sZrr5Rm=ghLrugZ{2-}GGCjOFVle@w+g zYf=R{JS!)eJ#QyTzRL+YGh1cDES>o>b&~P>>0,n=arguments[1]>>0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r>>0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),e(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),e(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),e(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var i=0,n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];i=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:L(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function _(t,e,i,n,s,r,a){try{var o=t[r](a),h=o.value}catch(t){return void i(t)}o.done?e(h):Promise.resolve(h).then(n,s)}function v(t){return function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){_(r,n,s,a,o,"next",t)}function o(t){_(r,n,s,a,o,"throw",t)}a(void 0)}))}}function g(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var E=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();E._traceChannels=new Set,E.stack=!1;var M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.off(this.name,this.callback,this.scope)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},y(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}]),t}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=A(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(L.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==L.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==L.delimiter&&(s+=L.delimiter),s},split:function(t){var e=t.lastIndexOf(L.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return L.split(t)[1]},getDirectory:function(t){return L.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(L.isRelativePath(t))if("."===i[0])for(n=0;n0),N=!("browser"!==O||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={environment:O,global:"browser"===O?window:global,browser:"browser"===O,desktop:["windows","osx","linux","cros"].includes(k),mobile:["android","ios"].includes(k),ios:"ios"===k,android:"android"===k,xbox:B,gamepads:N,touch:U,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,j=56319,q=56320,Y=57343,K=127462,Z=127487,Q=65024,$=65039;function J(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=j){var s=t.charCodeAt(e+1);if(s>=q&&s<=Y)return{code:1024*(n-X)+s-q+65536,long:!0}}return{code:n,long:!1}}function tt(t,e,i){if(!t)return!1;var n=J(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function et(t,e){if(e===t.length-1)return 1;if(tt(t[e],X,j)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return tt(n,127995,127999)||tt(i,K,Z)&&tt(n,K,Z)?4:tt(n,Q,$)?3:2}return tt(t[e+1],Q,$)?2:1}var it,nt,st,rt={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=J(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=J(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},at=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),ot=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();ot.modules={},ot.wasmSupported=(it=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},st=nt={},function(){return st===nt&&(st=it()),st});var ht=function(){function t(){}return t.setConfig=function(t,e){var i=ot.getModule(t);i.config=e,i.callbacks.length>0&&ot.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=ot.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=ot.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&ot.initialize(t,i))},t}(),lt=function(){function t(t){this.arraybuffer=t,this.dataView=new DataView(t),this.offset=0,this.stack=[]}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},y(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}]),t}(),ct=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ut=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}S(e,t);var i=e.prototype;return i.add=function(){var t=!1,e=this._processArguments(arguments,!0);if(!e.length)return t;for(var i=0;i=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*_t.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),_t.lerp(t,e,_t.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=_t.intToBytes32(i):(e=_t.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ft=vt,vt.BLACK=Object.freeze(new ft(0,0,0,1)),vt.BLUE=Object.freeze(new ft(0,0,1,1)),vt.CYAN=Object.freeze(new ft(0,1,1,1)),vt.GRAY=Object.freeze(new ft(.5,.5,.5,1)),vt.GREEN=Object.freeze(new ft(0,1,0,1)),vt.MAGENTA=Object.freeze(new ft(1,0,1,1)),vt.RED=Object.freeze(new ft(1,0,0,1)),vt.WHITE=Object.freeze(new ft(1,1,1,1)),vt.YELLOW=Object.freeze(new ft(1,1,0,1));var gt,yt,xt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?_t.lerp(this._p0,this._p1,s):1===n?_t.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),St=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new xt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=p(t.keys,this.keys),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();gt=wt,wt.ZERO=Object.freeze(new gt(0,0,0)),wt.ONE=Object.freeze(new gt(1,1,1)),wt.UP=Object.freeze(new gt(0,1,0)),wt.DOWN=Object.freeze(new gt(0,-1,0)),wt.RIGHT=Object.freeze(new gt(1,0,0)),wt.LEFT=Object.freeze(new gt(-1,0,0)),wt.FORWARD=Object.freeze(new gt(0,0,-1)),wt.BACK=Object.freeze(new gt(0,0,1));var Tt,At=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,v=l*r-a*h,g=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*v;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=v*S,b[7]=g*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();yt=At,At.IDENTITY=Object.freeze(new yt),At.ZERO=Object.freeze((new yt).set([0,0,0,0,0,0,0,0,0]));var Ct,Et=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*_t.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*_t.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*_t.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Tt=Et,Et.ZERO=Object.freeze(new Tt(0,0)),Et.ONE=Object.freeze(new Tt(1,1)),Et.UP=Object.freeze(new Tt(0,1)),Et.DOWN=Object.freeze(new Tt(0,-1)),Et.RIGHT=Object.freeze(new Tt(1,0)),Et.LEFT=Object.freeze(new Tt(-1,0));var Mt,Pt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ct=Pt,Pt.ZERO=Object.freeze(new Ct(0,0,0,0)),Pt.ONE=Object.freeze(new Ct(1,1,1,1));var Rt,It=new Et,Lt=new wt,Dt=new wt,Ot=new wt,kt=new wt,Ft=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],v=a[8],g=a[9],y=a[10],x=a[11],S=a[12],b=a[13],w=a[14],T=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+v*s+S*r,h[1]=c*i+p*n+g*s+b*r,h[2]=u*i+m*n+y*s+w*r,h[3]=d*i+_*n+x*s+T*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+v*s+S*r,h[5]=c*i+p*n+g*s+b*r,h[6]=u*i+m*n+y*s+w*r,h[7]=d*i+_*n+x*s+T*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+v*s+S*r,h[9]=c*i+p*n+g*s+b*r,h[10]=u*i+m*n+y*s+w*r,h[11]=d*i+_*n+x*s+T*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+v*s+S*r,h[13]=c*i+p*n+g*s+b*r,h[14]=u*i+m*n+y*s+w*r,h[15]=d*i+_*n+x*s+T*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],v=r[12],g=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+v,o[13]=l*i+d*n+m*s+g,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Pt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ot.sub2(t,e).normalize(),Dt.copy(i).normalize(),Lt.cross(Dt,Ot).normalize(),Dt.cross(Ot,Lt);var n=this.data;return n[0]=Lt.x,n[1]=Lt.y,n[2]=Lt.z,n[3]=0,n[4]=Dt.x,n[5]=Dt.y,n[6]=Dt.z,n[7]=0,n[8]=Ot.x,n[9]=Ot.y,n[10]=Ot.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(It,e,i,n,r),this.setFrustum(-It.x,It.x,-It.y,It.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=_t.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],v=e[15],g=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,w=s*l-r*h,T=c*m-u*p,A=c*_-d*p,C=c*v-f*p,E=u*_-d*m,M=u*v-f*m,P=d*v-f*_,R=g*P-y*M+x*E+S*C-b*A+w*T;if(0===R)this.setIdentity();else{var I=1/R,L=this.data;L[0]=(o*P-h*M+l*E)*I,L[1]=(-n*P+s*M-r*E)*I,L[2]=(m*w-_*b+v*S)*I,L[3]=(-u*w+d*b-f*S)*I,L[4]=(-a*P+h*C-l*A)*I,L[5]=(i*P-s*C+r*A)*I,L[6]=(-p*w+_*x-v*y)*I,L[7]=(c*w-d*x+f*y)*I,L[8]=(a*M-o*C+l*T)*I,L[9]=(-i*M+n*C-r*T)*I,L[10]=(p*b-m*x+v*g)*I,L[11]=(-c*b+u*x-f*g)*I,L[12]=(-a*E+o*A-h*T)*I,L[13]=(i*E-n*A+s*T)*I,L[14]=(-p*S+m*y-_*g)*I,L[15]=(c*S-u*y+d*g)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,v=s*d,g=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+g))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+g))*h,b[6]=(v+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(v-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new wt),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new wt),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new wt),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new wt),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new wt),this.getX(Lt),this.getY(Dt),this.getZ(Ot),t.set(Lt.length(),Dt.length(),Ot.length()),t},e.setFromEulerAngles=function(t,e,i){t*=_t.DEG_TO_RAD,e*=_t.DEG_TO_RAD,i*=_t.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new wt),this.getScale(kt);var e=kt.x,i=kt.y,n=kt.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(_t.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},y(t,[{key:"scaleSign",get:function(){return this.getX(Lt),this.getY(Dt),this.getZ(Ot),Lt.cross(Lt,Dt),Lt.dot(Ot)<0?-1:1}}]),t}();Mt=Ft,Ft.IDENTITY=Object.freeze(new Mt),Ft.ZERO=Object.freeze((new Mt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Bt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(_t.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*_t.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof wt){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*_t.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i,n,s,r,a,o,h,l,c,u,d,f,p;if(e=(t=t.data)[0],i=t[1],n=t[2],s=t[4],r=t[5],a=t[6],o=t[8],h=t[9],l=t[10],0===(d=e*e+i*i+n*n))return this;if(d=1/Math.sqrt(d),0===(f=s*s+r*r+a*a))return this;if(f=1/Math.sqrt(f),0===(p=o*o+h*h+l*l))return this;i*=d,n*=d,s*=f,a*=f,o*=p=1/Math.sqrt(p),h*=p;var m=(e*=d)+(r*=f)+(l*=p);return m>=0?(c=Math.sqrt(m+1),this.w=.5*c,c=.5/c,this.x=(a-h)*c,this.y=(o-n)*c,this.z=(i-s)*c):e>r?e>l?(u=e-(r+l)+1,u=Math.sqrt(u),this.x=.5*u,u=.5/u,this.w=(a-h)*u,this.y=(i+s)*u,this.z=(n+o)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u):r>l?(u=r-(l+e)+1,u=Math.sqrt(u),this.y=.5*u,u=.5/u,this.w=(o-n)*u,this.z=(a+h)*u,this.x=(s+i)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u),this},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Rt=Bt,Bt.IDENTITY=Object.freeze(new Rt(0,0,0,1)),Bt.ZERO=Object.freeze(new Rt(0,0,0,0));var Ut=new wt,Nt=new wt,zt=new wt,Vt=new wt,Gt=new wt,Ht=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=new wt(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new wt,this._max=new wt,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,v=m.y,g=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,w=_-x,T=_+x,A=v-S,C=v+S,E=g-b,M=g+b;wc&&(c=T),Ad&&(d=C),Ep&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Ut.copy(this.getMin()).sub(t.origin),n=Nt.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=zt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Vt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Ut,i=Nt,n=zt,s=Vt,r=Gt,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var v=1/Math.sqrt(m);l*=v,c*=v,u*=v}if((m=d*d+f*f+p*p)>0){var g=1/Math.sqrt(m);d*=g,f*=g,p*=g}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Ut,Nt,i),this.setMinMax(Ut,Nt)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Ut.add2(this.getMin(),t),Nt.add2(this.getMax(),e),this.setMinMax(Ut,Nt)},t}(),Wt=new wt,Xt=new wt,jt=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Wt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Wt.sub2(t.center,this.center);var e=t.radius+this.radius;return Wt.lengthSq()<=e*e},t}(),qt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),Yt=function(){function t(t,e){this.origin=new wt,this.direction=wt.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Kt=new Yt,Zt=new wt,Qt=new jt,$t=new Ft,Jt=function(){function t(t,e){void 0===t&&(t=new Ft),void 0===e&&(e=new wt(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new Ht(new wt,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Kt.origin),this._modelTransform.transformVector(t.direction,Kt.direction),e){var i=this._aabb._intersectsRay(Kt,e);return $t.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Kt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,Zt),this._aabb.containsPoint(Zt)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,Qt.center),Qt.radius=t.radius,!!this._aabb.intersectsBoundingSphere(Qt)},y(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}]),t}(),te=function(){function t(t,e){void 0===t&&(t=wt.UP),void 0===e&&(e=0),this.normal=new wt,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),ee="linear",ie="inverse",ne="exponential",se=0,re=10,ae=11,oe=12,he=13,le=14,ce=15,ue=16,de=17,fe=18,pe=21,me=24,_e=25,ve=26,ge=27,ye=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[ae,{name:"RGB16F",size:8}],[oe,{name:"RGBA16F",size:8}],[he,{name:"RGB32F",size:16}],[le,{name:"RGBA32F",size:16}],[ce,{name:"R32F",size:4}],[ue,{name:"DEPTH",size:4}],[de,{name:"DEPTHSTENCIL",size:4}],[fe,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[re,{name:"DXT5",blockSize:16}],[pe,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[me,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[_e,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[ve,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[ge,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}]]),xe=function(t){return void 0!==ye.get(t).blockSize},Se=function(t){switch(t){case he:case le:return Float32Array;case 3:case 4:case 5:case ae:case oe:return Uint16Array;default:return Uint8Array}},be=5,we="POSITION",Te="NORMAL",Ae="TANGENT",Ce="BLENDWEIGHT",Ee="BLENDINDICES",Me="COLOR",Pe="TEXCOORD",Re="TEXCOORD0",Ie="TEXCOORD1",Le="TEXCOORD2",De="TEXCOORD3",Oe="TEXCOORD4",ke="TEXCOORD5",Fe="TEXCOORD6",Be="TEXCOORD7",Ue="ATTR",Ne="ATTR0",ze="ATTR1",Ve="ATTR2",Ge="ATTR3",He="ATTR4",We="ATTR5",Xe="ATTR6",je="ATTR7",qe="ATTR8",Ye="ATTR9",Ke="ATTR10",Ze="ATTR11",Qe="ATTR12",$e="ATTR13",Je="ATTR14",ti="ATTR15",ei="default",ii="rgbm",ni="rgbe",si="rgbp",ri="swizzleGGGR",ai="2d",oi="2d-array",hi="cube",li="3d",ci="none",ui="cube",di="equirect",fi="octahedral",pi="wgsl",mi=1,_i=13,vi=14,gi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bec2","bec3","bec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","",""],yi="webgl1",xi="webgl2",Si="webgpu",bi="null",wi=["mesh","view"],Ti="default",Ai=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array],Ci=[1,1,2,2,4,4,4],Ei={Int8Array:0,Uint8Array:mi,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},Mi=[Uint8Array,Uint16Array,Uint32Array],Pi=[1,2,4],Ri={};Ri[we]=0,Ri[Te]=1,Ri[Ce]=2,Ri[Ee]=3,Ri[Me]=4,Ri[Re]=5,Ri[Ie]=6,Ri[Le]=7,Ri[De]=8,Ri[Oe]=9,Ri[ke]=10,Ri[Fe]=11,Ri[Be]=12,Ri[Ae]=13,Ri[Ne]=0,Ri[ze]=1,Ri[Ve]=2,Ri[Ge]=3,Ri[He]=4,Ri[We]=5,Ri[Xe]=6,Ri[je]=7,Ri[qe]=8,Ri[Ye]=9,Ri[Ke]=10,Ri[Ze]=11,Ri[Qe]=12,Ri[$e]=13,Ri[Je]=14,Ri[ti]=15;var Ii,Li,Di="1.65",Oi=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},Fi=function(t,e,i){void 0===i&&(i=1);var n=i<>>0}var Ki,Zi=function(){function t(){this.map=new Map,this.id=0}return t.prototype.get=function(t){var e=this.map.get(t);return void 0===e&&(e=this.id++,this.map.set(t,e)),e},t}(),Qi=new Zi,$i=[2,4,8,12,16],Ji=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Ci[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?_:1),this.autoResolve=null==(a=t.autoResolve)||a,this.name=t.name,this.name)||(this.name=null==(p=this._colorBuffer)?void 0:p.name);this.name||(this.name=null==(m=this._depthBuffer)?void 0:m.name);this.name||(this.name="Untitled"),this.flipY=null!=(o=t.flipY)&&o,this.validateMrt(),this.impl=f.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},y(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}]),t}(),an=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=0;return e.uniformBuffers.forEach((function(t){var e=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:s++,resource:{buffer:e,offset:0,size:t.format.byteSize}})})),e.textures.forEach((function(e,r){var a=e.impl,o=n.textureFormats[r],h=a.getView(t);i.push({binding:s++,resource:h});var l=a.getSampler(t,o.sampleType);i.push({binding:s++,resource:l})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),on=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),hn=[];hn[0]="filtering",hn[1]="non-filtering",hn[2]="comparison";var ln=[];ln[0]="float",ln[1]="unfilterable-float",ln[2]="depth";var cn=new Zi,un=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=cn.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.getTextureSlot=function(t,e){return t.bufferFormats.length+2*e},e.createDescriptor=function(t){var e=[],i="",n=0;return t.bufferFormats.forEach((function(t){var s=on.shaderStage(t.visibility);i+="#"+n+"U:"+s,e.push({binding:n++,visibility:s,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var s=on.shaderStage(t.visibility),r=t.sampleType,a=t.textureDimension,o=ln[r];i+="#"+n+"T:"+s+"-"+o+"-"+a+"-false",e.push({binding:n++,visibility:s,texture:{sampleType:o,viewDimension:a,multisampled:false}});var h=hn[r];i+="#"+n+"S:"+s+"-"+h,e.push({binding:n++,visibility:s,sampler:{type:h}})})),{key:i,descr:{entries:e}}},t}(),dn=function(){function t(){this.buffer=null}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.unlock=function(t,e,i,n){var s,r,a=t.wgpu;if(!this.buffer){var o=n.byteLength+3&-4;this.buffer=t.wgpu.createBuffer({size:o,usage:i|GPUBufferUsage.COPY_DST})}var h=null!=(s=n.byteOffset)?s:0,l=new Uint8Array(null!=(r=n.buffer)?r:n,h,n.byteLength),c=new Uint8Array(this.buffer.size);c.set(l),a.queue.writeBuffer(this.buffer,0,c,0,c.length)},y(t,[{key:"initialized",get:function(){return!!this.buffer}}]),t}(),fn=function(t){function e(e){var i;return(i=t.call(this)||this).format=null,i.format=1===e.format?"uint16":"uint32",i}return S(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.usage,GPUBufferUsage.INDEX,e.storage)},e}(dn),pn=function(t,e){if(t.size!==e.size)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),gn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],yn=["add","subtract","reverse-subtract","min","max"],xn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],Sn=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],bn=["none","back","front"],wn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Tn=[],An=function(){this.pipeline=void 0,this.hashes=void 0},Cn=function(){function t(t){this.lookupHashes=new Uint32Array(13),this.device=t,this.vertexBufferLayout=new vn,this.cache=new Map}var e=t.prototype;return e.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,v,g,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(v=r[1])?void 0:v.key)?_:0,x[10]=null!=(g=null==(y=r[2])?void 0:y.key)?g:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=Yi(x),b=this.cache.get(S);if(b)for(var w=0;w0){f.fragment={module:d.getFragmentShaderModule(),entryPoint:d.fragmentEntryPoint,targets:[]};var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},t}(),En=new Zi,Mn=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),Pn=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=En.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new Mn),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s>e,1)},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=ye.get(n),h=null!=(s=null==(r=ye.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==me&&n!==_e||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),Zn=[];Zn[0]="",Zn[1]="r8unorm",Zn[2]="rg8unorm",Zn[3]="",Zn[4]="",Zn[5]="",Zn[6]="rgba8unorm",Zn[7]="rgba8unorm",Zn[8]="bc1-rgba-unorm",Zn[9]="bc2-rgba-unorm",Zn[10]="bc3-rgba-unorm",Zn[11]="",Zn[12]="rgba16float",Zn[13]="",Zn[14]="rgba32float",Zn[15]="r32float",Zn[16]="depth32float",Zn[17]="depth24plus-stencil8",Zn[18]="rg11b10ufloat",Zn[19]="",Zn[20]="",Zn[21]="",Zn[22]="etc2-rgb8unorm",Zn[23]="etc2-rgba8unorm",Zn[24]="",Zn[25]="",Zn[26]="",Zn[27]="",Zn[28]="astc-4x4-unorm",Zn[29]="",Zn[30]="",Zn[31]="bgra8unorm";var Qn=[];Qn[0]="repeat",Qn[1]="clamp-to-edge",Qn[2]="mirror-repeat";var $n=[];$n[0]={level:"nearest",mip:"nearest"},$n[1]={level:"linear",mip:"nearest"},$n[2]={level:"nearest",mip:"nearest"},$n[3]={level:"nearest",mip:"linear"},$n[4]={level:"linear",mip:"nearest"},$n[5]={level:"linear",mip:"linear"};var Jn=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=Zn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|(xe(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|GPUTextureUsage.COPY_SRC},this.gpuTexture=n.createTexture(this.descr),this.texture.format===de&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:Qn[n.addressU],addressModeV:Qn[n.addressV],addressModeW:Qn[n.addressW]};!e&&n.compareOnRead&&(e=2),2===e?(s.compare="less",s.magFilter="linear",s.minFilter="linear"):1===e||this.texture.format===le||this.texture.format===de||this.texture.format===oe?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=$n[n.magFilter].level,s.minFilter=$n[n.minFilter].level,s.mipmapFilter=$n[n.minFilter].mip);var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?_t.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=e.requiredMipLevels,s=0;s<=|&+-]/g,us=function(){function t(){}return t.run=function(t,e){void 0===e&&(e=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var i=new Map;if(e){var n=new Map,s=t.match(/(pcFragColor[1-8])\b/g);null==s||s.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);n.set(i,(null!=(e=n.get(i))?e:0)+1)})),n.forEach((function(t,e){1===t&&i.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,i);var r=new Map;return i.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&r.set(e,t)})),null!==t&&(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).map((function(t){return r.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t})).join("\n"),t=t.replace(/(\n\n){3,}/gm,"\n\n")),t},t._preprocess=function(e,i){void 0===i&&(i=new Map);for(var n,s=e,r=[],a=!1;null!==(n=is.exec(e));){var o=n[1];switch(o){case"define":ns.lastIndex=n.index;var h=ns.exec(e);a||(a=null===h);var l=h[1];hs.lastIndex=h.index;var c=hs.exec(l)[1],u=l.substring(c.length).trim();""===u&&(u="true"),t._keep(r)&&i.set(c,u),is.lastIndex=h.index+h[0].length;break;case"undef":rs.lastIndex=n.index;var d=rs.exec(e),f=d[1].trim();t._keep(r)&&i.delete(f),is.lastIndex=d.index+d[0].length;break;case"extension":ss.lastIndex=n.index;var p=ss.exec(e);if(a||(a=null===p),p){var m=p[1];t._keep(r)&&i.set(m,"true")}is.lastIndex=p.index+p[0].length;break;case"ifdef":case"ifndef":case"if":as.lastIndex=n.index;var _=as.exec(e),v=_[2],g=t.evaluate(v,i);a||(a=g.error);var y=g.result;"ifndef"===o&&(y=!y),r.push({anyKeep:y,keep:y,start:n.index,end:as.lastIndex}),is.lastIndex=_.index+_[0].length;break;case"endif":case"else":case"elif":os.lastIndex=n.index;var x=os.exec(e),S=r.pop(),b=S.keep?e.substring(S.end,n.index):"";e=e.substring(0,S.start)+b+e.substring(os.lastIndex),is.lastIndex=S.start+b.length;var w=x[1];if("else"===w||"elif"===w){var T=!1;if(!S.anyKeep)if("else"===w)T=!S.keep;else{var A=t.evaluate(x[2],i);T=A.result,a||(a=A.error)}r.push({anyKeep:S.anyKeep||T,keep:T,start:is.lastIndex,end:is.lastIndex})}}}return a?(console.warn("Failed to preprocess shader: ",{source:s}),s):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),E.get(l))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setDepthBias=function(t){},n.setDepthBiasValues=function(t,e){},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(nn),Is=0,Ls=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,v,g,y,x,S;(void 0===e&&(e={}),this.name=void 0,this._isRenderTarget=!1,this._gpuSize=0,this.id=Is++,this._invalid=!1,this._lockedLevel=-1,this.renderVersionDirty=0,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=xe(this._format),t.supportsVolumeTextures)?(this._volume=null!=(x=e.volume)&&x,this._depth=Math.floor(null!=(S=e.depth)?S:1)):(this._volume=!1,this._depth=1);this._cubemap=null!=(a=e.cubemap)&&a,this.fixCubemapSeams=null!=(o=e.fixCubemapSeams)&&o,this._flipY=null!=(h=e.flipY)&&h,this._premultiplyAlpha=null!=(l=e.premultiplyAlpha)&&l,this._mipmaps=null==(c=null!=(u=e.mipmaps)?u:e.autoMipmap)||c,this._minFilter=null!=(d=e.minFilter)?d:5,this._magFilter=null!=(f=e.magFilter)?f:1,this._anisotropy=null!=(p=e.anisotropy)?p:1,this._addressU=null!=(m=e.addressU)?m:0,this._addressV=null!=(_=e.addressV)?_:0,this._addressW=null!=(v=e.addressW)?v:0,this._compareOnRead=null!=(g=e.compareOnRead)&&g,this._compareFunc=null!=(y=e.compareFunc)?y:1,this.type=ei,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?ii:ei:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?ri:ei),this.projection=ci,this._cubemap?this.projection=ui:e.projection&&e.projection!==ui&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=t,this._height=e,this._depth=i,this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){void 0===t&&(t={}),void 0===t.level&&(t.level=0),void 0===t.face&&(t.face=0),void 0===t.mode&&(t.mode=2),this._lockedLevel=t.level;var e=this.cubemap?this._levels[t.face]:this._levels;if(null===e[t.level]){var i=Math.max(1,this._width>>t.level),n=Math.max(1,this._height>>t.level),s=Math.max(1,this._depth>>t.level),r=new ArrayBuffer(Kn.calcLevelGpuSize(i,n,s,this._format));e[t.level]=new(Se(this._format))(r)}return e[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedLevel,this.upload(),this._lockedLevel=-1},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=v(m().mark((function t(){var e,i,n,s=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=m().mark((function t(){var i,r,a,o;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new rn({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),y(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?Math.floor(Math.log2(Math.max(this.width,this.height)))+1:1}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(this._minFilter=t,this.propertyChanged(1))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(this._magFilter=t,this.propertyChanged(2))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this._mipmaps=t,this.device.isWebGPU,t&&(this._needsMipmapsUpload=!0))}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return Kn.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return _t.powerOfTwo(this._width)&&_t.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case ii:return"rgbm";case ni:return"rgbe";case si:return"rgbp";default:return this.format===ae||this.format===he||this.format===oe||this.format===le?"linear":"srgb"}}}]),t}(),Ds=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s,r=t.gl;switch(this.bufferId||(this.bufferId=r.createBuffer()),e){case 0:s=r.STATIC_DRAW;break;case 1:s=r.DYNAMIC_DRAW;break;case 2:s=r.STREAM_DRAW;break;case 3:s=t.isWebGL2?r.DYNAMIC_COPY:r.STATIC_DRAW}r.bindBuffer(i,this.bufferId),r.bufferData(i,n,s)},y(t,[{key:"initialized",get:function(){return!!this.bufferId}}]),t}(),Os=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var js=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=Xs(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else e._volume?(s=1/Math.pow(2,r),e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n))):(t._isBrowserInterface(n)?(t._isImageBrowserInterface(n)&&(n.width>t.maxTextureSize||n.height>t.maxTextureSize)&&(n=Xs(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height)),t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n)):(s=1/Math.pow(2,r),e._compressed?i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n))),e._mipmapsUploaded=0!==r);r++}else r++;if(e._needsUpload)if(e._cubemap)for(var c=0;c<6;c++)e._levelsUpdated[0][c]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize)}},t}(),qs=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),Ys=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var v=i.createRenderbuffer();this._glMsaaColorBuffers.push(v);var g=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,v),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,g,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,v)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s),o=er[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++),n=t.indexOf("attribute",n+1)}return e},t}(),nr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),sr=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new nr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f0;var g=s.vertexUniformsCount;return g-=16,g-=8,g-=1,g-=16,s.boneLimit=Math.floor(g/3),s.boneLimit=Math.min(s.boneLimit,128),"Mali-450 MP"===s.unmaskedRenderer&&(s.boneLimit=34),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=hr(a,a.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=hr(a,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=oe:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=le),s.postInit(),s}S(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new sr(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new rn({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new Os},n.createIndexBufferImpl=function(t){return new ks(t)},n.createShaderImpl=function(t){return new Ws(t)},n.createTextureImpl=function(t){return new js},n.createRenderTargetImpl=function(t){return new Ys},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,rr)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,_t.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?u.drawElementsInstanced(S,b,T,A,e):u.drawElements(S,b,T,A)}else{var C=t.base;e>0?u.drawArraysInstanced(S,C,b,e):u.drawArrays(S,C,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(u.endTransformFeedback(),u.bindBufferBase(u.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(Ui.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(Ni.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m)}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=v(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return _.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setDepthBias=function(t){this.depthBiasEnabled!==t&&(this.depthBiasEnabled=t,t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL))},n.setDepthBiasValues=function(t,e){this.gl.polygonOffset(e,t)},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=en.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=en.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(t===se)this.gl.disable(this.gl.CULL_FACE);else{this.cullMode===se&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t){if(t!==this.shader){if(t.failed)return!1;if(!t.ready&&!t.impl.finalize(this,t))return t.failed=!0,!1;this.shader=t,this.gl.useProgram(t.impl.glProgram),this.attributesInvalidated=!0}return!0},n.getHdrFormat=function(t,e,i,n){var s=this.extTextureHalfFloat&&(!e||this.textureHalfFloatRenderable)&&(!i||this.textureHalfFloatUpdatable)&&(!n||this.extTextureHalfFloatLinear),r=this.extTextureFloat&&(!e||this.textureFloatRenderable)&&(!n||this.extTextureFloatLinear);return s&&r?t?le:oe:s?oe:r?le:null},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},y(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new fs(t,ir.createDefinition(t,{name:"ptest1",vertexCode:ar,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new fs(t,ir.createDefinition(t,{name:"ptest2",vertexCode:ar,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:le,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new Ls(t,n),r=new rn({colorBuffer:s,depth:!1});or(t,r,e),n.format=7;var a=new Ls(t,n),o=new rn({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),or(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}]),e}(nn),cr=function(){function t(){}return t.prototype.unlock=function(t){},t}(),ur=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),dr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),fr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),pr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),mr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=bi,n.samples=1,n}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.createVertexBufferImpl=function(t,e){return new pr(t,e)},i.createIndexBufferImpl=function(t){return new cr(t)},i.createShaderImpl=function(t){return new dr(t)},i.createTextureImpl=function(t){return new fr(t)},i.createRenderTargetImpl=function(t){return new ur(t)},i.draw=function(t,e,i){},i.setShader=function(t){return!0},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.startPass=function(t){},i.endPass=function(t){},i.clear=function(t){},i.setDepthBias=function(t){},i.setDepthBiasValues=function(t,e){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(nn);var _r=0,vr=function(){function t(t,e,i,n,s){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=_r++,this.impl=t.createIndexBufferImpl(this);var r=Pi[e];this.bytesPerIndex=r,this.numBytes=this.numIndices*r,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),Yr()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"===i.type||"mouseup"===i.type?this.button=i.button:this.button=-1,this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=i.ctrlKey||!1,this.altKey=i.altKey||!1,this.shiftKey=i.shiftKey||!1,this.metaKey=i.metaKey||!1,this.event=i},Zr=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._upHandler=i._handleUp.bind(w(i)),i._downHandler=i._handleDown.bind(w(i)),i._moveHandler=i._handleMove.bind(w(i)),i._wheelHandler=i._handleWheel.bind(w(i)),i._contextMenuHandler=function(t){t.preventDefault()},i._target=null,i._attached=!1,i.attach(e),i}S(e,t),e.isPointerLocked=function(){return Yr()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),e&&document.addEventListener("pointerlockerror",(function t(){e(),document.removeEventListener("pointerlockerror",t)}),!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new Kr(this,t);e.event&&this.fire(Ur,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new Kr(this,t);e.event&&this.fire(Fr,e)},i._handleMove=function(t){var e=new Kr(this,t);e.event&&(this.fire(Br,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new Kr(this,t);e.event&&this.fire(Nr,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P),Qr=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,this._element=null,this._actions={},this._axes={},this._axesValues={},t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:Or,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:Dr,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:kr,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(Br,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(Br,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new Zr,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new qr,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),$r=Object.freeze([]),Jr=function(){return $r};"undefined"!=typeof navigator&&(Jr=(navigator.getGamepads||navigator.webkitGetGamepads||Jr).bind(navigator));var ta={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},ea={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},ia={"Product: 0268":"PS3"},na={};function sa(t){var e=na[t.id];if(e)return e;for(var i in ia)if(-1!==t.id.indexOf(i)){var n=ia[i];if(!t.mapping){var s=ea["RAW_"+n];if(s)return s}return ea[n]}if("xr-standard"===t.mapping)return ea.DEFAULT_XR;var r=ea.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),ha=Object.freeze(new oa(0)),la=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new oa(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=ta.axes,r=ta.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;ara?e:0},y(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}]),t}(),ca=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(w(e)),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(w(e)),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}S(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new la(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(zr,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(Vr,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=Jr(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===ee?o=1-s*(a-i)/(n-i):r===ie?o=i/(i+s*(a-i)):r===ne&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var Sa=function(){function t(t){this._manager=t,this.position=new wt,this.velocity=new wt,this.orientation=new Ft}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},y(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}]),t}(),ba="running",wa=["click","touchstart","mousedown"],Ta=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(w(e)),e._userSuspended=!1,e.listener=new Sa(w(e)),e._volume=1,e}S(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===ba&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==ba&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return ga&&(i=new ga(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return ya&&((n=new ya(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===ba||this._resume()},i._registerUnlockListeners=function(){var t=this;wa.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;wa.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},y(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==ba&&this._registerUnlockListeners()),this._context}}]),e}(P),Aa=function(){function t(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}return y(t,[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]),t}();function Ca(t,e){return t%e||0}var Ea=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,va()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(w(s))):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(w(s)),s._timeUpdateHandler=s._onTimeUpdate.bind(w(s)),s._endedHandler=s._onEnded.bind(w(s)),s._createSource()),s}S(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=Ca(this._startOffset,this.duration);t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=Ca(this._startOffset,this.duration),t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=Ca(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,Ca(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=Ca((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},y(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?Ca(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}]),e}(P);va()||(Object.assign(Ea.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=Ca(this._startOffset,this.duration);t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>Ca(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=Ca(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(Ea.prototype,"volume",{get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(Ea.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(Ea.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(Ea.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=Ca(this._startTime+Ca(t,this.duration),this._sound.duration),this._startOffset=null))}}));var Ma=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new wt,s._velocity=new wt,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:ee,s}return S(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},y(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}]),e}(Ea);if(!va()){var Pa=new wt;Object.defineProperty(Ma.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(Pa=Pa.sub2(t,e)).length();if(an)return 0;var o=0;return r===ee?o=1-s*(a-i)/(n-i):r===ie?o=i/(i+s*(a-i)):r===ne&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(Ma.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(Ma.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(Ma.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(Ma.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var Ra="none",Ia="linear",La={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},Da="mul",Oa=32,ka=128,Fa=256,Ba=512,Ua=1024,Na=2048,za=4096,Va=8192,Ga=function(){function t(){this._refCount=0}var e=t.prototype;return e.incRefCount=function(){this._refCount++},e.decRefCount=function(){this._refCount--},y(t,[{key:"refCount",get:function(){return this._refCount}}]),t}(),Ha=function(){function t(){}return t.set=function(e){t._graphicsDevice=e},t.get=function(){return t._graphicsDevice},t}();Ha._graphicsDevice=null;var Wa=0,Xa=function(){function t(){this.initDefaults()}var e=t.prototype;return e.initDefaults=function(){this.recreate=!1,this.verticesUsage=0,this.indicesUsage=0,this.maxVertices=0,this.maxIndices=0,this.vertexCount=0,this.indexCount=0,this.vertexStreamsUpdated=!1,this.indexStreamUpdated=!1,this.vertexStreamDictionary={},this.indices=null},e._changeVertexCount=function(t,e){this.vertexCount||(this.vertexCount=t)},t}();Xa.DEFAULT_COMPONENTS_POSITION=3,Xa.DEFAULT_COMPONENTS_NORMAL=3,Xa.DEFAULT_COMPONENTS_UV=2,Xa.DEFAULT_COMPONENTS_COLORS=4;var ja=function(t,e,i,n){this.data=t,this.componentCount=e,this.dataType=i,this.dataTypeNormalize=n},qa=function(t){function e(e){var i;return(i=t.call(this)||this)._aabbVer=0,i.id=Wa++,i.device=e||Ha.get(),i.vertexBuffer=null,i.indexBuffer=[null],i.primitive=[{type:0,base:0,count:0}],i.skin=null,i._morph=null,i._geometryData=null,i._aabb=new Ht,i.boneAabb=null,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this.morph;t&&(this.morph=null,t.refCount<1&&t.destroy()),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);for(var e=0;e0){var S=v.array[v.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>w&&(r.y=w),r.z>T&&(r.z=T),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r){void 0===s&&(s=6),void 0===r&&(r=!1),this._initGeometryData();var a=n||e.length/i;this._geometryData._changeVertexCount(a,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new ja(e,i,s,r)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new Lr(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(we,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(Te,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=Xa.DEFAULT_COMPONENTS_UV),this.setVertexStream(Pe+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Me,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Me,t,Xa.DEFAULT_COMPONENTS_COLORS,e,mi,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(we,t)},i.getNormals=function(t){return this.getVertexStream(Te,t)},i.getUvs=function(t,e){return this.getVertexStream(Pe+t,e)},i.getColors=function(t){return this.getVertexStream(Me,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[we];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize})}return new Ji(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new ji(this.device,e,t,this._geometryData.verticesUsage)}var i=new Lr(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices>65535?2:1;this.indexBuffer[0]=new vr(this.device,t,this._geometryData.maxIndices,this._geometryData.indicesUsage)}var e=this._geometryData.indices;e&&(this.indexBuffer[0].writeData(e,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new Mi[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new vr(this.vertexBuffer.device,t,i.length);new Mi[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},y(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}]),e}(Ga),Ya=4/64,Ka=1-2*Ya,Za=[];function Qa(t,e){for(var i=e.length/3,n=t.length/3,s=new wt,r=new wt,a=new wt,o=new wt,h=new wt,l=new wt,c=[],u=0;u0)for(var g=0;g<=n;g++)for(var y=0;y<=s;y++){var x=y/s*2*Math.PI-Math.PI,S=Math.sin(x),b=Math.cos(x);u.set(S*t,-i/2,b*t),c.set(S*e,i/2,b*e),o.lerp(u,c,g/n),h.sub2(c,u).normalize(),d.set(b,0,-S),l.cross(d,h).normalize(),f.push(o.x,o.y,o.z),p.push(l.x,l.y,l.z);var w=y/s,T=g/n;m.push(w,1-T);var A=T;if(T=w,w=(w=A)*Ka+Ya,T=T*Ka+Ya,w/=3,_.push(w,1-T),g0)for(var ut=0;ut1&&v.push(a,a+ut,a+ut-1)}if(a+=s,e>0)for(var gt=0;gt1&&v.push(a,a+gt-1,a+gt)}}return{positions:f,normals:p,uvs:m,uvs1:_,indices:v}}function io(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20,u=null!=(a=e.calculateTangents)&&a,d=eo(o,o,h,l,c,!1);return u&&(d.tangents=$a(d.positions,d.normals,d.uvs,d.indices)),Ja(t,d.positions,d)}function no(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20,u=null!=(a=e.calculateTangents)&&a,d=eo(o,o,h-2*o,l,c,!0);return u&&(d.tangents=$a(d.positions,d.normals,d.uvs,d.indices)),Ja(t,d.positions,d)}function so(t,e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18,f=null!=(o=e.calculateTangents)&&o,p=eo(h,l,c,u,d,!1);return f&&(p.tangents=$a(p.positions,p.normals,p.uvs,p.indices)),Ja(t,p.positions,p)}function ro(t,e){var i,n,s,r;void 0===e&&(e={});for(var a=null!=(i=e.radius)?i:.5,o=null!=(n=e.latitudeBands)?n:16,h=null!=(s=e.longitudeBands)?s:16,l=null!=(r=e.calculateTangents)&&r,c=[],u=[],d=[],f=[],p=0;p<=o;p++)for(var m=p*Math.PI/o,_=Math.sin(m),v=Math.cos(m),g=0;g<=h;g++){var y=2*g*Math.PI/h-Math.PI/2,x=Math.sin(y),S=Math.cos(y)*_,b=v,w=x*_,T=1-g/h,A=1-p/o;c.push(S*a,b*a,w*a),u.push(S,b,w),d.push(T,1-A)}for(var C=0;C shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_albedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:po,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:mo,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:Ks,gles3PS:Zs,gles3VS:Qs,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = cross(V1, V2);\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix, emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos, frameRandom, localVelocityDivMult, velocityDivMult;\nuniform float delta, rate, rateDiv, lifetime, numParticles, rotSpeedDivMult, radialSpeedDivMult, seed;\nuniform float startAngle, startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(internalTex0, vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(internalTex1, vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(internalTex3, vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles, numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale, emitterPos, faceTangent, faceBinorm;\nuniform float rate, rateDiv, lifetime, deltaRandomnessStatic, scaleDivMult, alphaDivMult, seed, delta;\nuniform sampler2D particleTexOUT, particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSphereLowPS:"\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = vNormalV;\n\tvec2 sphereMapUv = reflDirV.xy * 0.5 + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * thickness * modelScale;\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec4 params;\nuniform vec2 params2;\nfloat targetFace() { return params.x; }\nfloat specularPower() { return params.y; }\nfloat sourceCubeSeamScale() { return params.z; }\nfloat targetCubeSeamScale() { return params.w; }\nfloat targetTotalPixels() { return params2.x; }\nfloat sourceTotalPixels() { return params2.y; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+po+"\n"+mo+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(sampler2D tex, vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\nvoid main(void) {\n\tvec3 dir=vViewDir;\n\tdir.x *= -1.0;\n\tvec3 linear = $DECODE(textureCube(texture_cubeMap, fixSeamsStatic(dir, $FIXCONST)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\nvoid main(void) {\n\tmat4 view = matrix_view;\n\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\tgl_Position.z = gl_Position.w - 0.00001;\n\tvViewDir = aPosition * cubeMapRotationMatrix;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:$s,webgpuVS:Js},vo=new Bs;function go(t){return vo.get(t)}function yo(t,e){vo.get(t,(function(){return e}))}var xo=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return e||(e=_o),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return e||(e=_o),"linear"===t?e.fogLinearPS?e.fogLinearPS:_o.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:_o.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:_o.fogExp2PS:e.fogNonePS?e.fogNonePS:_o.fogNonePS},t.gammaCode=function(t,e){return e||(e=_o),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:_o.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:_o.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:_o.gamma1_0PS},t.tonemapCode=function(t,e){return e||(e=_o),1===t?e.tonemappingFilmicPS?e.tonemappingFilmicPS:_o.tonemappingFilmicPS:0===t?e.tonemappingLinearPS?e.tonemappingLinearPS:_o.tonemappingLinearPS:2===t?e.tonemappingHejlPS?e.tonemappingHejlPS:_o.tonemappingHejlPS:3===t?e.tonemappingAcesPS?e.tonemappingAcesPS:_o.tonemappingAcesPS:4===t?e.tonemappingAces2PS?e.tonemappingAces2PS:_o.tonemappingAces2PS:e.tonemapingNonePS?e.tonemapingNonePS:_o.tonemappingNonePS},t}();function So(t,e,i,n){return void 0===n&&(n=!1),new fs(t,ir.createDefinition(t,{name:e+"_"+i,vertexCode:_o[e],fragmentCode:_o[i],useTransformFeedback:n}))}function bo(t,e,i,n,s,r){void 0===r&&(r=!1);var a=go(t),o=a.getCachedShader(n);return o||(o=new fs(t,ir.createDefinition(t,{name:n,vertexCode:e,fragmentCode:i,attributes:s,useTransformFeedback:r})),a.setCachedShader(n,o)),o}var wo=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}S(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(xo);function To(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new wo(s,n),a="shader",o=go(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return o.unregister(a),h}_o.createShader=So,_o.createShaderFromCode=bo;var Ao={type:be,base:0,count:4,indexed:!1},Co=new Pt,Eo=new Pt,Mo=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new fo;this.shader=To(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new xs(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new ms(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(Co.set(n.vx,n.vy,n.vw,n.vh),Eo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Ao),t&&(n.setViewport(Co.x,Co.y,Co.z,Co.w),n.setScissor(Eo.x,Eo.y,Eo.z,Eo.w))},t}(),Po=new Pt;function Ro(t,e,i,n,s){t.setCullMode(se),t.setDepthState(Ni.NODEPTH),t.setStencilState(null,null);var r=new Mo(i);n||((n=Po).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new uo(t,(function(){r.render(n,s)}));a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var Io=new Bs,Lo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefine=void 0,this.name=t,this.index=e,Object.assign(this,i),this.initShaderDefines()}return t.prototype.initShaderDefines=function(){var t;this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK");var e=t?"#define "+t+"_PASS\n":"",i="#define "+this.name.toUpperCase()+"_PASS\n";this.shaderDefines=e+i},t}(),Do=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow")}t.get=function(e){return Io.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new Lo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Oo=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createShaderDefinition=function(t,e){var i={vertex_position:we};e.skin&&(i.vertex_boneWeights=Ce,i.vertex_boneIndices=Ee),e.vertexColors&&(i.vertex_color=Me),e.diffuseMap&&(i.vertex_texCoord0=Re);var n=Do.get(t).getByIndex(e.pass).shaderDefines,s=n;s+=_o.transformDeclVS,e.skin?(s+=xo.skinCode(t),s+=_o.transformSkinnedVS):s+=_o.transformVS,e.vertexColors&&(s+="attribute vec4 vertex_color;\n",s+="varying vec4 vColor;\n"),e.diffuseMap&&(s+="attribute vec2 vertex_texCoord0;\n",s+="varying vec2 vUv0;\n"),2===e.pass&&(s+="varying float vDepth;\n",s+="#ifndef VIEWMATRIX\n",s+="#define VIEWMATRIX\n",s+="uniform mat4 matrix_view;\n",s+="#endif\n",s+="#ifndef CAMERAPLANES\n",s+="#define CAMERAPLANES\n",s+="uniform vec4 camera_params;\n\n",s+="#endif\n"),s+=xo.begin(),s+=" gl_Position = getPosition();\n",2===e.pass&&(s+=" vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n"),e.vertexColors&&(s+=" vColor = vertex_color;\n"),e.diffuseMap&&(s+=" vUv0 = vertex_texCoord0;\n"),s+=xo.end();var r=n;return e.vertexColors?r+="varying vec4 vColor;\n":r+="uniform vec4 uColor;\n",e.diffuseMap&&(r+="varying vec2 vUv0;\n",r+="uniform sampler2D texture_diffuseMap;\n"),e.fog&&(r+=xo.fogCode(e.fog)),e.alphaTest&&(r+=_o.alphaTestPS),2===e.pass&&(r+="varying float vDepth;\n",r+=_o.packDepthPS),r+=xo.begin(),e.vertexColors?r+=" gl_FragColor = vColor;\n":r+=" gl_FragColor = uColor;\n",e.diffuseMap&&(r+=" gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n"),e.alphaTest&&(r+=" alphaTest(gl_FragColor.a);\n"),3!==e.pass&&(2===e.pass?r+=" gl_FragColor = packFloat(vDepth);\n":e.fog&&(r+=" glFragColor.rgb = addFog(gl_FragColor.rgb);\n")),r+=xo.end(),ir.createDefinition(t,{name:"BasicShader",attributes:i,vertexCode:s,fragmentCode:r})},e}(xo),ko=new Oo,Fo=new Bs;function Bo(t){return Fo.get(t)}var Uo=[];Uo[0]={src:1,dst:1,op:2},Uo[3]={src:1,dst:0,op:0},Uo[2]={src:6,dst:8,op:0},Uo[4]={src:1,dst:8,op:0},Uo[1]={src:1,dst:1,op:0},Uo[6]={src:6,dst:1,op:0},Uo[7]={src:4,dst:2,op:0},Uo[8]={src:5,dst:1,op:0},Uo[5]={src:4,dst:0,op:0},Uo[9]={src:1,dst:1,op:3},Uo[10]={src:1,dst:1,op:4};var No=0,zo=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=No++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new Ui,this._depthState=new Ni,this.cull=1,this.stencilFront=null,this.stencilBack=null,this.depthBias=0,this.slopeDepthBias=0,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new fo(a,o,h),u=go(t);return u.register("basic",ko),u.getProgram("basic",l,c,this.userId)},e}(zo),Go=function(){function t(t,e,i){this._aabb=new Ht,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2(Wo,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof wt?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Bt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof wt?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}]),t}();function xh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,v=p[0].layer,g=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var w=Ah(p[0]),T=p[0].mesh.vertexBuffer.format.batchingHash,A=p[0].mesh.primitive[0].indexed;c=null;for(var C=1;C=a){f=f.concat(p.slice(C));break}_!==E.material||v!==E.layer||T!==E.mesh.vertexBuffer.format.batchingHash||A!==E.mesh.primitive[0].indexed||g!==E._shaderDefs||S+E.mesh.vertexBuffer.getNumVertices()>o?m(E):(l.copy(h),l.add(E.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(E):(!x||(s=E.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&w===Ah(E)&&Sh(y,E.parameters)?n&&c&&c.intersects(E.aabb)&&E.drawOrder!==b?m(E):(h.add(E.aabb),S+=E.mesh.vertexBuffer.getNumVertices(),u[d].push(E)):m(E))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===we)for(var A=0;A0&&r.setIndices(S),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var I=new yh(r,p,this.rootNode);I.castShadow=h.origMeshInstances[0].castShadow,I.parameters=h.origMeshInstances[0].parameters,I.layer=h.origMeshInstances[0].layer,I._shaderDefs=h.origMeshInstances[0]._shaderDefs,I.cull=h.origMeshInstances[0].cull;var L=this._batchGroups[i];if(L&&L._ui&&(I.cull=!1),e){for(var D=[],O=0;O0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=ce,o=!1));var l=null!=(t=null==(e=r.renderTarget)?void 0:e.depthBuffer)?t:null==(i=r.renderTarget)?void 0:i.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,r.renderTarget,a,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Rh.forEach((function(t){return a.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(uo),Lh=new vt(254/255,254/255,254/255,254/255),Dh=[],Oh=[[],[],[]],kh=["uSceneDepthMap","uDepthMap"],Fh=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.releaseRenderTarget(this.renderTarget)},i.update=function(t){this.scene=t},i.shouldReallocate=function(t,e){var i=e.width,n=e.height;return!t||i!==t.width||n!==t.height},i.allocateRenderTarget=function(t,e,i){var n,s,r=new Ls(i,{name:kh[0],format:7,width:null!=(n=null==e?void 0:e.width)?n:this.device.width,height:null!=(s=null==e?void 0:e.height)?s:this.device.height,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});return t?(t.destroyFrameBuffers(),t._colorBuffer=r,t._colorBuffers=[r]):t=new rn({name:kh[0]+"RT}",colorBuffer:r,depth:!0,stencil:!1}),t},i.releaseRenderTarget=function(t){t&&(t.destroyTextureBuffers(),t.destroy())},i.before=function(){var t,e=this.camera,i=this.device,n=null!=(t=e.renderTarget)?t:i.backBuffer;if(this.shouldReallocate(this.renderTarget,n)){var s;null==(s=this.renderTarget)||s.destroyTextureBuffers();var r=this.allocateRenderTarget(this.renderTarget,e.renderTarget,i);this.renderTarget?this.renderTarget=r:(this.init(r),this.setClearColor(Lh),this.setClearDepth(1))}var a=this.renderTarget.colorBuffer;kh.forEach((function(t){return i.scope.resolve(t).setValue(a)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&0!=(n&Fa),t.skin=n&&0!=(2&n),t.useInstancing=n&&0!=(n&Oa),t.useMorphPosition=n&&0!=(n&Ua),t.useMorphNormal=n&&0!=(n&Na),t.useMorphTextureBased=n&&0!=(n&za),t.hasTangents=n&&0!=(n&Ba),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n&&(1!==i.skyboxIntensity||i.physicalUnits),t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];0!==e.lights.length&&0==(1&n)||(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-Kh*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-Kh*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-Kh*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=_t.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),Jh=new Ft,tl=new Ft,el=new Ft,il=function(){function t(){}return t.create=function(e,i,n){var s=new Gh;switch(s.node=new hh(e),s.aspectRatio=1,s.aspectRatioMode=1,s._scissorRectClear=!0,i){case 1:s.node.setRotation(t.pointLightRotations[n]),s.fov=90,s.projection=0;break;case 2:s.projection=0;break;case 0:s.projection=1}return s},t.evalSpotCookieMatrix=function(e){var i=t._spotCookieCamera;i||(i=t.create("SpotCookieCamera",2),t._spotCookieCamera=i),i.fov=2*e._outerConeAngle;var n=i._node;n.setPosition(e._node.getPosition()),n.setRotation(e._node.getRotation()),n.rotateLocal(-90,0,0),Jh.setTRS(n.getPosition(),n.getRotation(),wt.ONE).invert(),tl.mul2(i.projectionMatrix,Jh);var s=e.cookieMatrix,r=e.atlasViewport;return el.setViewport(r.x,r.y,r.z,r.w),s.mul2(el,tl),s},t}();il.pointLightRotations=[(new Bt).setFromEulerAngles(0,90,180),(new Bt).setFromEulerAngles(0,-90,180),(new Bt).setFromEulerAngles(90,0,0),(new Bt).setFromEulerAngles(-90,0,0),(new Bt).setFromEulerAngles(0,180,180),(new Bt).setFromEulerAngles(0,0,180)],il._spotCookieCamera=null;var nl=new wt,sl=new Float32Array(6),rl=new wt(-.5,0,0),al=new wt(0,0,.5),ol={FLAGS:0,COLOR_A:1,COLOR_B:2,SPOT_ANGLES:3,SHADOW_BIAS:4,COOKIE_A:5,COOKIE_B:6,COUNT_ALWAYS:7,POSITION_X:7,POSITION_Y:8,POSITION_Z:9,RANGE:10,SPOT_DIRECTION_X:11,SPOT_DIRECTION_Y:12,SPOT_DIRECTION_Z:13,PROJ_MAT_00:14,ATLAS_VIEWPORT_A:14,PROJ_MAT_01:15,ATLAS_VIEWPORT_B:15,PROJ_MAT_02:16,PROJ_MAT_03:17,PROJ_MAT_10:18,PROJ_MAT_11:19,PROJ_MAT_12:20,PROJ_MAT_13:21,PROJ_MAT_20:22,PROJ_MAT_21:23,PROJ_MAT_22:24,PROJ_MAT_23:25,PROJ_MAT_30:26,PROJ_MAT_31:27,PROJ_MAT_32:28,PROJ_MAT_33:29,AREA_DATA_WIDTH_X:30,AREA_DATA_WIDTH_Y:31,AREA_DATA_WIDTH_Z:32,AREA_DATA_HEIGHT_X:33,AREA_DATA_HEIGHT_Y:34,AREA_DATA_HEIGHT_Z:35,COUNT:36},hl={POSITION_RANGE:0,SPOT_DIRECTION:1,PROJ_MAT_0:2,ATLAS_VIEWPORT:2,PROJ_MAT_1:3,PROJ_MAT_2:4,PROJ_MAT_3:5,AREA_DATA_WIDTH:6,AREA_DATA_HEIGHT:7,COUNT:8},ll=function(){function t(e){this.device=e,this.cookiesEnabled=!1,this.shadowsEnabled=!1,this.areaLightsEnabled=!1,this.maxLights=255;var i=ol.COUNT_ALWAYS,n=0;t.lightTextureFormat===t.FORMAT_FLOAT?n=hl.COUNT:i=ol.COUNT,this.lights8=new Uint8ClampedArray(4*i*this.maxLights),this.lightsTexture8=t.createTexture(this.device,i,this.maxLights,7,"LightsTexture8"),this._lightsTexture8Id=this.device.scope.resolve("lightsTexture8"),n?(this.lightsFloat=new Float32Array(4*n*this.maxLights),this.lightsTextureFloat=t.createTexture(this.device,n,this.maxLights,le,"LightsTextureFloat"),this._lightsTextureFloatId=this.device.scope.resolve("lightsTextureFloat")):(this.lightsFloat=null,this.lightsTextureFloat=null,this._lightsTextureFloatId=void 0),this._lightsTextureInvSizeId=this.device.scope.resolve("lightsTextureInvSize"),this._lightsTextureInvSizeData=new Float32Array(4),this._lightsTextureInvSizeData[0]=n?1/this.lightsTextureFloat.width:0,this._lightsTextureInvSizeData[1]=n?1/this.lightsTextureFloat.height:0,this._lightsTextureInvSizeData[2]=1/this.lightsTexture8.width,this._lightsTextureInvSizeData[3]=1/this.lightsTexture8.height,this.invMaxColorValue=0,this.invMaxAttenuation=0,this.boundsMin=new wt,this.boundsDelta=new wt}t.initShaderDefines=function(){var e=t.lightTextureFormat===t.FORMAT_FLOAT?"FLOAT":"8BIT";t.shaderDefines="\n \n#define CLUSTER_TEXTURE_"+e+"\n "+t.buildShaderDefines(ol,"CLUSTER_TEXTURE_8_")+"\n "+t.buildShaderDefines(hl,"CLUSTER_TEXTURE_F_")+"\n "},t.buildShaderDefines=function(e,i){var n="",s=t.useTexelFetch?"":".5";return Object.keys(e).forEach((function(t){n+="\n#define "+i+t+" "+e[t]+s})),n},t.init=function(e){t.lightTextureFormat=e.extTextureFloat&&e.maxTextures>8?t.FORMAT_FLOAT:t.FORMAT_8BIT,t.useTexelFetch=e.supportsTextureFetch,t.initShaderDefines()},t.createTexture=function(t,e,i,n,s){return new Ls(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ei,magFilter:0,minFilter:0,anisotropy:1})};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),t.lightTextureFormat===t.FORMAT_FLOAT&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(rl,nl),sl[0]=nl.x,sl[1]=nl.y,sl[2]=nl.z,e.transformVector(al,nl),sl[3]=nl.x,sl[4]=nl.y,sl[5]=nl.z,sl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;$h.float2Bytes(a[0]*r,t,e+0,2),$h.float2Bytes(a[1]*r,t,e+2,2),$h.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){$h.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),$h.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);$h.float2BytesRange(s.bias,t,e,-1,20,2),$h.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=nl.sub2(n,this.boundsMin).div(this.boundsDelta);$h.float2Bytes(s.x,t,e+0,4),$h.float2Bytes(s.y,t,e+4,4),$h.float2Bytes(s.z,t,e+8,4),$h.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(nl,i),$h.float2Bytes(.499999*nl.x+.5,t,e+0,4),$h.float2Bytes(.499999*nl.y+.5,t,e+4,4),$h.float2Bytes(.499999*nl.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)$h.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)$h.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){$h.float2Bytes(i.x,t,e+0,2),$h.float2Bytes(i.y,t,e+2,2),$h.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)$h.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(e,i,n){var s=2===e._type,r=e.atlasViewportAllocated,a=this.cookiesEnabled&&!!e._cookie&&r,o=this.areaLightsEnabled&&0!==e.shape,h=this.shadowsEnabled&&e.castShadows&&r,l=e._node.getPosition(),c=null,u=null;s?h?c=e.getRenderData(null,0).shadowMatrix:a&&(c=il.evalSpotCookieMatrix(e)):(h||a)&&(u=e.atlasViewport);var d=this.lights8,f=i*this.lightsTexture8.width*4;if(this.addLightDataFlags(d,f+4*ol.FLAGS,e,s,h,e.shadowIntensity),this.addLightDataColor(d,f+4*ol.COLOR_A,e,n,a),s&&this.addLightDataSpotAngles(d,f+4*ol.SPOT_ANGLES,e),e.castShadows&&this.addLightDataShadowBias(d,f+4*ol.SHADOW_BIAS,e),a&&this.addLightDataCookies(d,f+4*ol.COOKIE_A,e),t.lightTextureFormat===t.FORMAT_FLOAT){var p=this.lightsFloat,m=i*this.lightsTextureFloat.width*4;if(p[m+4*hl.POSITION_RANGE+0]=l.x,p[m+4*hl.POSITION_RANGE+1]=l.y,p[m+4*hl.POSITION_RANGE+2]=l.z,p[m+4*hl.POSITION_RANGE+3]=e.attenuationEnd,s&&(this.getSpotDirection(nl,e),p[m+4*hl.SPOT_DIRECTION+0]=nl.x,p[m+4*hl.SPOT_DIRECTION+1]=nl.y,p[m+4*hl.SPOT_DIRECTION+2]=nl.z),c)for(var _=c.data,v=0;v<16;v++)p[m+4*hl.PROJ_MAT_0+v]=_[v];if(u&&(p[m+4*hl.ATLAS_VIEWPORT+0]=u.x,p[m+4*hl.ATLAS_VIEWPORT+1]=u.y,p[m+4*hl.ATLAS_VIEWPORT+2]=u.z/3),o){var g=this.getLightAreaSizes(e);p[m+4*hl.AREA_DATA_WIDTH+0]=g[0],p[m+4*hl.AREA_DATA_WIDTH+1]=g[1],p[m+4*hl.AREA_DATA_WIDTH+2]=g[2],p[m+4*hl.AREA_DATA_HEIGHT+0]=g[3],p[m+4*hl.AREA_DATA_HEIGHT+1]=g[4],p[m+4*hl.AREA_DATA_HEIGHT+2]=g[5]}}else this.addLightDataPositionRange(d,f+4*ol.POSITION_X,e,l),s&&this.addLightDataSpotDirection(d,f+4*ol.SPOT_DIRECTION_X,e),c&&this.addLightDataLightProjMatrix(d,f+4*ol.PROJ_MAT_00,c),u&&this.addLightAtlasViewport(d,f+4*ol.ATLAS_VIEWPORT_A,u),o&&this.addLightAreaSizes(d,f+4*ol.AREA_DATA_WIDTH_X,e)},t}();Ch=ll,ll.FORMAT_FLOAT=0,ll.FORMAT_8BIT=1,ll.lightTextureFormat=Ch.FORMAT_8BIT,ll.useTexelFetch=!1,ll.shaderDefines="";var cl={vertex_normal:Te,vertex_tangent:Ae,vertex_texCoord0:Re,vertex_texCoord1:Ie,vertex_color:Me,vertex_boneWeights:Ce,vertex_boneIndices:Ee},ul={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},dl=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:we},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=cl[c]);this.chunks[h]=l}}else this.chunks=_o;this.shaderPassInfo=Do.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2===this.options.pass&&(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.useInstancing&&(this.attributes.instance_line1=Qe,this.attributes.instance_line2=$e,this.attributes.instance_line3=Je,this.attributes.instance_line4=ti,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=Te,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Ae,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Me,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=qe,this.attributes.vertex_shadowParameters=Ye,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=ti;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=qe,this.attributes.morph_pos1=Ye,this.attributes.morph_pos2=Ke,this.attributes.morph_pos3=Ze,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=qe,this.attributes.morph_nrm1=Ye,this.attributes.morph_nrm2=Ke,this.attributes.morph_nrm3=Ze,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=Qe,this.attributes.morph_nrm5=$e,this.attributes.morph_nrm6=Je,this.attributes.morph_nrm7=ti,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=Qe,this.attributes.morph_pos5=$e,this.attributes.morph_pos6=Je,this.attributes.morph_pos7=ti,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Ce,this.attributes.vertex_boneIndices=Ee,o+=xo.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(ul).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+ul[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0);var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),(d||e.clusteredLightingEnabled)&&(n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;"));for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}if("envAtlasHQ"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,Yh.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("envAtlas"===e.reflectionSource)s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("cubeMap"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("sphereMap"===e.reflectionSource){var y=t.fragmentUniformsCount>16?i.reflectionSpherePS:i.reflectionSphereLowPS;s.append(y.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)))}this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?s.append(i.refractionDynamicPS):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var x=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),x=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var S=!e.lightMapEnabled||e.lightMapWithoutAmbient;S&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,Yh.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!x&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var b,w=!1,T=!1,A=!1,C=!1,E=!1;if(e.clusteredLightingEnabled&&this.lighting&&(C=!0,w=!0,T=!0,E=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+La[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(ll.shaderDefines),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),e.twoSidedLighting&&n.append("uniform float twoSidedLightingNegScaleFactor;"),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(e.twoSidedLighting?a.append(" dVertexNormalW = normalize(gl_FrontFacing ? vNormalW * twoSidedLightingNegScaleFactor : -vNormalW * twoSidedLightingNegScaleFactor);"):a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(e.twoSidedLighting?(a.append(" dTangentW = gl_FrontFacing ? vTangentW * twoSidedLightingNegScaleFactor : -vTangentW * twoSidedLightingNegScaleFactor;"),a.append(" dBinormalW = gl_FrontFacing ? vBinormalW * twoSidedLightingNegScaleFactor : -vBinormalW * twoSidedLightingNegScaleFactor;")):(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;"))),a.append(" getViewDir();"),g&&a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);")),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),S&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!x&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var M=0;M 0.00001) {"),2===R&&(b&&!P._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+M+"_direction, light"+M+"_innerConeAngle, light"+M+"_outerConeAngle, dLightDirNormW);"),C=!0))),0!==I?0===R?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+L+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),P.castShadows&&!e.noShadow){var D=6===P._shadowType,O=1===P._shadowType||2===P._shadowType||3===P._shadowType,k=5===P._shadowType||0===P._shadowType||4===P._shadowType,F=null,B=void 0;switch(P._shadowType){case 1:F="VSM8",B="0.0";break;case 2:F="VSM16",B="5.54";break;case 3:F="VSM32",B=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:F="PCF1x1";break;case 4:F="PCF5x5";break;case 6:F="PCSS";break;default:F="PCF3x3"}if(null!==F){P._normalOffsetBias&&!P._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===R&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===R&&s.append("#define SHADOW_SAMPLE_POINT");var U=i.shadowSampleCoordPS;s.append(U.replace("$LIGHT",M)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+M+"_shadowMatrix";0===R&&P.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+M+"_shadowMatrixPalette, light"+M+"_shadowCascadeDistances, light"+M+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+M+"("+N+", light"+M+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===R&&r.append(" fadeShadow(light"+M+"_shadowCascadeDistances);");var z="SHADOWMAP_PASS(light"+M+"_shadowMap), dShadowCoord, light"+M+"_shadowParams";if(O)z=z+", "+B+", dLightDirW";else if(D){var V="vec2(light"+M+"_shadowSearchArea)";0!==I&&(V="vec2(length(light"+M+"_halfWidth), length(light"+M+"_halfHeight)) * light"+M+"_shadowSearchArea"),z=z+", light"+M+"_cameraParams, "+V+", dLightDirW"}1===R?(F="Point"+F,D||(z+=", dLightDirW")):2===R&&(F="Spot"+F),r.append(" float shadow"+M+" = getShadow"+F+"("+z+");"),r.append(" dAtten *= mix(1.0, shadow"+M+", light"+M+"_shadowIntensity);")}}if(0!==I?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),P.affectSpecularity)if(0!==I)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+L+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+L+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";");else{var G=!1;0===R&&e.fresnelModel>0&&(G=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+M+"_color"+(b?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==R&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,A=!0,w=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),w&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),A&&s.prepend(i.falloffInvSquaredPS),C&&s.prepend(i.spotPS),E&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var H="",W="void evaluateBackend() {\n"+r.code+"\n}";s.append(W),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(xo.end());var X=n.code+s.code+a.code;return X.includes("dTBN")&&(H+="mat3 dTBN;\n"),X.includes("dVertexNormalW")&&(H+="vec3 dVertexNormalW;\n"),X.includes("dTangentW")&&(H+="vec3 dTangentW;\n"),X.includes("dBinormalW")&&(H+="vec3 dBinormalW;\n"),X.includes("dViewDirW")&&(H+="vec3 dViewDirW;\n"),X.includes("dReflDirW")&&(H+="vec3 dReflDirW;\n"),X.includes("dHalfDirW")&&(H+="vec3 dHalfDirW;\n"),X.includes("ccReflDirW")&&(H+="vec3 ccReflDirW;\n"),X.includes("dLightDirNormW")&&(H+="vec3 dLightDirNormW;\n"),X.includes("dLightDirW")&&(H+="vec3 dLightDirW;\n"),X.includes("dLightPosW")&&(H+="vec3 dLightPosW;\n"),X.includes("dShadowCoord")&&(H+="vec3 dShadowCoord;\n"),X.includes("dReflection")&&(H+="vec4 dReflection;\n"),X.includes("dDiffuseLight")&&(H+="vec3 dDiffuseLight;\n"),X.includes("dSpecularLight")&&(H+="vec3 dSpecularLight;\n"),X.includes("dAtten")&&(H+="float dAtten;\n"),X.includes("dAttenD")&&(H+="float dAttenD;\n"),X.includes("dAtten3")&&(H+="vec3 dAtten3;\n"),X.includes("dMsdf")&&(H+="vec4 dMsdf;\n"),X.includes("ccFresnel")&&(H+="float ccFresnel;\n"),X.includes("ccReflection")&&(H+="vec3 ccReflection;\n"),X.includes("ccSpecularLight")&&(H+="vec3 ccSpecularLight;\n"),X.includes("ccSpecularityNoFres")&&(H+="float ccSpecularityNoFres;\n"),X.includes("sSpecularLight")&&(H+="vec3 sSpecularLight;\n"),X.includes("sReflection")&&(H+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+H+this.frontendDecl+X},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=ir.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),fl={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?fl.generateChunksKey(t):"lights"===e?fl.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},pl=[0,1,2,3,4,5,6,7],ml=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+pl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+fl.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new dl(t,e.litOptions),n=new Xh,s=new Xh,r=new Xh;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(xo),_l=new ml,vl=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new Hh},gl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(wt.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return Vl.min=n,Vl.max=s,Vl}var Hl=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Cl.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=g)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,w=Math.ceil(Ul.dot(x)*b)/b,T=Math.ceil(Ul.dot(y)*b)/b,A=x.mulScalar(w),C=y.mulScalar(T),E=Ul.dot(S),M=S.mulScalar(E);Ul.add2(A,C).add(M),l.setPosition(Ul),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new vt(0,0,0,0):new vt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=ec.z/3,c=i[h];ec.x+=l*c.x,ec.y+=l*c.y,ec.z=l,ec.w=l,this.invViewProjId.setValue(ic[h].data)}ec.mulScalar(e),o.render(ec)}}n.length=0},y(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=bo(this.device,tc,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new Mo(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=bo(this.device,tc,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new Mo(t)}return this._quadRendererCube}}]),e}(uo),sc=0,rc=[0,0,0,0],ac=new Ft,oc=new Ft,hc=new Ft,lc=new At,cc=new jt,uc=(new Ft).setScale(1,-1,1),dc=new Set,fc=new Set,pc=(new Ft).set([1,0,0,0,0,1,0,0,0,0,.5,0,0,0,.5,1]),mc=new Ft,_c=new Ft,vc=new Ft,gc=new Ft,yc=new Set,xc=[],Sc=[],bc=function(){function t(t){this.clustersDebugRendered=!1,this.processingMeshInstances=new Set,this.worldClustersAllocator=void 0,this.lights=[],this.localLights=[],this.device=t,this.scene=null,this.worldClustersAllocator=new Jl(t),this.lightTextureAtlas=new Ll(t),this.shadowMapCache=new kl,this.shadowRenderer=new Ql(this,this.lightTextureAtlas),this._shadowRendererLocal=new Fl(this,this.shadowRenderer),this._shadowRendererDirectional=new Hl(this,this.shadowRenderer),this.cookiesRenderPass=nc.create(this.lightTextureAtlas.cookieRenderTarget,this.lightTextureAtlas.cubeSlotsOffsets),this.viewUniformFormat=null,this.viewBindGroupFormat=null,this._skinTime=0,this._morphTime=0,this._cullTime=0,this._shadowMapTime=0,this._lightClustersTime=0,this._layerCompositionUpdateTime=0,this._shadowDrawCalls=0,this._skinDrawCalls=0,this._instancedDrawCalls=0,this._shadowMapUpdates=0,this._numDrawCallsCulled=0,this._camerasRendered=0,this._lightClusters=0;var e=t.scope;this.boneTextureId=e.resolve("texture_poseMap"),this.boneTextureSizeId=e.resolve("texture_poseMapSize"),this.poseMatrixId=e.resolve("matrix_pose[0]"),this.modelMatrixId=e.resolve("matrix_model"),this.normalMatrixId=e.resolve("matrix_normal"),this.viewInvId=e.resolve("matrix_viewInverse"),this.viewPos=new Float32Array(3),this.viewPosId=e.resolve("view_position"),this.projId=e.resolve("matrix_projection"),this.projSkyboxId=e.resolve("matrix_projectionSkybox"),this.viewId=e.resolve("matrix_view"),this.viewId3=e.resolve("matrix_view3"),this.viewProjId=e.resolve("matrix_viewProjection"),this.flipYId=e.resolve("projectionFlipY"),this.tbnBasis=e.resolve("tbnBasis"),this.nearClipId=e.resolve("camera_near"),this.farClipId=e.resolve("camera_far"),this.cameraParams=new Float32Array(4),this.cameraParamsId=e.resolve("camera_params"),this.alphaTestId=e.resolve("alpha_ref"),this.opacityMapId=e.resolve("texture_opacityMap"),this.exposureId=e.resolve("exposure"),this.twoSidedLightingNegScaleFactorId=e.resolve("twoSidedLightingNegScaleFactor"),this.twoSidedLightingNegScaleFactorId.setValue(0),this.morphWeightsA=e.resolve("morph_weights_a"),this.morphWeightsB=e.resolve("morph_weights_b"),this.morphPositionTex=e.resolve("morphPositionTex"),this.morphNormalTex=e.resolve("morphNormalTex"),this.morphTexParams=e.resolve("morph_tex_params"),this.lightCube=new Ol,this.constantLightCube=e.resolve("lightCube[0]")}var e=t.prototype;return e.destroy=function(){this.shadowRenderer=null,this._shadowRendererLocal=null,this._shadowRendererDirectional=null,this.shadowMapCache.destroy(),this.shadowMapCache=null,this.cookiesRenderPass.destroy(),this.cookiesRenderPass=null,this.lightTextureAtlas.destroy(),this.lightTextureAtlas=null},e.sortCompare=function(t,e){if(t.layer===e.layer){if(t.drawOrder&&e.drawOrder)return t.drawOrder-e.drawOrder;if(t.zdist&&e.zdist)return e.zdist-t.zdist;if(t.zdist2&&e.zdist2)return t.zdist2-e.zdist2}return e._key[0]-t._key[0]},e.sortCompareMesh=function(t,e){if(t.layer===e.layer){if(t.drawOrder&&e.drawOrder)return t.drawOrder-e.drawOrder;if(t.zdist&&e.zdist)return e.zdist-t.zdist}var i=t._key[0],n=e._key[0];return i===n&&t.mesh&&e.mesh?e.mesh.id-t.mesh.id:n-i},e.sortCompareDepth=function(t,e){var i=t._key[1],n=e._key[1];return i===n&&t.mesh&&e.mesh?e.mesh.id-t.mesh.id:n-i},e.setupViewport=function(t,e){var i=this.device,n=e?e.width:i.width,s=e?e.height:i.height,r=t.rect,a=Math.floor(r.x*n),o=Math.floor(r.y*s),h=Math.floor(r.z*n),l=Math.floor(r.w*s);if(i.setViewport(a,o,h,l),t._scissorRectClear){var c=t.scissorRect;a=Math.floor(c.x*n),o=Math.floor(c.y*s),h=Math.floor(c.z*n),l=Math.floor(c.w*s)}i.setScissor(a,o,h,l)},e.setCameraUniforms=function(t,e){var i=null==e?void 0:e.flipY,n=1;if(t.xr&&t.xr.session){var s,r=t._node.parent;r&&(s=r.getWorldTransform());var a=t.xr.views;n=a.length;for(var o=0;o0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){sc++;var e=t.length;if(0!==e)for(var i=0;i0&&(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0&&(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Ec=function(t){switch(t){case ui:return"Cubemap";case fi:return"Octahedral";default:return"Equirect"}},Mc=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Pc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Rc=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},Ic=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Lc=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},Dc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},Oc=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new wt,o=new wt,h=new wt(0,0,1),l=[],c=function(t,e){var i=Dc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=Lc(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},kc=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),Gc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new Ls(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:di,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Pt(0,0,512*a,256*a),h=Hc(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&0!=(n&Fa),t.litOptions.skin=n&&0!=(2&n),t.litOptions.useInstancing=n&&0!=(n&Oa),t.litOptions.useMorphPosition=n&&0!=(n&Ua),t.litOptions.useMorphNormal=n&&0!=(n&Na),t.litOptions.useMorphTextureBased=n&&0!=(n&za),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=0!=(4&i),r=0!=(8&i),a=0!=(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in jc)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var v=e[l].id,g=o[v];void 0===g&&(o[v]=i,g=i),t[l]=!!e[l],t[m]=g,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e){t.opacityTint=1!==e.opacity&&3!==e.blendType,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=(e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor)&&Qc(e.diffuse),h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&Qc(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||Qc(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===re||e.normalMap.type===ri);t.opacityTint=1!==e.opacity&&3!==e.blendType?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&Qc(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s&&(1!==i.skyboxIntensity||i.physicalUnits),t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=0!=(1&n),0!=(64&n)&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,0!=(n&ka)&&(t.dirLightMap=!0),0!=(n&Va)&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&(Wh.collectLights(0,s[0],r,a),Wh.collectLights(1,s[1],r,a),Wh.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),jc)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Do.get(t).getByIndex(s),c=2===s||3===s||l.isShadow,u=c?Kc.optionsContextMin:Kc.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new fo(a,o,h),f=go(t);f.register("standard",Kc);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},y(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}]),e}(zo);lu.TEXTURE_PARAMETERS=eu,lu.CUBEMAP_PARAMETERS=nu;var cu=function(t,e){ou[t]=e},uu=function(t,e,i,n){Object.defineProperty(lu.prototype,t,{get:n||function(){return this["_"+t]},set:i}),au[t]={value:e}},du=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};uu(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};uu(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function fu(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),jc[t]=e.length||-1,du({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),du({name:t+"MapTiling",defaultValue:new Et(1,1)}),du({name:t+"MapOffset",defaultValue:new Et(0,0)}),du({name:t+"MapRotation",defaultValue:0}),du({name:t+"MapUv",defaultValue:n}),e&&(du({name:t+"MapChannel",defaultValue:e}),i&&(du({name:t+"VertexColor",defaultValue:!1}),du({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";cu(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*_t.DEG_TO_RAD),d=Math.sin(l*_t.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function pu(t,e){du({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),cu(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function mu(t,e,i){du({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),cu(t,i)}function _u(t,e){du({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),cu(t,e)}function vu(t,e){du({name:t,defaultValue:e})}!function(){pu("ambient",new vt(.7,.7,.7)),pu("diffuse",new vt(1,1,1)),pu("specular",new vt(0,0,0)),pu("emissive",new vt(0,0,0)),pu("sheen",new vt(1,1,1)),pu("attenuation",new vt(1,1,1)),mu("emissiveIntensity",1),mu("specularityFactor",1),mu("sheenGloss",0),mu("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),mu("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),mu("opacity",1),mu("alphaFade",1),mu("alphaTest",0),mu("bumpiness",1),mu("normalDetailMapBumpiness",1),mu("reflectivity",1),mu("occludeSpecularIntensity",1),mu("refraction",0),mu("refractionIndex",1/1.5),mu("thickness",0),mu("attenuationDistance",0),mu("metalness",1),mu("anisotropy",0),mu("clearCoat",0),mu("clearCoatGloss",1),mu("clearCoatBumpiness",1),mu("aoUvSet",0,null),mu("iridescence",0),mu("iridescenceRefractionIndex",1/1.5),mu("iridescenceThicknessMin",0),mu("iridescenceThicknessMax",0),_u("ambientSH"),_u("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),vu("ambientTint",!1),vu("diffuseTint",!1),vu("specularTint",!1),vu("specularityFactorTint",!1),vu("emissiveTint",!1),vu("fastTbn",!1),vu("useMetalness",!1),vu("useMetalnessSpecularColor",!1),vu("useSheen",!1),vu("enableGGXSpecular",!1),vu("occludeDirect",!1),vu("normalizeNormalMap",!0),vu("conserveEnergy",!0),vu("opacityFadesSpecular",!0),vu("occludeSpecular",1),vu("shadingModel",1),vu("fresnelModel",2),vu("useDynamicRefraction",!1),vu("cubeMapProjection",0),vu("customFragmentShader",null),vu("useFog",!0),vu("useLighting",!0),vu("useGammaTonemap",!0),vu("useSkybox",!0),vu("forceUv1",!1),vu("pixelSnap",!1),vu("twoSidedLighting",!1),vu("nineSlicedMode",void 0),vu("msdfTextAttribute",!1),vu("useIridescence",!1),vu("glossInvert",!1),vu("sheenGlossInvert",!1),vu("clearCoatGlossInvert",!1),fu("diffuse"),fu("specular"),fu("emissive"),fu("thickness","g"),fu("specularityFactor","g"),fu("normal",""),fu("metalness","g"),fu("gloss","g"),fu("opacity","a"),fu("refraction","g"),fu("height","g",!1),fu("ao","g"),fu("light","rgb",!0,1),fu("msdf",""),fu("diffuseDetail","rgb",!1),fu("normalDetail",""),fu("aoDetail","g",!1),fu("clearCoat","g"),fu("clearCoatGloss","g"),fu("clearCoatNormal",""),fu("sheen","rgb"),fu("sheenGloss","g"),fu("iridescence","g"),fu("iridescenceThickness","g"),vu("diffuseDetailMode",Da),vu("aoDetailMode",Da),_u("cubeMap"),_u("sphereMap"),_u("envAtlas");var t=[null,null,null,null,null,null];uu("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=Wc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}(),new wt(1,1,1),new wt(40,0,0);var gu={drawCalls:[],shaderInstances:[],isNewMaterial:[],lightMaskChanged:[],clear:function(){this.drawCalls.length=0,this.shaderInstances.length=0,this.isNewMaterial.length=0,this.lightMaskChanged.length=0}};var yu=function(t){function e(e){var i,n=(i=t.call(this,e)||this).device;i._forwardDrawCalls=0,i._materialSwitches=0,i._depthMapTime=0,i._forwardTime=0,i._sortTime=0;var s=n.scope;return i.fogColorId=s.resolve("fog_color"),i.fogStartId=s.resolve("fog_start"),i.fogEndId=s.resolve("fog_end"),i.fogDensityId=s.resolve("fog_density"),i.ambientId=s.resolve("light_globalAmbient"),i.skyboxIntensityId=s.resolve("skyboxIntensity"),i.cubeMapRotationMatrixId=s.resolve("cubeMapRotationMatrix"),i.pcssDiskSamplesId=s.resolve("pcssDiskSamples[0]"),i.pcssSphereSamplesId=s.resolve("pcssSphereSamples[0]"),i.lightColorId=[],i.lightDir=[],i.lightDirId=[],i.lightShadowMapId=[],i.lightShadowMatrixId=[],i.lightShadowParamsId=[],i.lightShadowIntensity=[],i.lightRadiusId=[],i.lightPos=[],i.lightPosId=[],i.lightWidth=[],i.lightWidthId=[],i.lightHeight=[],i.lightHeightId=[],i.lightInAngleId=[],i.lightOutAngleId=[],i.lightCookieId=[],i.lightCookieIntId=[],i.lightCookieMatrixId=[],i.lightCookieOffsetId=[],i.lightShadowSearchAreaId=[],i.lightCameraParamsId=[],i.shadowMatrixPaletteId=[],i.shadowCascadeDistancesId=[],i.shadowCascadeCountId=[],i.screenSizeId=s.resolve("uScreenSize"),i._screenSize=new Float32Array(4),i.fogColor=new Float32Array(3),i.ambientColor=new Float32Array(3),i.pcssDiskSamples=function(t){for(var e=[],i=0;i0){var a=this._shaderVersion;Tu.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==zo.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),Tu.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(wu.sort(),n=Yi(wu),wu.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyCameras=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyCameras=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyCameras=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e0}}]),t}(),Ru=function(t){function e(e){var i;return void 0===e&&(e="Untitled"),(i=t.call(this)||this).layerList=[],i.layerIdMap=new Map,i.layerNameMap=new Map,i.subLayerList=[],i.subLayerEnabled=[],i.cameras=[],i.camerasMap=new Map,i._renderActions=[],i.name=e,i._opaqueOrder={},i._transparentOrder={},i._dirtyCameras=!1,i}S(e,t);var i=e.prototype;return i.destroy=function(){this._renderActions.forEach((function(t){return t.destroy()})),this._renderActions=null},i._update=function(){var t=this.layerList.length;if(!this._dirtyCameras)for(var e=0;e1&&Mu(this.cameras),this.camerasMap.clear();for(var a=0;a0&&c.layers.indexOf(_.id)>=0&&(o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0)),f=this.addRenderAction(this._renderActions,h,_,m,c,u,p),h++,u=!1)}d=0;c--)if(t[c].camera===s&&t[c].renderTarget===h){l=!0;break}var u=r||!l,d=!!u&&s.clearColorBuffer,f=!!u&&s.clearDepthBuffer,p=!!u&&s.clearStencilBuffer;return d||(d=i.clearColorBuffer),f||(f=i.clearDepthBuffer),p||(p=i.clearStencilBuffer),a&&s.postEffectsEnabled&&(h=null),o.triggerPostprocess=!1,o.layerIndex=n,o.layer=i,o.camera=s,o.renderTarget=h,o.clearColor=d,o.clearDepth=f,o.clearStencil=p,o.firstCameraUse=r,o.lastCameraUse=!1,o},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=this.layerList[n.layerIndex];if(n.renderTarget&&1!==s.id)break;if(1!==s.id){var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){for(var i=0;i=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirtyCameras=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirtyCameras=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirtyCameras=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,Iu.mulScalar(-e*n)):(t.radius=e/(2*n),Iu.mulScalar(-t.radius)),t.center.add2(s.getPosition(),Iu)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*_t.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*_t.DEG_TO_RAD,this._innerConeAngle*_t.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|Du[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=Du[this._cookieChannel.charAt(1)]<<16,t|=Du[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},y(t,[{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=ku[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new Ft),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Pt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=$h.float2Half;this._textureFormat===oe&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=_o.screenDepthPS),s+=_o.particle_cpuVS,e.localSpace&&(s+=_o.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=_o.particle_pointAlongVS),s+=e.mesh?_o.particle_meshVS:r,1===e.normal&&(s+=_o.particle_normalVS),2===e.normal&&(s+=_o.particle_TBNVS),e.stretch>0&&(s+=_o.particle_stretchVS),s+=_o.particle_cpu_endVS,e.soft>0&&(s+=_o.particle_softVS)):(s+=_o.particle_initVS,s+=e.pack8?_o.particleInputRgba8PS:_o.particleInputFloatPS,e.soft>0&&(s+=_o.screenDepthPS),s+=_o.particleVS,e.localSpace&&(s+=_o.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=_o.particle_wrapVS),e.alignToMotion&&(s+=_o.particle_pointAlongVS),s+=e.mesh?_o.particle_meshVS:r,1===e.normal&&(s+=_o.particle_normalVS),2===e.normal&&(s+=_o.particle_TBNVS),e.stretch>0&&(s+=_o.particle_stretchVS),s+=_o.particle_endVS,e.soft>0&&(s+=_o.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=_o.decodePS,n+=xo.gammaCode(e.gamma),n+=xo.tonemapCode(e.toneMap),"linear"===e.fog?n+=_o.fogLinearPS:"exp"===e.fog?n+=_o.fogExpPS:"exp2"===e.fog?n+=_o.fogExp2PS:n+=_o.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=_o.screenDepthPS),n+=_o.particlePS,e.soft>0&&(n+=_o.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=_o.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?_o.particle_halflambertPS:_o.particle_lambertPS),e.normal>0&&(n+=_o.particle_lightingPS),2===e.blend?n+=_o.particle_blendNormalPS:1===e.blend?n+=_o.particle_blendAddPS:5===e.blend&&(n+=_o.particle_blendMultiplyPS),n+=_o.particle_endPS,ir.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(xo),ju=new Xu,qu=1,Yu=new Ft,Ku=new Ft,Zu=new wt,Qu=new wt,$u=new wt,Ju=new wt,td=new wt,ed=new wt,id=new wt,nd=new wt,sd=new wt,rd=new wt,ad=new wt,od=new wt,hd=new wt;function ld(t){return t-Math.floor(t)}function cd(t){return Math.max(Math.min(t,1),0)}function ud(t,e){return t-e*Math.floor(t/e)}function dd(t){var e=ld(t),i=ld(255*t);return[e-=i/255,i-=i/255]}var fd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),Qu.x=a-.5,Qu.y=o-.5,Qu.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(Qu.x),Math.max(Math.abs(Qu.y),Math.abs(Qu.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];Qu.x=u*(c===Math.abs(Qu.x)?Math.sign(Qu.x):2*Qu.x),Qu.y=d*(c===Math.abs(Qu.y)?Math.sign(Qu.y):2*Qu.y),Qu.z=f*(c===Math.abs(Qu.z)?Math.sign(Qu.z):2*Qu.z),r.localSpace?Zu.copy(e.transformPoint(Qu)):Zu.copy(n).add(e.transformPoint(Qu))}else{Qu.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?Zu.copy(Qu.mulScalar(m*r.emitterRadius)):Zu.copy(n).add(Qu.mulScalar(m*r.emitterRadius))}var _,v,g,y,x,S=-_t.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(Zu.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,w=(Zu.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,T=(Zu.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,A=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a);A=A%(2*Math.PI)/(2*Math.PI);var C=dd(b);t[4*s]=C[0],t[4*s+1]=C[1];var E=dd(w);t[4*s+2]=E[0],t[4*s+3]=E[1];var M=dd(T);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=dd(A);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,L=(v=ld(_=S=(S+R)/(R+I)),g=ld(255*_),y=ld(65025*_),x=ld(160581375*_),[v-=g/255,g-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=L[0],t[4*s+1+4*r.numParticlesPot*3]=L[1],t[4*s+2+4*r.numParticlesPot*3]=L[2],t[4*s+3+4*r.numParticlesPot*3]=L[3]}else t[4*s]=Zu.x,t[4*s+1]=Zu.y,t[4*s+2]=Zu.z,t[4*s+3]=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)Yu.data[f]=d.data[f];Ku.copy(Yu),Ku.invert(),xu=u.meshInstance.node.localScale,qu=Math.max(Math.max(xu.x,xu.y),xu.z)}r=null===u.meshInstance.node||u.localSpace?wt.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,v,g,y,x,S,b=u.camera?u.camera._node.getPosition():wt.ZERO,w=u.useMesh?17:15,T=u.precision-1,A=0;A=P)&&this.calcSpawnPosition(i,n,s,r,C);var O=R>0&&R0&&(1===u.emitterShape?(Qu.copy($u).mulScalar(2).sub(wt.ONE).normalize(),ed.add(Qu.mulScalar(u.initialVelocity))):ed.add(wt.FORWARD.mulScalar(u.initialVelocity))),td.x+=(id.x-td.x)*$u.x,td.y+=(id.y-td.y)*$u.y,td.z+=(id.z-td.z)*$u.z,_+=(v-_)*$u.y,L=(L+1e4*E%1*(g-L))*qu,D=1e3*E%1*(x-y),u.meshInstance.node&&(u.localSpace?(ed.x/=xu.x,ed.y/=xu.y,ed.z/=xu.z):Yu.transformPoint(ed,ed)),u.localSpace?(Ku.transformPoint(td,td),ed.add(td).add(sd)):(ed.add(td.mul(xu)),ed.add(sd.mul(xu))),od.copy(ed),rd.copy(Ju).add(ed.mulScalar(a)),ad.copy(rd),i[4*C]=ad.x,i[4*C+1]=ad.y,i[4*C+2]=ad.z,i[4*C+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||ad.sub(r),ad.x=ud(ad.x,u.wrapBounds.x)-.5*u.wrapBounds.x,ad.y=ud(ad.y,u.wrapBounds.y)-.5*u.wrapBounds.y,ad.z=ud(ad.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||ad.add(r)),u.sort>0&&(1===u.sort?(hd.copy(ad).sub(b),u.particleDistance[C]=-(hd.x*hd.x+hd.y*hd.y+hd.z*hd.z)):2===u.sort?u.particleDistance[C]=R:3===u.sort&&(u.particleDistance[C]=-R))),o?R<0&&(i[4*C+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*C+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*C+3+2*u.numParticlesPot*4]=1)),i[4*C+3+2*u.numParticlesPot*4]<0&&(O=!1),i[4*C+3+4*u.numParticlesPot]=R;for(var k=0;k0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),Dd("rate",1),Dd("rate2",this.rate),Dd("lifetime",50),Dd("emitterExtents",new wt(0,0,0)),Dd("emitterExtentsInner",new wt(0,0,0)),Dd("emitterRadius",0),Dd("emitterRadiusInner",0),Dd("emitterShape",0),Dd("initialVelocity",1),Dd("wrap",!1),Dd("localSpace",!1),Dd("screenSpace",!1),Dd("wrapBounds",null),Dd("colorMap",this.defaultParamTexture),Dd("normalMap",null),Dd("loop",!0),Dd("preWarm",!1),Dd("sort",0),Dd("mode",0),Dd("scene",null),Dd("lighting",!1),Dd("halfLambert",!1),Dd("intensity",1),Dd("stretch",0),Dd("alignToMotion",!1),Dd("depthSoftening",0),Dd("mesh",null),Dd("particleNormal",new wt(0,1,0)),Dd("orientation",0),Dd("depthWrite",!1),Dd("noFog",!1),Dd("blendType",2),Dd("node",null),Dd("startAngle",0),Dd("startAngle2",this.startAngle),Dd("animTilesX",1),Dd("animTilesY",1),Dd("animStartFrame",0),Dd("animNumFrames",1),Dd("animNumAnimations",1),Dd("animIndex",0),Dd("randomizeAnimIndex",!1),Dd("animSpeed",1),Dd("animLoop",!0),this._gpuUpdater=new vd(this,i),this._cpuUpdater=new fd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),Dd("colorGraph",Cd),Dd("colorGraph2",this.colorGraph),Dd("scaleGraph",Td),Dd("scaleGraph2",this.scaleGraph),Dd("alphaGraph",Td),Dd("alphaGraph2",this.alphaGraph),Dd("localVelocityGraph",Ad),Dd("localVelocityGraph2",this.localVelocityGraph),Dd("velocityGraph",Ad),Dd("velocityGraph2",this.velocityGraph),Dd("rotationSpeedGraph",wd),Dd("rotationSpeedGraph2",this.rotationSpeedGraph),Dd("radialSpeedGraph",wd),Dd("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new Ht,this.worldBoundsNoTrail=new Ht,this.worldBoundsTrail=[new Ht,new Ht],this.worldBounds=new Ht,this.worldBoundsSize=new wt,this.prevWorldBoundsSize=new wt,this.prevWorldBoundsCenter=new wt,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new wt,this.worldBoundsAdd=new wt,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?Ft.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],v=[0,0],g=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,Ed=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=_t.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?Ft.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=se),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?Ft.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new wt(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new wt).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:Ne,components:4,type:6},{semantic:ze,components:4,type:6},{semantic:Ve,components:4,type:6},{semantic:Ge,components:1,type:6},{semantic:He,components:this.useMesh?4:2,type:6}],s=new Ji(this.graphicsDevice,n);this.vertexBuffer=new ji(this.graphicsDevice,s,e,1),this.indexBuffer=new vr(this.graphicsDevice,1,i)}else{var r=[{semantic:Ne,components:4,type:6}];this.useMesh&&r.push({semantic:ze,components:2,type:6});var a=new Ji(this.graphicsDevice,r);this.vertexBuffer=new ji(this.graphicsDevice,a,e,1),this.indexBuffer=new vr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},y(t,[{key:"defaultParamTexture",get:function(){var t=this;return Ud.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new yh(this.mesh,this.material,Hd)),this.positions.length=0,this.colors.length=0,t.push(this.meshInstance))},t}(),Xd=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new Wd(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},t}(),jd=[],qd=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new Vo;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new Xd(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=bo(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+_o.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(uv0) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new qa(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(be)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new yh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s){jd.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z),this.getBatch(s,n).addLinesArrays(jd,i),jd.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],v=d[m+1];if(_.time<=this._time&&v.time>=this._time){var g=(this._time-_.time)/(v.time-_.time);f._pos.lerp(_.position,v.position,g),f._quat.slerp(_.rotation,v.rotation,g),f._scale.lerp(_.scale,v.scale,g),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2D(source, vUv0);\n\tc = c.a>0.0? c : texture2D(source, vUv0 - pixelOffset);\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + pixelOffset);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2D(source, vUv0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2D(source, coord);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},ff="FILL_WINDOW",pf="KEEP_ASPECT",mf="AUTO",_f="FIXED";function vf(){return cf}function gf(t){cf=t,Ha.set(null==t?void 0:t.graphicsDevice)}var yf=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();yf._types=[];var xf=!1,Sf=!1,bf={app:null,create:function(t,e){if(xf){var i=e(bf.app);i._pcScriptName=t,yf.push(i,xf),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Sf||(Sf=!0,t(vf()))}};Object.defineProperty(bf,"legacy",{get:function(){return xf},set:function(t){xf=t}}),R.attach(bf);var wf=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){this.renderPasses.push(t)},e.reset=function(){this.renderPasses.length=0},e.compile=function(){for(var t=this.renderTargetMap,e=this.renderPasses,i=0;i=0&&t<=1?0:1})),Rf(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Rf(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Rf(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Rf(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Rf(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Rf(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var Df=Pf[If(Ef)];function Of(t){return Pf[t]||Df}var kf,Ff=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-\\+\\.]*:)?//|data:|blob:)","i"),Bf=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),Uf=-1,Nf={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},zf=["pvr","dxt","etc2","etc1","basis"],Vf=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=Uf--,a._name=e||"",a.type=i,a.tags=new ut(w(a)),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}S(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!Ff.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=L.getDirectory(this.file.url);return L.join(e,t)},i.getLocalizedAssetId=function(t){return t=Lf(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},y(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||vf(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=zf[a];if(t.variants[i]&&s[Nf[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=zf.length;a=s)throw new Error("Invalid PAX header data format.");var l=parseInt(e.decode(new Uint8Array(t,i+a,h-a)),10),c=e.decode(new Uint8Array(t,i+h+1,l-(h-a)-2)).split("=");if(2!==c.length)throw new Error("Invalid PAX header data format.");0===c[1].length&&(c[1]=null),o.push({name:c[0],value:c[1]}),a+=l}return new n(o)},n.prototype.applyHeader=function(t){for(var e=0;e0&&(r=p.trim()+r.trim())}var m={name:r,start:l,size:o,url:c};return this._globalPaxHeader&&this._globalPaxHeader.applyHeader(m),this._paxHeader&&(this._paxHeader.applyHeader(m),this._paxHeader=null),m},s.prototype.untar=function(t){if(!e)return console.error("Cannot untar because TextDecoder interface is not available for this platform."),[];for(var i=[];this._hasNext();){var n=this._readNextFile();n&&(t&&n.name&&(n.name=t+n.name),i.push(n))}return i},t&&(self.onmessage=function(t){var e=t.data.id;try{var i=new s(t.data.arrayBuffer).untar(t.data.prefix);postMessage({id:e,files:i,arrayBuffer:t.data.arrayBuffer},[t.data.arrayBuffer])}catch(t){postMessage({id:e,error:t.toString()})}})}var Yf=null;var Kf=function(){function t(t){this._requestId=0,this._pendingRequests={},this._filenamePrefix=t,this._worker=new Worker(function(){if(!Yf){var t="("+qf.toString()+")(true)\n\n",e=new Blob([t],{type:"application/javascript"});Yf=URL.createObjectURL(e)}return Yf}()),this._worker.addEventListener("message",this._onMessage.bind(this))}var e=t.prototype;return e._onMessage=function(t){var e=t.data.id;if(this._pendingRequests[e]){var i=this._pendingRequests[e];if(delete this._pendingRequests[e],t.data.error)i(t.data.error);else{for(var n=t.data.arrayBuffer,s=0,r=t.data.files.length;s0},e.destroy=function(){this._worker&&(this._worker.terminate(),this._worker=null,this._pendingRequests=null)},t}();qf();var Zf=function(){function t(t){this.handlerType="bundle",this._assets=t.assets,this._worker=null,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this;_a.get(t.load,{responseType:ma.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e("Error loading bundle resource "+t.original+": "+n);else try{i._untar(s,e)}catch(i){e("Error loading bundle resource "+t.original+": "+i)}}))},e._untar=function(t,e){var i=this;if(G.workers)i._worker||(i._worker=new Kf(i._assets.prefix)),i._worker.untar(t,(function(t,n){e(t,n),i._worker.hasPendingRequests()||(i._worker.destroy(),i._worker=null)}));else{var n=new kf(t).untar(i._assets.prefix);e(null,n)}},e.open=function(t,e){return new jf(e)},e.patch=function(t,e){},t}(),Qf=function(){function t(t){this._handlers={},this._requests={},this._cache={},this._app=t}var e=t.prototype;return e.addHandler=function(t,e){this._handlers[t]=e,e._loader=this},e.removeHandler=function(t){delete this._handlers[t]},e.getHandler=function(t){return this._handlers[t]},t.makeKey=function(t,e){return t+"-"+e},e.load=function(e,i,n,s){var r=this._handlers[i];if(r)if(e){var a=t.makeKey(e,i);if(void 0!==this._cache[a])n(null,this._cache[a]);else if(this._requests[a])this._requests[a].push(n);else{this._requests[a]=[n];var o=this,h=function(t,e){t?o._onFailure(a,t):r.load(e,(function(t,i,n){if(o._requests[a])if(t)o._onFailure(a,t);else try{o._onSuccess(a,r.open(e.original,i,s),n)}catch(t){o._onFailure(a,t)}}),s)},l=e.split("?")[0];if(this._app.enableBundles&&this._app.bundles.hasUrl(l)){if(!this._app.bundles.canLoadUrl(l))return void h("Bundle for "+e+" not loaded yet");this._app.bundles.loadUrl(l,(function(t,e){h(t,{load:e,original:l})}))}else h(null,{load:e,original:s&&s.file.filename||e})}}else this._loadNull(r,n,s);else n("No resource handler for asset type: '"+i+"' when loading ["+e+"]")},e._loadNull=function(t,e,i){t.load(null,(function(n,s,r){if(n)e(n);else try{e(null,t.open(null,s,i),r)}catch(t){e(t)}}),i)},e._onSuccess=function(t,e,i){null!==e?this._cache[t]=e:delete this._cache[t];for(var n=0;n0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new Ru("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new Cu(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[be]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===ff&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===mf){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&Cf.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=vt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s){void 0===i&&(i=vt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new Ft;h.setTRS(new wt(t,e,0),Bt.IDENTITY,new wt(i,-n,0)),r||((r=new zo).cull=se,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new zo;r.cull=se,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Tc(pp,t,e),pp.mulScalar(.5*n),i._node.rotateLocal(pp.x,0,pp.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},y(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}]),e}(fp),_p=new wt,vp=function(t){function e(e){var i=new ip("AmbientLight");return i.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:e.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:vt.WHITE,intensity:1,bakeDir:!1}),t.call(this,e,i.light.light)||this}return S(e,t),e.prototype.prepareVirtualLight=function(t,e){Ac(_p,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(_p.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},y(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}]),e}(fp),gp=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),yp=function(){function t(t){this.device=t,this.shaderDilate=bo(t,_o.fullscreenQuadVS,df.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=bo(this.device,_o.fullscreenQuadVS,df.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),xp=new wt,Sp=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new vt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;ch.decRef(this.blackTex),this.blackTex=null,ch.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new yp(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new Ls(this.device,{width:4,height:4,format:7,type:ii,name:"lightmapBlack"}),ch.incRef(this.blackTex);var e=new Gh;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new hh,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Nu(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new wt(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Al(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){ch.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new lu;if(s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Di,s.chunks.transformVS="#define UV1LAYOUT\n"+_o.transformVS,0===i){var r=df.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new vt(0,0,0),s.ambientTint=!0),s.chunks.basePS=_o.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=_o.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=df.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=se,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new gp(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=ka),this.scene.ambientBake&&(u|=Va),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=dt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length}},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var w=0;w1&&y.prepareVirtualLight(w,b),y.startBake();var T=!1,A=this.lightCameraPrepare(r,y);for(_=0;_0&&w>0)&&!(x&&m>0);m++){var M=C.renderTargets[m],P=C.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?g=n.updateShaders:g&&(n.updateShaders=!0);var L=this.passMaterials[m];for(x&&w+1===b&&0===m&&(L=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,x({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},y(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new Cp(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}]),t}();Ep.eventFrame={start:0,end:0,residual:0};var Mp="NONE",Pp="PREV_STATE",Rp="NEXT_STATE",Ip="PREV_STATE_NEXT_STATE",Lp="NEXT_STATE_PREV_STATE",Dp="GREATER_THAN",Op="LESS_THAN",kp="GREATER_THAN_EQUAL_TO",Fp="LESS_THAN_EQUAL_TO",Bp="EQUAL_TO",Up="NOT_EQUAL_TO",Np="INTEGER",zp="FLOAT",Vp="BOOLEAN",Gp="TRIGGER",Hp="2D_DIRECTIONAL",Wp="2D_CARTESIAN",Xp="DIRECT",jp="START",qp="END",Yp="ANY",Kp=[jp,qp,Yp],Zp="OVERWRITE",Qp="ADDITIVE",$p=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),rm=function(){function t(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}return y(t,[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),t}(),am=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={};!function t(e){n[e.name]=e;for(var i=0;i0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new Ep(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===nm?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new rf(r),this.toSkel=new rf(r),this.skeleton=new rf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new em(new am(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},y(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==nm.EMPTY}))},y(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==um?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==Kp.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}]),t}(),gm=function(){function t(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Mp:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}return y(t,[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),t}(),ym=function(){function t(t,e,i,n,s,r,a){var o=this;this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._states={},this._stateNames=[],this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),Mu(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case Op:if(!(s.value=n.value))return!1;break;case Fp:if(!(s.value<=n.value))return!1;break;case Bp:if(s.value!==n.value)return!1;break;case Up:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case Pp:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(Yp));break;case Rp:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));break;case Ip:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));break;case Lp:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(Yp))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===qp){var r=this._findTransitionsFromState(jp)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new gm({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new vm(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==Kp.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=jp,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case Et:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case wt:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Pt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case vt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Bt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new rm((function(e){r(e),t.material.update()}),a,o,n):new rm(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={};!function e(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}]),e}(bp),Pm=function(){this.enabled=!0},Rm=["enabled"],Im=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Mm,i.DataType=Pm,i.schema=Rm,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.systems.on("animationUpdate",i.onAnimationUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Rm);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers?i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==nm.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})):i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(wp);bp._buildAccessors(Mm.prototype,Rm);var Lm=function(t){function e(e,i){return t.call(this,e,i)||this}S(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(bp),Dm=function(){this.enabled=!0},Om=["enabled"],km=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=Lm,i.DataType=Dm,i.schema=Om,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(Lm.prototype,Om);var Fm=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,w(n)),n.on("set_loop",n.onSetLoop,w(n)),n.on("set_volume",n.onSetVolume,w(n)),n.on("set_pitch",n.onSetPitch,w(n)),n.on("set_minDistance",n.onSetMinDistance,w(n)),n.on("set_maxDistance",n.onSetMaxDistance,w(n)),n.on("set_rollOffFactor",n.onSetRollOffFactor,w(n)),n.on("set_distanceModel",n.onSetDistanceModel,w(n)),n.on("set_3d",n.onSet3d,w(n)),n}S(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new vt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},e}(bp);function e_(t){return new vt(t.r,t.g,t.b)}var i_=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Pt,this.transitionMode=0,this.hoverTint=new vt(.75,.75,.75),this.pressedTint=new vt(.5,.5,.5),this.inactiveTint=new vt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},n_=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],s_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=t_,i.DataType=i_,i.schema=n_,i.on("beforeremove",i._onRemoveComponent,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,n_)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(t_.prototype,n_);var r_,a_,o_,h_=new wt,l_=new Bt,c_=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,w(n)),n.on("set_type",n.onSetType,w(n)),n.on("set_halfExtents",n.onSetHalfExtents,w(n)),n.on("set_linearOffset",n.onSetOffset,w(n)),n.on("set_angularOffset",n.onSetOffset,w(n)),n.on("set_radius",n.onSetRadius,w(n)),n.on("set_height",n.onSetHeight,w(n)),n.on("set_axis",n.onSetAxis,w(n)),n.on("set_asset",n.onSetAsset,w(n)),n.on("set_renderAsset",n.onSetRenderAsset,w(n)),n.on("set_model",n.onSetModel,w(n)),n.on("set_render",n.onSetRender,w(n)),n}S(e,t);var i=e.prototype;return i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(wt.ZERO)||!this.data.angularOffset.equals(Bt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof Vf&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof Vf&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i._getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),g_=new Ft,y_=new wt,x_=new wt,S_=new Bt,b_=new hh,w_=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","asset","renderAsset","shape","model","render"],T_=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new Gu,e.model.graph=new hh},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&(t._compoundParent&&t===t._compoundParent&&e.forEach(this.system.implementations.compound._updateEachDescendant,t),!t.rigidbody)){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new v_(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render};return this.system.addComponent(e,n)},t}(),A_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(T_),C_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(T_),E_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(T_),M_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(T_),P_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(T_),R_=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoMesh=function(t,e,i){var n;if(this.system._triMeshCache[t.id])n=this.system._triMeshCache[t.id];else{for(var s,r,a=t.vertexBuffer,o=a.getFormat(),h=0;h=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){if(this.unmaskMeshInstance){var t=function t(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===Xm&&s>this._targetAspectRatio||e.fitMode===jm&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){t.off("set:meshes",this._onSpriteMeshesChange,this),t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof Vf?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new en({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},y(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Pt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==Wm&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==Wm&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}]),t}(),F_=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,w(i)),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}S(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},y(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof Vf?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof Vf?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset(),this._localizedAsset=null),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}]),e}(P),B_="msdf",U_="bitmap",N_=/[A-Z|a-z|0-9|_|-|/]/,z_=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(N_)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function G_(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),G_(t[i],e[i])):t[i]=n}}function H_(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,g=this._element.calculatedWidth;(this.autoWidth&&!v||!this._wrapLines)&&(g=Number.POSITIVE_INFINITY);var y,x,S,b,w=0,T=0;function A(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)Y_.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var C=!0;C;){C=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var E=this._fontSize/32;w=this._fontMinY*E,T=this._fontMaxY*E;for(var M=0;M=r?null:this._symbols[U+1],Y_.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var j=this._font.data.kerning;if(j){var q=j[rt.getCodePoint(this._symbols[U-1])||0];q&&(X=q[rt.getCodePoint(this._symbols[U])||0]||0)}}H=x.scale||1,G=E*((x.width+x.height)/2)/H,V=(x.xadvance+X)*E,N=(x.xoffset-X)*E,z=x.yoffset*E}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=K_.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],$=a+this._spacing*V;if($>g&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=_t.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,C=!0;break}if(this.height=Math.max(this.height,T-(o+w)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=_t.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,C=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=U+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var ft=3*this._symbolColors[U];P=this._colorPalette[ft],R=this._colorPalette[ft+1],I=this._colorPalette[ft+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var pt=5*this._symbolOutlineParams[U];L=this._outlinePalette[pt]+256*this._outlinePalette[pt+1],D=this._outlinePalette[pt+2]+256*this._outlinePalette[pt+3],O=this._outlinePalette[pt+4]}if(Q.outlines[4*S*3+0]=L,Q.outlines[4*S*3+1]=D,Q.outlines[4*S*3+2]=O,Q.outlines[4*S*3+3]=L,Q.outlines[4*S*3+4]=D,Q.outlines[4*S*3+5]=O,Q.outlines[4*S*3+6]=L,Q.outlines[4*S*3+7]=D,Q.outlines[4*S*3+8]=O,Q.outlines[4*S*3+9]=L,Q.outlines[4*S*3+10]=D,Q.outlines[4*S*3+11]=O,this._symbolShadowParams){var mt=6*this._symbolShadowParams[U];k=this._shadowPalette[mt]+256*this._shadowPalette[mt+1],F=this._shadowPalette[mt+2]+256*this._shadowPalette[mt+3],B=this._shadowPalette[mt+4]+127+256*Math.round(Z*this._shadowPalette[mt+5]+127)}Q.shadows[4*S*3+0]=k,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=k,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=k,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=k,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}C||f=kt?(Ft.element[we].set(0,0,0),Ft.element[Re].set(0,0),Ft.element[Me].set(0,0,0,0),Ft.element[qe].set(0,0,0,0),Ft.element[Ye].set(0,0,0,0)):(Ft.element[we].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[Re].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Me].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[qe].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[Ye].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof Et?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(Ho.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t;(this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(t=this.system.app.batcher)||t.remove(Ho.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Pt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(Ho.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Pt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===Gm?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof vt||(s=new vt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===Hm&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof vt||(s=new vt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===Gm&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new lu,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new lu;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(wp);bp._buildAccessors(fv.prototype,_v);var gv="free",yv="limited",xv="locked",Sv=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],bv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=xv,n._linearLimitsX=new Et(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=xv,n._linearLimitsY=new Et(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=xv,n._linearLimitsZ=new Et(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=xv,n._angularLimitsX=new Et(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=xv,n._angularLimitsY=new Et(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=xv,n._angularLimitsZ=new Et(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Bt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===yv?(e=this._angularLimitsX.x*_t.DEG_TO_RAD,s=this._angularLimitsX.y*_t.DEG_TO_RAD):this._angularMotionX===gv?(e=1,s=0):e=s=0,this._angularMotionY===yv?(i=this._angularLimitsY.x*_t.DEG_TO_RAD,r=this._angularLimitsY.y*_t.DEG_TO_RAD):this._angularMotionY===gv?(i=1,r=0):i=r=0,this._angularMotionZ===yv?(n=this._angularLimitsZ.x*_t.DEG_TO_RAD,a=this._angularLimitsZ.y*_t.DEG_TO_RAD):this._angularMotionZ===gv?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===yv?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===gv?(e=1,s=0):e=s=0,this._linearMotionY===yv?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===gv?(i=1,r=0):i=r=0,this._linearMotionZ===yv?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===gv?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new Ft,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=Sv;e=i?Fv:Ov;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,Bv.x=e.containerSize.x-e.padding.x-e.padding.z,Bv.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>Bv[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>Bv[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,Bv[n.axis]);m===kv?c(r,p,n):m===Fv&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(wp);bp._buildAccessors(Hv.prototype,Xv);var qv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._asset=null,n._model=null,n._mapping={},n._castShadows=!0,n._receiveShadows=!0,n._materialAsset=null,n._material=void 0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._layers=[0],n._batchGroupId=-1,n._customAabb=null,n._area=null,n._materialEvents=null,n._clonedModel=!1,n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.addModelToLayers=function(){for(var t=this.system.app.scene.layers,e=0;e=0&&(null==(n=t.batcher)||n.insert(Ho.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(Ho.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof Vf&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;n=this.system.app.assets.get(n)}n&&!n.resource&&this.system.app.assets.load(n)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var s=t.mesh;s instanceof qa||(s=null),this.emitter=new Nd(this.system.app.graphicsDevice,{numParticles:t.numParticles,emitterExtents:t.emitterExtents,emitterExtentsInner:t.emitterExtentsInner,emitterRadius:t.emitterRadius,emitterRadiusInner:t.emitterRadiusInner,emitterShape:t.emitterShape,initialVelocity:t.initialVelocity,wrap:t.wrap,localSpace:t.localSpace,screenSpace:t.screenSpace,wrapBounds:t.wrapBounds,lifetime:t.lifetime,rate:t.rate,rate2:t.rate2,orientation:t.orientation,particleNormal:t.particleNormal,animTilesX:t.animTilesX,animTilesY:t.animTilesY,animStartFrame:t.animStartFrame,animNumFrames:t.animNumFrames,animNumAnimations:t.animNumAnimations,animIndex:t.animIndex,randomizeAnimIndex:t.randomizeAnimIndex,animSpeed:t.animSpeed,animLoop:t.animLoop,startAngle:t.startAngle,startAngle2:t.startAngle2,scaleGraph:t.scaleGraph,scaleGraph2:t.scaleGraph2,colorGraph:t.colorGraph,colorGraph2:t.colorGraph2,alphaGraph:t.alphaGraph,alphaGraph2:t.alphaGraph2,localVelocityGraph:t.localVelocityGraph,localVelocityGraph2:t.localVelocityGraph2,velocityGraph:t.velocityGraph,velocityGraph2:t.velocityGraph2,rotationSpeedGraph:t.rotationSpeedGraph,rotationSpeedGraph2:t.rotationSpeedGraph2,radialSpeedGraph:t.radialSpeedGraph,radialSpeedGraph2:t.radialSpeedGraph2,colorMap:t.colorMap,normalMap:t.normalMap,loop:t.loop,preWarm:t.preWarm,sort:t.sort,stretch:t.stretch,alignToMotion:t.alignToMotion,lighting:t.lighting,halfLambert:t.halfLambert,intensity:t.intensity,depthSoftening:t.depthSoftening,scene:this.system.app.scene,mesh:s,depthWrite:t.depthWrite,noFog:t.noFog,node:this.entity,blendType:t.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,t.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this.system.app.scene.on("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.on("add",this.onLayerAdded,this),this.system.app.scene.layers.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&t.depthSoftening&&this._requestDepth()}},i.onDisable=function(){this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();og._skinInstanceCache=new Map;var hg=function(){function t(t,e,i,n,s){this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&this._registry.on("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.on("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.on("load:url:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:url:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:url:"+this.url,this._onRemove,this))},e._unbind=function(){this.id&&(this._onAssetLoad&&this._registry.off("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.off("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.off("load:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.url,this._onRemove,this))},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},y(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}]),t}(),lg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=[],n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._rootBone=new zm(w(n),"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,w(n)),n._assetReference=new hg("asset",w(n),e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},w(n)),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof Vf?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(i=t.batcher)||i.insert(Ho.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(Ho.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),Sg=new Bt,bg=new Bt,wg=new wt,Tg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new wt(1,1,1),n._angularVelocity=new wt,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new wt(1,1,1),n._linearVelocity=new wt,n._mask=__,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=d_,n}S(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(pg=new Ammo.btTransform,mg=new Ammo.btVector3,_g=new Ammo.btVector3,vg=new Ammo.btQuaternion)};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&this.system.onRemove(e,this);var i=this._type===f_?this._mass:0;this._getEntityTransform(pg);var n=this.system.createBody(i,t,pg);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===f_){var s=this._linearFactor;mg.setValue(s.x,s.y,s.z),n.setLinearFactor(mg);var r=this._angularFactor;mg.setValue(r.x,r.y,r.z),n.setAngularFactor(mg)}else this._type===p_&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case f_:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case p_:this.system._kinematic.push(this),e.forceActivationState(4);break;case d_:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),e instanceof wt?_g.setValue(e.x,e.y,e.z):void 0!==n?_g.setValue(n,s,r):_g.setValue(0,0,0),a.applyForce(mg,_g))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),n.applyTorque(mg))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),e instanceof wt?_g.setValue(e.x,e.y,e.z):void 0!==n?_g.setValue(n,s,r):_g.setValue(0,0,0),a.applyImpulse(mg,_g))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),n.applyTorqueImpulse(mg))},i.isStatic=function(){return this._type===d_},i.isStaticOrKinematic=function(){return this._type===d_||this._type===p_},i.isKinematic=function(){return this._type===p_},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();mg.setValue(n.x,n.y,n.z),vg.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();mg.setValue(r.x,r.y,r.z),vg.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(mg),t.setRotation(vg)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(pg),t.setWorldTransform(pg),this._type===p_){var e=t.getMotionState();e&&e.setWorldTransform(pg)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(pg);var n=pg.getOrigin(),s=pg.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=bg.copy(o).invert(),l=Sg.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,wg),i.setPosition(n.x()-wg.x,n.y()-wg.y,n.z()-wg.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(pg),t.setWorldTransform(pg))},i.teleport=function(t,e,i,n,s,r){t instanceof wt?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Bt?this.entity.setRotation(e):e instanceof wt?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},y(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===f_&&(mg.setValue(t.x,t.y,t.z),this._body.setAngularFactor(mg)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===f_){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===f_&&(this._body.activate(),mg.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(mg),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===f_&&(mg.setValue(t.x,t.y,t.z),this._body.setLinearFactor(mg)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===f_){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===f_&&(this._body.activate(),mg.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(mg),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===f_)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,mg),this._body.setMassProps(t,mg),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case f_:this._group=1,this._mask=m_;break;case p_:this._group=4,this._mask=m_;break;default:this._group=2,this._mask=__}this.createBody()}}}]),e}(bp),Ag=function(){this.enabled=!0},Cg=function(t,e,i,n){this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Eg=function(t,e,i){0===arguments.length?(this.a=null,this.b=null,this.impulse=0,this.localPointA=new wt,this.localPointB=new wt,this.pointA=new wt,this.pointB=new wt,this.normal=new wt):(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal)},Mg=function(t,e,i,n,s,r){void 0===t&&(t=new wt),void 0===e&&(e=new wt),void 0===i&&(i=new wt),void 0===n&&(n=new wt),void 0===s&&(s=new wt),void 0===r&&(r=0),this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},Pg=function(t,e){this.other=t,this.contacts=e},Rg=["enabled"],Ig=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new wt(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=Tg,i.DataType=Ag,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Rg,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,w(i)),i.on("remove",i.onRemove,w(i)),i}S(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}gg=new Ammo.btVector3,yg=new Ammo.btVector3,Tg.onLibraryLoaded(),this.contactPointPool=new xg(Mg,1),this.contactResultPool=new xg(Pg,1),this.singleContactResultPool=new xg(Eg,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var g=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));g&&(!(v=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(v=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(v||(v=this._storeCollision(u,c)),v&&c.rigidbody.fire("triggerenter",u)),S&&(v||(v=this._storeCollision(c,u)),v&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),w=this._hasContactEvent(u),T=this.hasEvent("contact");if(T||b||w){for(var A=0;A=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}]),e}(bp),Fg=function(){this.enabled=!0},Bg=["enabled"],Ug=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=kg,i.DataType=Fg,i.schema=Bg,i.windowResolution=new Et,i._drawOrderSyncQueue=new at,i.app.graphicsDevice.on("resizecanvas",i._onResize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.on("beforeremove",i.onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof Et?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof Et?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,Hg),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return _t.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:_t.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return sy.x=0===e?0:t.x/e,sy.y=0===i?0:t.y/-i,sy},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=_t.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=_t.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new Et(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function e(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=_t.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=_t.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},e}(bp),cy=function(){this.enabled=!0},uy=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],dy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=ly,i.DataType=cy,i.schema=uy,i.on("beforeremove",i._onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,uy)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(wp);bp._buildAccessors(ly.prototype,uy);var fy={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new wt,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},py=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof Vf&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(w(s)),s._onInstancePauseHandler=s._onInstancePause.bind(w(s)),s._onInstanceResumeHandler=s._onInstanceResume.bind(w(s)),s._onInstanceStopHandler=s._onInstanceStop.bind(w(s)),s._onInstanceEndHandler=s._onInstanceEnd.bind(w(s)),s}S(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof py?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new py(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}]),e}(bp),_y=function(){this.enabled=!0},vy=["enabled"],gy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=my,i.DataType=_y,i.schema=vy,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},y(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e;(this._sprite&&(this._sprite.off("set:meshes",this._onSpriteMeshesChange,this),this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this)),this._sprite=t,this._sprite&&(this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((e=this._component._meshInstance)&&(e.setParameter("texture_emissiveMap",t.atlas.texture),e.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((e=this._component._meshInstance)&&(e.deleteParameter("texture_emissiveMap"),e.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}]),e}(P),by="texture_emissiveMap",wy="texture_opacityMap",Ty="material_emissive",Ay="material_opacity",Cy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type=yy,n._material=e.defaultMaterial,n._color=new vt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new Et(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Pt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Pt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new hh,n._model=new Gu,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(w(n)),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Sy(w(n),{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}S(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene;(i.on("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.on("add",this._onLayerAdded,this),i.layers.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(Ho.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.off("add",this._onLayerAdded,this),i.layers.off("remove",this._onLayerRemoved,this)),this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(Ho.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Sy?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}]),e}(bp),Ey=function(){this.enabled=!0},My=["enabled"],Py=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=Cy,i.DataType=Ey,i.schema=My,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof vt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},y(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new Ls(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new lu;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=se,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}]),e}(wp);bp._buildAccessors(Cy.prototype,My);var Ry=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new wt,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},y(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof wt?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}]),e}(bp),Iy=function(){this.enabled=!0},Ly=["enabled"],Dy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Ry,i.DataType=Iy,i.schema=Ly,i.on("beforeremove",i._onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof wt?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(wp);bp._buildAccessors(Ry.prototype,Ly);var Oy=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},ky=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new Ls(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getHdrFormat(!1,!0,!1,!1)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new rn({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new Oy(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}]),e}(bp),By=function(){this.enabled=!0},Uy=["enabled"],Ny=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=Fy,i.DataType=By,i.schema=Uy,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.on("prerender",i.onAppPrerender,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),Mu(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(Fy.prototype,Uy);var zy=[],Vy=[],Gy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}S(e,t);var i=e.prototype;return i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(o=e.ind),this._insertScriptInstance(r,o,a),this._scriptsIndex[s]={instance:r,onSwap:function(){i.swap(s)}},this[s]=r,e.preloading||r.__initializeAttributes(),this.fire("create",s,r),this.fire("create:"+s,r),this.system.app.scripts.on("swap:"+s,this._scriptsIndex[s].onSwap),e.preloading||(r.enabled&&!r._initialized&&(r._initialized=!0,r.initialize&&this._scriptMethod(r,Zy)),r.enabled&&!r._postInitialized&&(r._postInitialized=!0,r.postInitialize&&this._scriptMethod(r,Qy))),r}}else this._scriptsIndex[s]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(a.__initializeAttributes(),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},y(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){for(var e in this._scriptsData=t,t)if(t.hasOwnProperty(e)){var i=this._scriptsIndex[e];if(i){if("boolean"==typeof t[e].enabled&&(i.enabled=!!t[e].enabled),"object"==typeof t[e].attributes)for(var n in t[e].attributes)if(!Ky.reservedNames.has(n)){if(!i.__attributes.hasOwnProperty(n)){var s=this.system.app.scripts.get(e);s&&s.attributes.add(n,{})}i[n]=t[e].attributes[n]}}else console.log(this.order)}}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}]),e}(bp),Jy=function(){this.enabled=!0},tx=0,ex=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=$y,i.DataType=Jy,i._components=new ct({sortBy:"_executionOrder"}),i._enabledComponents=new ct({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,w(i)),i.app.systems.on("initialize",i._onInitialize,w(i)),i.app.systems.on("postInitialize",i._onPostInitialize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.app.systems.on("postUpdate",i._onPostUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=tx++,this._components.append(t),tx>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(wp),ix=function(t){function e(){var e;return(e=t.call(this)||this)._meshes=null,e}S(e,t);var i=e.prototype;return i.destroy=function(){this.meshes=null},i.decRefMeshes=function(){if(this._meshes)for(var t=this._meshes.length,e=0;e0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),mx=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},_x=function(t){if(cx)return!0;if(!t)if(ux)t=ux;else{var e=ht.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(cx=new px,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};_a.get(i,n,(function(i,n){i?e(i):t(n)}))}))),mx(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+lx.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},Lx=function(t,e,i,n,s,r,a){var o,h=new qa(t);h.aabb=Ex(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(jx.data.set(t.matrix),jx.getTranslation(qx),i.setLocalPosition(qx),jx.getEulerAngles(qx),i.setLocalEulerAngles(qx),jx.getScale(qx),i.setLocalScale(qx)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},Kx=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*_t.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new ip(t.name);return r.addComponent("camera",s),r},Zx=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new vt(t.color):vt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?_t.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*_t.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*_t.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*Uu.getLightUnitConversion(Ou[i.type],i.outerConeAngle,i.innerConeAngle));var n=new ip(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},Qx=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=Ax(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===D.paths[0].propertyPath[0]&&2!==D.interpolation&&v.push(P[P.length-1].output))}v.sort();var O,k=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:Kx,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},rS=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:Zx,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},aS=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},oS=(fx=v(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_,v,g,y,x,S,b,w,T,A,C,E,M,P,R;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=iS(i,r),d=nS(i,u),f=rS(i,u,r),p=sS(i,u,r),_=tS(i),t.next=12,Promise.all(n);case 12:return v=t.sent,g=$x(e,i,v,c,r),y=g.meshes,x=g.meshVariants,S=g.meshDefaultMaterials,b=g.promises,w=eS(i,u,v,r),t.next=17,Promise.all(s);case 17:for(T=t.sent,A=T.map((function(t){return t.resource})),C=Jx(i,A,r,c),E=Qx(e,i,u,v),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},cS=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){lS(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=ma.ResponseType.ARRAY_BUFFER:s.responseType=ma.ResponseType.JSON),_a.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===L.getExtension(t.original).toLowerCase()?cS.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new hx(1,t)})),r=e.outputs.map((function(t){return new hx(t.components,t.data)})),a=e.curves.map((function(t){return new ox([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new nm(i,n,s,r,a)},e.patch=function(t,e){},t}(),fS=function(){function t(t){this.handlerType="animstategraph",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return new Em(e)},e.patch=function(t,e){},t}(),pS=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),mS=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],_S=function(){function t(t){this.handlerType="audio",this.manager=t.soundManager,this.maxRetries=0}var e=t.prototype;return e._isSupported=function(t){var e=L.getExtension(t);return mS.indexOf(e)>-1},e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new Aa(t))}),i)}else i(null)},e.open=function(t,e){return e},e.patch=function(t,e){},e._createSound=function(t,e,i){if(va()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=ma.ResponseType.ARRAY_BUFFER),_a.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}pS&&document.body.appendChild(r);r.onerror=function(){r.onerror=null,pS&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",(function t(){r.removeEventListener("canplaythrough",t),pS&&document.body.removeChild(r),e(r)})),r.src=t}},t}(),vS=function(){function t(t){this.handlerType="binary",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{responseType:ma.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),gS=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;Vf.fetchArrayBuffer(t.load,(function(s,r){s?e(s):cS.parse(n._getUrlWithoutParams(t.original),L.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new gS(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),xS=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),SS=function(){function t(t){this.handlerType="container",this.glbContainerParser=new yS(t.graphicsDevice,t.assets,0),this.parsers={}}var e=t.prototype;return e._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},e._getParser=function(t){var e=t?L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){return this._getParser(t).open(t,e,i)},e.patch=function(t,e){},y(t,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}]),t}(),bS=function(){function t(t){this.handlerType="css",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),wS=function(){function t(t){this.handlerType="cubemap",this._device=t.graphicsDevice,this._registry=t.assets,this._loader=t.loader}var e=t.prototype;return e.load=function(t,e,i){this.loadAssets(i,e)},e.open=function(t,e,i){return i?i.resource:null},e.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},e.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},e.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},e.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?ii:ei:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new Ls(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=si,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=CS(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=CS(i.data)),this._loadTextures(t.load,i&&i.data,e))},e._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),LS=function(){function t(t){this.handlerType="hierarchy",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){IS.load(t,this.maxRetries,e)},e.open=function(t,e){this._app.systems.script.preloading=!0;var i=new RS(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},t}(),DS=function(){function t(t){this.handlerType="html",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),OS=function(){function t(t){this.handlerType="json",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),kS=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([se,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=tu,i=ru,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Ls||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Ls||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof Ls&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),FS=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new lu;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=x({},e.chunks)),e){var n=tu[i],s=e[i];if("vec2"===n)t[i]=new Et(s[0],s[1]);else if("rgb"===n)t[i]=new vt(s[0],s[1],s[2]);else if("texture"===n)s instanceof Ls?t[i]=s:t[i]instanceof Ls&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof Ls?t[i]=s:t[i]instanceof Ls&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new wt(s.center[0],s.center[1],s.center[2]),a=new wt(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new Ht(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;void 0===t.shadingModel&&("blinn"===t.shader?t.shadingModel=1:t.shadingModel=0),t.shader&&delete t.shader,t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},e.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},e._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new Ls(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},e.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},e._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},e._assignTexture=function(t,e,i){e.resource[t]=i},e._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=BS[t];return this._placeholderTextures[e]},e._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},e._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},e._onTextureAdd=function(t,e,i){this._assets.load(i)},e._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},e._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},e._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},e._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},e._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},e._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=eu;for(i=0;i0){for(var c=i.blendIndices.data[4*h+l],u=!0,d=0;dn)return!1;for(var f=0;f=0;n--)if(l[n].boneNames.length>i){var f=l.splice(n,1)[0],p=[];for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.push({mesh:o,node:u[r].node}),e&&e.push({material:e[r].material,path:e[r].path}));for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.splice(r,1),e&&e.splice(r,1))}!function(t){for(var e=t.vertices,i=t.skins,n=t.meshes,s=t.meshInstances,r=0;r0&&GS(s,null,this._device.getBoneLimit());for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new vr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new vr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=ma.ResponseType.ARRAY_BUFFER:s.responseType=ma.ResponseType.JSON),_a.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}();function ZS(t){this.resource&&(this.resource.atlas=t.resource)}function QS(t){this.registry.load(t)}var $S=function(){function t(t){this.handlerType="sprite",this._assets=t.assets,this._device=t.graphicsDevice,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===L.getExtension(t.original)&&_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},e.open=function(t,e){var i=new $d(this._device);return t&&(i.__data=e),i},e.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},e._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ZS,t),this._assets.on("load:"+t.data.textureAtlasAsset,ZS,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,QS,t),this._assets.on("add:"+t.data.textureAtlasAsset,QS,t))}else e.atlas=null},e._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ZS,t),this._assets.off("add:"+n.textureAtlasAsset,QS,t))},t}(),JS=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new RS(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),tb=function(){function t(t){this.handlerType="template",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};_a.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},e.open=function(t,e){return new JS(this._app,e)},t}(),eb=function(){function t(t){this.handlerType="text",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),ib={repeat:0,clamp:1,mirror:2},nb={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},sb=/^data\.frames\.(\d+)$/,rb=function(){function t(t){this.handlerType="textureatlas",this._loader=t.loader,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===L.getExtension(t.original)?_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},e.open=function(t,e){var i=new Jd;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},e.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==nb[t.data.minfilter]&&(i.minFilter=nb[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==nb[t.data.magfilter]&&(i.magFilter=nb[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==ib[t.data.addressu]&&(i.addressU=ib[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==ib[t.data.addressv]&&(i.addressV=ib[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?ii:ei;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Pt(a.rect),pivot:new Et(a.pivot),border:new Pt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},e._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Pt(n.rect),pivot:new Et(n.pivot),border:new Pt(n.border)};t.resource.frames=s}else{var a=e.match(sb);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Pt(i.rect),pivot:new Et(i.pivot),border:new Pt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},t}();function ab(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},v=21,g=22,y=23,x=8,S=10,b=26,w=27,T=28,A=29,C=30,E=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?v:g;case s:return y;case r:return x;case a:return S;case o:return b;case h:return w;case l:return T;case c:return A;case u:return C;case d:return E;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},D=function(){return"undefined"!=typeof performance?performance.now():0},O=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;_a.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else _a.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))},lb=function(){function t(){this.callbacks={},this.queue=[],this.clients=[]}var e=t.prototype;return e.enqueueJob=function(t,e,i,n){if(this.callbacks.hasOwnProperty(t))this.callbacks[t].push(i);else{this.callbacks[t]=[i];var s={url:t,data:e,options:n};this.clients.length>0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},e._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};_a.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},e._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},t}(),wb=[1481919403,3140563232,169478669],Tb={33776:8,33778:9,33779:re,36196:pe,37492:22,37496:23,35840:ve,35841:me,35842:ge,35843:_e,32849:6,32856:7,35905:19,35907:20,35898:fe,34843:ae,34842:oe};for(var Ab=function(){function t(t){this.maxRetries=0}var e=t.prototype;return e.load=function(t,e,i){Vf.fetchArrayBuffer(t.load,e,i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new Ls(i,x({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},e.parse=function(t){var e=new Uint32Array(t);if(wb[0]!==e[0]||wb[1]!==e[1]||wb[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=Tb[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===fe?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},t}(),Cb=166,Eb=function(){function t(t,e){this.maxRetries=0,this.device=e}var e=t.prototype;return e.load=function(t,e,i){var n=this;Vf.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=new Ls(i,x({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},e.parse=function(t,e,i,n){var s=new lt(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var w,T=128,A=d?6:1,C=c===f?8:16,E=0;E32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||0!=(128&s[2]))return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},e._getParser=function(t){var e=L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},e._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Ib[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Ib[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Rb[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Rb[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Lb[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=ii:t.file&&0!=(8&t.file.opt)&&(e.type=ri)}return e},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new Ls(this._device,{width:4,height:4,format:6}):(!function(t){var e=Math.log2(Math.max(t._width,t._height))+1;if(!(7!==t._format&&t._format!==le||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},e.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);sthis.views.length;){var a=this.viewsPool.pop();a||(a={viewport:new Pt,projMat:new Ft,viewMat:new Ft,viewOffMat:new Ft,viewInvMat:new Ft,viewInvOffMat:new Ft,projViewOffMat:new Ft,viewMat3:new At,position:new Float32Array(3),rotation:new Bt}),this.views.push(a)}for(;r0){var p=new Ft,m=this.views[0];p.copy(m.projMat);var _=p.data,v=2*Math.atan(1/_[5])*180/Math.PI,g=_[5]/_[0],y=_[14]/(_[10]+1),x=_[14]/(_[10]-1);this._camera.camera.setXrProperties({aspectRatio:g,farClip:y,fov:v,horizontalFov:!1,nearClip:x})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===Bb&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.depthSensing.supported&&this.depthSensing.update(t,n&&n.views[0]),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t)),this.fire("update",t),!0},y(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}]),e}(P),Tw=function(t){function e(e,i){var n;void 0===i&&(i={}),n=t.call(this,e)||this;var s=new up;return s.graphicsDevice=n.createDevice(e,i),n.addComponentSystems(s),n.addResourceHandles(s),s.elementInput=i.elementInput,s.keyboard=i.keyboard,s.mouse=i.mouse,s.touch=i.touch,s.gamepads=i.gamepads,s.scriptPrefix=i.scriptPrefix,s.assetPrefix=i.assetPrefix,s.scriptsOrder=i.scriptsOrder,s.soundManager=new Ta,s.lightmapper=Sp,s.batchManager=Eh,s.xr=ww,n.init(s),n}S(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new lr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Ig,L_,Cv,cm,Im,Zv,fg,Ny,Xy,bf.legacy?Yg:ex,Nm,gy,km,rg,Ug,vv,s_,hy,dy,Py,jv,Rv,Dy]},i.addResourceHandles=function(t){t.resourceHandlers=[ax,uS,dS,fS,jS,US,Ob,eb,OS,_S,YS,qS,wS,DS,bS,KS,LS,TS,ES,vS,rb,$S,tb,SS]},e}(hp),Aw=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof Vf)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),Cw=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new Ls(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),Ew=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new vt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}S(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new Cw(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=rt.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dw&&(w=this.fontSize*this.fontSize/T,o.ctx.font=this.fontWeight+" "+w.toString()+"px "+this.fontName,T=this.fontSize),this.renderCharacter(o.ctx,S,g+_,y+v,n);var A=this.padding+(this.glyphSize-T)/2,C=-this.padding+u[S].descent-c,E=T;this._addChar(this.data,S,b,g,y,p,m,A,C,E,a-1,e,i),(g+=p)+p>e&&(g=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,Mw,Pw,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(Ui.NOBLEND)})),Mw.length=0)}}},e}(uo),Iw=new Set,Lw=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof nn&&(t=vf()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new Rw(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){var s=this.device;if("object"==typeof t){var r=t;t=r.x,e=r.y,i=r.width,n=r.height}else e=this.renderTarget.height-(e+(n||1));t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i||1,1)),n=Math.floor(Math.max(n||1,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var a=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,a),s.updateEnd();for(var o=this.mapping,h=0;h0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return S(e,t),e}(hT),cT=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return S(e,t),e}(hT),uT=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return S(e,t),e}(hT),dT=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(Zr.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(Zr.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=aw,this._lastY=ow)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new cT(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new cT(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,aw,ow)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new lT(e,i,s,aw,ow,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new lT(e,this._pressedElement,s,aw,ow,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new lT(e,n,s,aw,ow,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new lT(e,this._hoveredElement,s,aw,ow,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new lT(e,this._hoveredElement,s,aw,ow,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(Nw,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new uT(i,a,r,e)),s&&this._fireEvent("selectenter",new uT(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new uT(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new uT(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new uT(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new uT(i,l,r,e)),l&&l===a&&this._fireEvent("click",new uT(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);aw=t.clientX-i,ow=t.clientY-n},e._calcTouchCoords=function(t){for(var e=0,i=0,n=t.target;!(n instanceof HTMLElement);)n=n.parentNode;var s=n;do{e+=s.offsetLeft-s.scrollLeft,i+=s.offsetTop-s.scrollTop,s=s.offsetParent}while(s);return{x:t.pageX-e,y:t.pageY-i}},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,Bw)?Bw:null,s=this._calculateRay3d(e,i,t,Uw)?Uw:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){Bw.origin.copy(t.origin),Bw.direction.copy(t.direction),Bw.end.copy(Bw.direction).mulScalar(2*e.farClip).add(Bw.origin);var i=Bw,n=e.worldToScreen(i.origin,kw),s=this._calculateRayScreen(n.x,n.y,e,Uw)?Uw:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,kw),i.screenToWorld(d,f,i.farClip,Fw),n.origin.copy(kw),n.direction.set(0,0,-1),n.end.copy(Fw),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){zw.sub2(e,t),Vw.sub2(i[0],t),Gw.sub2(i[1],t),Hw.sub2(i[2],t),Xw.cross(Hw,zw);var n,s,r=Vw.dot(Xw);if(r>=0){if((n=-Gw.dot(Xw))<0)return-1;if((s=oT(zw,Gw,Vw))<0)return-1;var a=1/(n+r+s);jw.copy(i[0]).mulScalar(n*a),qw.copy(i[1]).mulScalar(r*a),Yw.copy(i[2]).mulScalar(s*a),Kw.copy(jw).add(qw).add(Yw)}else{if(Ww.sub2(i[3],t),(n=Ww.dot(Xw))<0)return-1;if((s=oT(zw,Vw,Ww))<0)return-1;var o=1/(n+(r=-r)+s);jw.copy(i[0]).mulScalar(n*o),qw.copy(i[3]).mulScalar(r*o),Yw.copy(i[2]).mulScalar(s*o),Kw.copy(jw).add(qw).add(Yw)}return zw.sub2(i[0],i[2]).lengthSq()<1e-8||zw.sub2(i[1],i[3]).lengthSq()<1e-8?-1:Kw.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||aT;$w.copy(t.entity.up),Jw.copy($w).mulScalar(-1),eT.copy(t.entity.right),tT.copy(eT).mulScalar(-1),$w.mulScalar(s.w*i.y),Jw.mulScalar(s.y*i.y),eT.mulScalar(s.z*i.x),tT.mulScalar(s.x*i.x),iT.copy(n[0]).add(Jw).add(tT),nT.copy(n[1]).add(Jw).add(eT),sT.copy(n[2]).add($w).add(eT),rT.copy(n[3]).add($w).add(tT),n=[iT,nT,sT,rT]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for(Qw.set(i,i,i);e&&!e.screen;)Qw.mul(e.getLocalScale()),e=e.parent;return Qw},t.calculateScaleToWorld=function(t){var e=t.entity;for(Qw.set(1,1,1);e;)Qw.mul(e.getLocalScale()),e=e.parent;return Qw},y(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||vf()},set:function(t){this._app=t}}]),t}(),fT=new RegExp("^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^\\(\\s\\/]*)\\s*"),pT=function(t){function e(e){var i;return(i=t.call(this)||this).app=void 0,i.entity=void 0,i._enabled=void 0,i._enabledOld=void 0,i._initialized=void 0,i._postInitialized=void 0,i.__destroyed=void 0,i.__attributes=void 0,i.__attributesRaw=void 0,i.__scriptType=void 0,i.__executionOrder=void 0,i.initScriptType(e),i}S(e,t);var i=e.prototype;return i.initScriptType=function(t){var e=this.constructor;this.app=t.app,this.entity=t.entity,this._enabled="boolean"!=typeof t.enabled||t.enabled,this._enabledOld=this.enabled,this.__destroyed=!1,this.__attributes={},this.__attributesRaw=t.attributes||{},this.__scriptType=e,this.__executionOrder=-1},e.__getScriptName=function(t){if("function"==typeof t){if("name"in Function.prototype)return t.name;if(t===Function||t===Function.prototype.constructor)return"Function";var e=(""+t).match(fT);return e?e[1]:void 0}},i.__initializeAttributes=function(t){if(t||this.__attributesRaw){for(var e in this.__scriptType.attributes.index)this.__attributesRaw&&this.__attributesRaw.hasOwnProperty(e)?this[e]=this.__attributesRaw[e]:this.__attributes.hasOwnProperty(e)||(this.__scriptType.attributes.index[e].hasOwnProperty("default")?this[e]=this.__scriptType.attributes.index[e].default:this[e]=null);this.__attributesRaw=null}},e.extend=function(t){for(var e in t)t.hasOwnProperty(e)&&(this.prototype[e]=t[e])},y(e,[{key:"enabled",get:function(){return this._enabled&&!this._destroyed&&this.entity.script.enabled&&this.entity.enabled},set:function(t){this._enabled=!!t,this.enabled!==this._enabledOld&&(this._enabledOld=this.enabled,this.fire(this.enabled?"enable":"disable"),this.fire("state",this.enabled),!this._initialized&&this.enabled&&(this._initialized=!0,this.__initializeAttributes(!0),this.initialize&&this.entity.script._scriptMethod(this,Zy)),this._initialized&&!this._postInitialized&&this.enabled&&!this.entity.script._beingEnabled&&(this._postInitialized=!0,this.postInitialize&&this.entity.script._scriptMethod(this,Qy)))}}],[{key:"scriptName",get:function(){return this.__name}},{key:"attributes",get:function(){return this.hasOwnProperty("__attributes")||(this.__attributes=new Ky(this)),this.__attributes}}]),e}(P);pT.__name=null;var mT=new Set(["system","entity","create","destroy","swap","move","data","scripts","_scripts","_scriptsIndex","_scriptsData","enabled","_oldState","onEnable","onDisable","onPostStateChange","_onSetEnabled","_checkState","_onBeforeRemove","_onInitializeAttributes","_onInitialize","_onPostInitialize","_onUpdate","_onPostUpdate","_callbacks","_callbackActive","has","get","on","off","fire","once","hasEvent"]);function _T(t,e){if(bf.legacy)return null;if(mT.has(t))throw new Error("Script name '"+t+"' is reserved, please rename the script");var i=function(t){P.prototype.initEventHandler.call(this),pT.prototype.initScriptType.call(this,t)};return(i.prototype=Object.create(pT.prototype)).constructor=i,i.extend=pT.extend,i.attributes=new Ky(i),gT(i,t,e),i}var vT={};function gT(t,e,i){if(!t.legacy){if("function"!=typeof t)throw new Error("script class: '"+t+"' must be a constructor function (i.e. class).");if(!(t.prototype instanceof pT))throw new Error("script class: '"+pT.__getScriptName(t)+"' does not extend pc.ScriptType.");if(e=e||t.__name||pT.__getScriptName(t),mT.has(e))throw new Error("script name: '"+e+"' is reserved, please change script name");t.__name=e,(i?i.scripts:hp.getApplication().scripts).add(t),yf.push(t,t.legacy)}}Ky.reservedNames.forEach((function(t,e,i){vT[t]=1})),_T.reservedAttributes=vT;var yT={write:function(t){console.log(t)},open:function(){yT.write("Powered by PlayCanvas "+c+" "+u)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){yT.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&yT.write("ASSERT: "+e)}};rt.endsWith=function(t,e){return t.endsWith(e)},rt.startsWith=function(t,e){return t.startsWith(e)};var xT=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=dt()},e.stop=function(){this._isRunning=!1,this._b=dt()},e.getMilliseconds=function(){return this._b-this._a},t}(),ST={now:dt,Timer:xT};Object.defineProperty(vt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(vt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),_t.INV_LOG2=Math.LOG2E,_t.intToBytes=_t.intToBytes32,_t.bytesToInt=_t.bytesToInt32,Object.defineProperty(Et.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),Et.prototype.scale=Et.prototype.mulScalar,Object.defineProperty(wt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),wt.prototype.scale=wt.prototype.mulScalar,Object.defineProperty(Pt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Pt.prototype.scale=Pt.prototype.mulScalar;var bT={Aabb:Ht,Sphere:jt,Plane:te};jt.prototype.intersectRay=jt.prototype.intersectsRay,qt.prototype.update=function(t,e){var i=new Ft;i.mul2(t,e),this.setFromMat4(i)};var wT=mi;function TT(t){this.name="UnsupportedBrowserError",this.message=t||""}function AT(t){this.name="ContextCreationError",this.message=t||""}TT.prototype=Error.prototype,AT.prototype=Error.prototype;var CT={begin:xo.begin,dummyFragmentCode:ir.dummyFragmentCode,end:xo.end,fogCode:xo.fogCode,gammaCode:xo.gammaCode,precisionCode:ir.precisionCode,skinCode:xo.skinCode,tonemapCode:xo.tonemapCode,versionCode:ir.versionCode},ET={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:se,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:mi,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:be,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:we,SEMANTIC_NORMAL:Te,SEMANTIC_COLOR:Me,SEMANTIC_TEXCOORD:Pe,SEMANTIC_TEXCOORD0:Re,SEMANTIC_TEXCOORD1:Ie,SEMANTIC_ATTR0:Ne,SEMANTIC_ATTR1:ze,SEMANTIC_ATTR2:Ve,SEMANTIC_ATTR3:Ge,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Ro,programlib:CT,shaderChunks:_o,ContextCreationError:AT,Device:nn,IndexBuffer:vr,ProgramLibrary:uf,RenderTarget:rn,ScopeId:Hi,Shader:fs,ShaderInput:Fs,Texture:Ls,UnsupportedBrowserError:TT,VertexBuffer:ji,VertexFormat:Ji,VertexIterator:Lr},MT=new Pt;function PT(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=MT.set(s.x*a,s.y*o,s.z*a,s.w*o)}Ro(t,e,n,r)}var RT={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:PT,PostEffect:of,PostEffectQueue:ky};Object.defineProperty(_o,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+_o.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(_o,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(rn.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(Ji,"defaultInstancingFormat",{get:function(){return Ji.getDefaultInstancingFormat(Ha.get())}}),Object.defineProperties(Ls.prototype,{rgbm:{get:function(){return this.type===ii},set:function(t){this.type=t?ii:ei}},swizzleGGGR:{get:function(){return this.type===ri},set:function(t){this.type=t?ri:ei}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(nn.prototype,"webgl2",{get:function(){return this.isWebGL2}}),nn.prototype.getProgramLibrary=function(){return go(this)},nn.prototype.setProgramLibrary=function(t){yo(this,t)},nn.prototype.removeShaderFromCache=function(t){go(this).removeFromCache(t)},Ui.DEFAULT=Object.freeze(new Ui);var IT=new Ui,LT=new Ni;nn.prototype.setBlendFunction=function(t,e){var i=this.blendState;IT.copy(i),IT.setColorBlend(i.colorOp,t,e),IT.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(IT)},nn.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;IT.copy(s),IT.setColorBlend(s.colorOp,t,e),IT.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(IT)},nn.prototype.setBlendEquation=function(t){var e=this.blendState;IT.copy(e),IT.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),IT.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(IT)},nn.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;IT.copy(i),IT.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),IT.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(IT)},nn.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;IT.copy(s),IT.setColorWrite(t,e,i,n),this.setBlendState(IT)},nn.prototype.getBlending=function(){return this.blendState.blend},nn.prototype.setBlending=function(t){IT.copy(this.blendState),IT.blend=t,this.setBlendState(IT)},nn.prototype.setDepthWrite=function(t){LT.copy(this.depthState),LT.write=t,this.setDepthState(LT)},nn.prototype.setDepthFunc=function(t){LT.copy(this.depthState),LT.func=t,this.setDepthState(LT)},nn.prototype.setDepthTest=function(t){LT.copy(this.depthState),LT.test=t,this.setDepthState(LT)},nn.prototype.getCullMode=function(){return this.cullMode};var DT=lu,OT=Hh,kT={partitionSkin:GS,procedural:{calculateTangents:$a,createMesh:Ja,createTorus:to,createCylinder:io,createCapsule:no,createCone:so,createSphere:ro,createPlane:ao,createBox:oo},BasicMaterial:Vo,ForwardRenderer:yu,GraphNode:hh,Material:zo,Mesh:qa,MeshInstance:yh,Model:Gu,ParticleEmitter:Nd,PhongMaterial:lu,Picker:Lw,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:Yd,Skin:Kd,SkinInstance:Xo};function FT(t,e){Object.defineProperty(lu.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function BT(t,e){"pass"!==t&&Object.defineProperty(Xc.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(Yd.prototype,"defaultMaterial",{get:function(){return Bo(vf().graphicsDevice)}}),Object.defineProperty(Ru.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(Yd.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(Yd.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(Yd.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(Cu.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyCameras=!0},get:function(){return this._renderTarget}}),Yd.prototype._updateSkybox=function(t){this._updateSky(t)},Yd.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},Yd.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},Yd.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},Yd.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},Yd.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},Yd.prototype.getModels=function(t){return this.models},Object.defineProperty(Go.prototype,"model",{get:function(){return null}}),yu.prototype.renderComposition=function(t){vf().renderComposition(t)},yh.prototype.syncAabb=function(){},Hu.prototype.getTarget=function(t){return this.targets[t]},hh.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},hh.prototype.addLabel=function(t){this._labels[t]=!0},hh.prototype.getLabels=function(){return Object.keys(this._labels)},hh.prototype.hasLabel=function(t){return!!this._labels[t]},hh.prototype.removeLabel=function(t){delete this._labels[t]},hh.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))}()}))},t.createMesh=Ja,t.createPlane=ao,t.createScript=_T,t.createShader=So,t.createShaderFromCode=bo,t.createSphere=ro,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=to,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?ux=t:_x(t)},t.drawFullscreenQuad=PT,t.drawQuadWithShader=Ro,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Ro(t,i,n,s,r)},t.events=R,t.extend=p,t.getPixelFormatArrayType=Se,t.getReservedScriptNames=function(){return mT},t.getTouchTargetCoords=ua,t.gfx=ET,t.guid=I,t.http=_a,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=HT,t.isCompressedPixelFormat=xe,t.log=yT,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=_t,t.now=dt,t.path=L,t.pixelFormatInfo=ye,t.platform=G,t.posteffect=RT,t.prefilterCubemap=function(t){},t.programlib=CT,t.registerScript=gT,t.reprojectTexture=Gc,t.revision=u,t.scene=kT,t.script=bf,t.semanticToLocation=Ri,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=bo(t,_o.fullscreenQuadVS,_o.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new Ls(t,{name:"prefiltered-cube",cubemap:!1,type:ei,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new Ls(t,{name:"prefiltered-cube",cubemap:!1,type:ei,format:e.format,width:n,height:n,mipmaps:!1}),c=new rn({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(Ui.NOBLEND),Ro(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p Date: Fri, 8 Dec 2023 17:40:09 +0900 Subject: [PATCH 5/8] prototype done --- Keno/Keno/playcanvas-stable.min.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Keno/Keno/playcanvas-stable.min.js b/Keno/Keno/playcanvas-stable.min.js index f0147ba..5c3b2c8 100644 --- a/Keno/Keno/playcanvas-stable.min.js +++ b/Keno/Keno/playcanvas-stable.min.js @@ -1,6 +1,6 @@ /** * @license - * PlayCanvas Engine v1.66.3 revision bf0b7c6e9 (RELEASE) + * PlayCanvas Engine v1.67.3 revision 5c05b47f6 (RELEASE) * Copyright 2011-2023 PlayCanvas Ltd. All rights reserved. */ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).pc={})}(this,(function(t){"use strict";function e(t,e,i){t.prototype[e]||Object.defineProperty(t.prototype,e,{value:i,configurable:!0,enumerable:!1,writable:!0})}e(Array,"fill",(function(t){if(null==this)throw new TypeError("this is null or not defined");for(var e=Object(this),i=e.length>>>0,n=arguments[1]>>0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r>>0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),e(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),e(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),e(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var i=0,n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];i=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:L(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}function _(t,e,i,n,s,r,a){try{var o=t[r](a),h=o.value}catch(t){return void i(t)}o.done?e(h):Promise.resolve(h).then(n,s)}function v(t){return function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){_(r,n,s,a,o,"next",t)}function o(t){_(r,n,s,a,o,"throw",t)}a(void 0)}))}}function g(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var E=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();E._traceChannels=new Set,E.stack=!1;var M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.off(this.name,this.callback,this.scope)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},y(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}]),t}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=A(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(L.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==L.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==L.delimiter&&(s+=L.delimiter),s},split:function(t){var e=t.lastIndexOf(L.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return L.split(t)[1]},getDirectory:function(t){return L.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(L.isRelativePath(t))if("."===i[0])for(n=0;n0),N=!("browser"!==O||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={environment:O,global:"browser"===O?window:global,browser:"browser"===O,desktop:["windows","osx","linux","cros"].includes(k),mobile:["android","ios"].includes(k),ios:"ios"===k,android:"android"===k,xbox:B,gamepads:N,touch:U,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,j=56319,q=56320,Y=57343,K=127462,Z=127487,Q=65024,$=65039;function J(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=j){var s=t.charCodeAt(e+1);if(s>=q&&s<=Y)return{code:1024*(n-X)+s-q+65536,long:!0}}return{code:n,long:!1}}function tt(t,e,i){if(!t)return!1;var n=J(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function et(t,e){if(e===t.length-1)return 1;if(tt(t[e],X,j)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return tt(n,127995,127999)||tt(i,K,Z)&&tt(n,K,Z)?4:tt(n,Q,$)?3:2}return tt(t[e+1],Q,$)?2:1}var it,nt,st,rt={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=J(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=J(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},at=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),ot=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();ot.modules={},ot.wasmSupported=(it=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},st=nt={},function(){return st===nt&&(st=it()),st});var ht=function(){function t(){}return t.setConfig=function(t,e){var i=ot.getModule(t);i.config=e,i.callbacks.length>0&&ot.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=ot.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=ot.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&ot.initialize(t,i))},t}(),lt=function(){function t(t){this.arraybuffer=t,this.dataView=new DataView(t),this.offset=0,this.stack=[]}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},y(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}]),t}(),ct=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ut=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}S(e,t);var i=e.prototype;return i.add=function(){var t=!1,e=this._processArguments(arguments,!0);if(!e.length)return t;for(var i=0;i=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*_t.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),_t.lerp(t,e,_t.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=_t.intToBytes32(i):(e=_t.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ft=vt,vt.BLACK=Object.freeze(new ft(0,0,0,1)),vt.BLUE=Object.freeze(new ft(0,0,1,1)),vt.CYAN=Object.freeze(new ft(0,1,1,1)),vt.GRAY=Object.freeze(new ft(.5,.5,.5,1)),vt.GREEN=Object.freeze(new ft(0,1,0,1)),vt.MAGENTA=Object.freeze(new ft(1,0,1,1)),vt.RED=Object.freeze(new ft(1,0,0,1)),vt.WHITE=Object.freeze(new ft(1,1,1,1)),vt.YELLOW=Object.freeze(new ft(1,1,0,1));var gt,yt,xt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?_t.lerp(this._p0,this._p1,s):1===n?_t.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),St=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new xt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=p(t.keys,this.keys),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();gt=wt,wt.ZERO=Object.freeze(new gt(0,0,0)),wt.ONE=Object.freeze(new gt(1,1,1)),wt.UP=Object.freeze(new gt(0,1,0)),wt.DOWN=Object.freeze(new gt(0,-1,0)),wt.RIGHT=Object.freeze(new gt(1,0,0)),wt.LEFT=Object.freeze(new gt(-1,0,0)),wt.FORWARD=Object.freeze(new gt(0,0,-1)),wt.BACK=Object.freeze(new gt(0,0,1));var Tt,At=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,v=l*r-a*h,g=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*v;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=v*S,b[7]=g*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();yt=At,At.IDENTITY=Object.freeze(new yt),At.ZERO=Object.freeze((new yt).set([0,0,0,0,0,0,0,0,0]));var Ct,Et=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*_t.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*_t.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*_t.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Tt=Et,Et.ZERO=Object.freeze(new Tt(0,0)),Et.ONE=Object.freeze(new Tt(1,1)),Et.UP=Object.freeze(new Tt(0,1)),Et.DOWN=Object.freeze(new Tt(0,-1)),Et.RIGHT=Object.freeze(new Tt(1,0)),Et.LEFT=Object.freeze(new Tt(-1,0));var Mt,Pt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ct=Pt,Pt.ZERO=Object.freeze(new Ct(0,0,0,0)),Pt.ONE=Object.freeze(new Ct(1,1,1,1));var Rt,It=new Et,Lt=new wt,Dt=new wt,Ot=new wt,kt=new wt,Ft=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],v=a[8],g=a[9],y=a[10],x=a[11],S=a[12],b=a[13],w=a[14],T=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+v*s+S*r,h[1]=c*i+p*n+g*s+b*r,h[2]=u*i+m*n+y*s+w*r,h[3]=d*i+_*n+x*s+T*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+v*s+S*r,h[5]=c*i+p*n+g*s+b*r,h[6]=u*i+m*n+y*s+w*r,h[7]=d*i+_*n+x*s+T*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+v*s+S*r,h[9]=c*i+p*n+g*s+b*r,h[10]=u*i+m*n+y*s+w*r,h[11]=d*i+_*n+x*s+T*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+v*s+S*r,h[13]=c*i+p*n+g*s+b*r,h[14]=u*i+m*n+y*s+w*r,h[15]=d*i+_*n+x*s+T*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],v=r[12],g=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+v,o[13]=l*i+d*n+m*s+g,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Pt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ot.sub2(t,e).normalize(),Dt.copy(i).normalize(),Lt.cross(Dt,Ot).normalize(),Dt.cross(Ot,Lt);var n=this.data;return n[0]=Lt.x,n[1]=Lt.y,n[2]=Lt.z,n[3]=0,n[4]=Dt.x,n[5]=Dt.y,n[6]=Dt.z,n[7]=0,n[8]=Ot.x,n[9]=Ot.y,n[10]=Ot.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(It,e,i,n,r),this.setFrustum(-It.x,It.x,-It.y,It.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=_t.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],v=e[15],g=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,w=s*l-r*h,T=c*m-u*p,A=c*_-d*p,C=c*v-f*p,E=u*_-d*m,M=u*v-f*m,P=d*v-f*_,R=g*P-y*M+x*E+S*C-b*A+w*T;if(0===R)this.setIdentity();else{var I=1/R,L=this.data;L[0]=(o*P-h*M+l*E)*I,L[1]=(-n*P+s*M-r*E)*I,L[2]=(m*w-_*b+v*S)*I,L[3]=(-u*w+d*b-f*S)*I,L[4]=(-a*P+h*C-l*A)*I,L[5]=(i*P-s*C+r*A)*I,L[6]=(-p*w+_*x-v*y)*I,L[7]=(c*w-d*x+f*y)*I,L[8]=(a*M-o*C+l*T)*I,L[9]=(-i*M+n*C-r*T)*I,L[10]=(p*b-m*x+v*g)*I,L[11]=(-c*b+u*x-f*g)*I,L[12]=(-a*E+o*A-h*T)*I,L[13]=(i*E-n*A+s*T)*I,L[14]=(-p*S+m*y-_*g)*I,L[15]=(c*S-u*y+d*g)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,v=s*d,g=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+g))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+g))*h,b[6]=(v+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(v-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new wt),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new wt),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new wt),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new wt),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new wt),this.getX(Lt),this.getY(Dt),this.getZ(Ot),t.set(Lt.length(),Dt.length(),Ot.length()),t},e.setFromEulerAngles=function(t,e,i){t*=_t.DEG_TO_RAD,e*=_t.DEG_TO_RAD,i*=_t.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new wt),this.getScale(kt);var e=kt.x,i=kt.y,n=kt.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(_t.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},y(t,[{key:"scaleSign",get:function(){return this.getX(Lt),this.getY(Dt),this.getZ(Ot),Lt.cross(Lt,Dt),Lt.dot(Ot)<0?-1:1}}]),t}();Mt=Ft,Ft.IDENTITY=Object.freeze(new Mt),Ft.ZERO=Object.freeze((new Mt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Bt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(_t.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*_t.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof wt){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*_t.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i,n,s,r,a,o,h,l,c,u,d,f,p;if(e=(t=t.data)[0],i=t[1],n=t[2],s=t[4],r=t[5],a=t[6],o=t[8],h=t[9],l=t[10],0===(d=e*e+i*i+n*n))return this;if(d=1/Math.sqrt(d),0===(f=s*s+r*r+a*a))return this;if(f=1/Math.sqrt(f),0===(p=o*o+h*h+l*l))return this;i*=d,n*=d,s*=f,a*=f,o*=p=1/Math.sqrt(p),h*=p;var m=(e*=d)+(r*=f)+(l*=p);return m>=0?(c=Math.sqrt(m+1),this.w=.5*c,c=.5/c,this.x=(a-h)*c,this.y=(o-n)*c,this.z=(i-s)*c):e>r?e>l?(u=e-(r+l)+1,u=Math.sqrt(u),this.x=.5*u,u=.5/u,this.w=(a-h)*u,this.y=(i+s)*u,this.z=(n+o)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u):r>l?(u=r-(l+e)+1,u=Math.sqrt(u),this.y=.5*u,u=.5/u,this.w=(o-n)*u,this.z=(a+h)*u,this.x=(s+i)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u),this},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Rt=Bt,Bt.IDENTITY=Object.freeze(new Rt(0,0,0,1)),Bt.ZERO=Object.freeze(new Rt(0,0,0,0));var Ut=new wt,Nt=new wt,zt=new wt,Vt=new wt,Gt=new wt,Ht=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=new wt(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new wt,this._max=new wt,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,v=m.y,g=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,w=_-x,T=_+x,A=v-S,C=v+S,E=g-b,M=g+b;wc&&(c=T),Ad&&(d=C),Ep&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Ut.copy(this.getMin()).sub(t.origin),n=Nt.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=zt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Vt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Ut,i=Nt,n=zt,s=Vt,r=Gt,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var v=1/Math.sqrt(m);l*=v,c*=v,u*=v}if((m=d*d+f*f+p*p)>0){var g=1/Math.sqrt(m);d*=g,f*=g,p*=g}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Ut,Nt,i),this.setMinMax(Ut,Nt)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Ut.add2(this.getMin(),t),Nt.add2(this.getMax(),e),this.setMinMax(Ut,Nt)},t}(),Wt=new wt,Xt=new wt,jt=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Wt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Wt.sub2(t.center,this.center);var e=t.radius+this.radius;return Wt.lengthSq()<=e*e},t}(),qt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),Yt=function(){function t(t,e){this.origin=new wt,this.direction=wt.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Kt=new Yt,Zt=new wt,Qt=new jt,$t=new Ft,Jt=function(){function t(t,e){void 0===t&&(t=new Ft),void 0===e&&(e=new wt(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new Ht(new wt,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Kt.origin),this._modelTransform.transformVector(t.direction,Kt.direction),e){var i=this._aabb._intersectsRay(Kt,e);return $t.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Kt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,Zt),this._aabb.containsPoint(Zt)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,Qt.center),Qt.radius=t.radius,!!this._aabb.intersectsBoundingSphere(Qt)},y(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}]),t}(),te=function(){function t(t,e){void 0===t&&(t=wt.UP),void 0===e&&(e=0),this.normal=new wt,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),ee="linear",ie="inverse",ne="exponential",se=0,re=10,ae=11,oe=12,he=13,le=14,ce=15,ue=16,de=17,fe=18,pe=21,me=24,_e=25,ve=26,ge=27,ye=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[ae,{name:"RGB16F",size:8}],[oe,{name:"RGBA16F",size:8}],[he,{name:"RGB32F",size:16}],[le,{name:"RGBA32F",size:16}],[ce,{name:"R32F",size:4}],[ue,{name:"DEPTH",size:4}],[de,{name:"DEPTHSTENCIL",size:4}],[fe,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[re,{name:"DXT5",blockSize:16}],[pe,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[me,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[_e,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[ve,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[ge,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}]]),xe=function(t){return void 0!==ye.get(t).blockSize},Se=function(t){switch(t){case he:case le:return Float32Array;case 3:case 4:case 5:case ae:case oe:return Uint16Array;default:return Uint8Array}},be=5,we="POSITION",Te="NORMAL",Ae="TANGENT",Ce="BLENDWEIGHT",Ee="BLENDINDICES",Me="COLOR",Pe="TEXCOORD",Re="TEXCOORD0",Ie="TEXCOORD1",Le="TEXCOORD2",De="TEXCOORD3",Oe="TEXCOORD4",ke="TEXCOORD5",Fe="TEXCOORD6",Be="TEXCOORD7",Ue="ATTR",Ne="ATTR0",ze="ATTR1",Ve="ATTR2",Ge="ATTR3",He="ATTR4",We="ATTR5",Xe="ATTR6",je="ATTR7",qe="ATTR8",Ye="ATTR9",Ke="ATTR10",Ze="ATTR11",Qe="ATTR12",$e="ATTR13",Je="ATTR14",ti="ATTR15",ei="default",ii="rgbm",ni="rgbe",si="rgbp",ri="swizzleGGGR",ai="2d",oi="2d-array",hi="cube",li="3d",ci="none",ui="cube",di="equirect",fi="octahedral",pi="wgsl",mi=1,_i=13,vi=14,gi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bec2","bec3","bec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","",""],yi="webgl1",xi="webgl2",Si="webgpu",bi="null",wi=["mesh","view"],Ti="default",Ai=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array],Ci=[1,1,2,2,4,4,4],Ei={Int8Array:0,Uint8Array:mi,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},Mi=[Uint8Array,Uint16Array,Uint32Array],Pi=[1,2,4],Ri={};Ri[we]=0,Ri[Te]=1,Ri[Ce]=2,Ri[Ee]=3,Ri[Me]=4,Ri[Re]=5,Ri[Ie]=6,Ri[Le]=7,Ri[De]=8,Ri[Oe]=9,Ri[ke]=10,Ri[Fe]=11,Ri[Be]=12,Ri[Ae]=13,Ri[Ne]=0,Ri[ze]=1,Ri[Ve]=2,Ri[Ge]=3,Ri[He]=4,Ri[We]=5,Ri[Xe]=6,Ri[je]=7,Ri[qe]=8,Ri[Ye]=9,Ri[Ke]=10,Ri[Ze]=11,Ri[Qe]=12,Ri[$e]=13,Ri[Je]=14,Ri[ti]=15;var Ii,Li,Di="1.65",Oi=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},Fi=function(t,e,i){void 0===i&&(i=1);var n=i<>>0}var Ki,Zi=function(){function t(){this.map=new Map,this.id=0}return t.prototype.get=function(t){var e=this.map.get(t);return void 0===e&&(e=this.id++,this.map.set(t,e)),e},t}(),Qi=new Zi,$i=[2,4,8,12,16],Ji=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Ci[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?_:1),this.autoResolve=null==(a=t.autoResolve)||a,this.name=t.name,this.name)||(this.name=null==(p=this._colorBuffer)?void 0:p.name);this.name||(this.name=null==(m=this._depthBuffer)?void 0:m.name);this.name||(this.name="Untitled"),this.flipY=null!=(o=t.flipY)&&o,this.validateMrt(),this.impl=f.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},y(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}]),t}(),an=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=0;return e.uniformBuffers.forEach((function(t){var e=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:s++,resource:{buffer:e,offset:0,size:t.format.byteSize}})})),e.textures.forEach((function(e,r){var a=e.impl,o=n.textureFormats[r],h=a.getView(t);i.push({binding:s++,resource:h});var l=a.getSampler(t,o.sampleType);i.push({binding:s++,resource:l})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),on=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),hn=[];hn[0]="filtering",hn[1]="non-filtering",hn[2]="comparison";var ln=[];ln[0]="float",ln[1]="unfilterable-float",ln[2]="depth";var cn=new Zi,un=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=cn.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.getTextureSlot=function(t,e){return t.bufferFormats.length+2*e},e.createDescriptor=function(t){var e=[],i="",n=0;return t.bufferFormats.forEach((function(t){var s=on.shaderStage(t.visibility);i+="#"+n+"U:"+s,e.push({binding:n++,visibility:s,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var s=on.shaderStage(t.visibility),r=t.sampleType,a=t.textureDimension,o=ln[r];i+="#"+n+"T:"+s+"-"+o+"-"+a+"-false",e.push({binding:n++,visibility:s,texture:{sampleType:o,viewDimension:a,multisampled:false}});var h=hn[r];i+="#"+n+"S:"+s+"-"+h,e.push({binding:n++,visibility:s,sampler:{type:h}})})),{key:i,descr:{entries:e}}},t}(),dn=function(){function t(){this.buffer=null}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.unlock=function(t,e,i,n){var s,r,a=t.wgpu;if(!this.buffer){var o=n.byteLength+3&-4;this.buffer=t.wgpu.createBuffer({size:o,usage:i|GPUBufferUsage.COPY_DST})}var h=null!=(s=n.byteOffset)?s:0,l=new Uint8Array(null!=(r=n.buffer)?r:n,h,n.byteLength),c=new Uint8Array(this.buffer.size);c.set(l),a.queue.writeBuffer(this.buffer,0,c,0,c.length)},y(t,[{key:"initialized",get:function(){return!!this.buffer}}]),t}(),fn=function(t){function e(e){var i;return(i=t.call(this)||this).format=null,i.format=1===e.format?"uint16":"uint32",i}return S(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.usage,GPUBufferUsage.INDEX,e.storage)},e}(dn),pn=function(t,e){if(t.size!==e.size)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),gn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],yn=["add","subtract","reverse-subtract","min","max"],xn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],Sn=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],bn=["none","back","front"],wn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Tn=[],An=function(){this.pipeline=void 0,this.hashes=void 0},Cn=function(){function t(t){this.lookupHashes=new Uint32Array(13),this.device=t,this.vertexBufferLayout=new vn,this.cache=new Map}var e=t.prototype;return e.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,v,g,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(v=r[1])?void 0:v.key)?_:0,x[10]=null!=(g=null==(y=r[2])?void 0:y.key)?g:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=Yi(x),b=this.cache.get(S);if(b)for(var w=0;w0){f.fragment={module:d.getFragmentShaderModule(),entryPoint:d.fragmentEntryPoint,targets:[]};var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},t}(),En=new Zi,Mn=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),Pn=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=En.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new Mn),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s>e,1)},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=ye.get(n),h=null!=(s=null==(r=ye.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==me&&n!==_e||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),Zn=[];Zn[0]="",Zn[1]="r8unorm",Zn[2]="rg8unorm",Zn[3]="",Zn[4]="",Zn[5]="",Zn[6]="rgba8unorm",Zn[7]="rgba8unorm",Zn[8]="bc1-rgba-unorm",Zn[9]="bc2-rgba-unorm",Zn[10]="bc3-rgba-unorm",Zn[11]="",Zn[12]="rgba16float",Zn[13]="",Zn[14]="rgba32float",Zn[15]="r32float",Zn[16]="depth32float",Zn[17]="depth24plus-stencil8",Zn[18]="rg11b10ufloat",Zn[19]="",Zn[20]="",Zn[21]="",Zn[22]="etc2-rgb8unorm",Zn[23]="etc2-rgba8unorm",Zn[24]="",Zn[25]="",Zn[26]="",Zn[27]="",Zn[28]="astc-4x4-unorm",Zn[29]="",Zn[30]="",Zn[31]="bgra8unorm";var Qn=[];Qn[0]="repeat",Qn[1]="clamp-to-edge",Qn[2]="mirror-repeat";var $n=[];$n[0]={level:"nearest",mip:"nearest"},$n[1]={level:"linear",mip:"nearest"},$n[2]={level:"nearest",mip:"nearest"},$n[3]={level:"nearest",mip:"linear"},$n[4]={level:"linear",mip:"nearest"},$n[5]={level:"linear",mip:"linear"};var Jn=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=Zn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|(xe(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|GPUTextureUsage.COPY_SRC},this.gpuTexture=n.createTexture(this.descr),this.texture.format===de&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:Qn[n.addressU],addressModeV:Qn[n.addressV],addressModeW:Qn[n.addressW]};!e&&n.compareOnRead&&(e=2),2===e?(s.compare="less",s.magFilter="linear",s.minFilter="linear"):1===e||this.texture.format===le||this.texture.format===de||this.texture.format===oe?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=$n[n.magFilter].level,s.minFilter=$n[n.minFilter].level,s.mipmapFilter=$n[n.minFilter].mip);var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?_t.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=e.requiredMipLevels,s=0;s<=|&+-]/g,us=function(){function t(){}return t.run=function(t,e){void 0===e&&(e=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var i=new Map;if(e){var n=new Map,s=t.match(/(pcFragColor[1-8])\b/g);null==s||s.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);n.set(i,(null!=(e=n.get(i))?e:0)+1)})),n.forEach((function(t,e){1===t&&i.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,i);var r=new Map;return i.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&r.set(e,t)})),null!==t&&(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).map((function(t){return r.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t})).join("\n"),t=t.replace(/(\n\n){3,}/gm,"\n\n")),t},t._preprocess=function(e,i){void 0===i&&(i=new Map);for(var n,s=e,r=[],a=!1;null!==(n=is.exec(e));){var o=n[1];switch(o){case"define":ns.lastIndex=n.index;var h=ns.exec(e);a||(a=null===h);var l=h[1];hs.lastIndex=h.index;var c=hs.exec(l)[1],u=l.substring(c.length).trim();""===u&&(u="true"),t._keep(r)&&i.set(c,u),is.lastIndex=h.index+h[0].length;break;case"undef":rs.lastIndex=n.index;var d=rs.exec(e),f=d[1].trim();t._keep(r)&&i.delete(f),is.lastIndex=d.index+d[0].length;break;case"extension":ss.lastIndex=n.index;var p=ss.exec(e);if(a||(a=null===p),p){var m=p[1];t._keep(r)&&i.set(m,"true")}is.lastIndex=p.index+p[0].length;break;case"ifdef":case"ifndef":case"if":as.lastIndex=n.index;var _=as.exec(e),v=_[2],g=t.evaluate(v,i);a||(a=g.error);var y=g.result;"ifndef"===o&&(y=!y),r.push({anyKeep:y,keep:y,start:n.index,end:as.lastIndex}),is.lastIndex=_.index+_[0].length;break;case"endif":case"else":case"elif":os.lastIndex=n.index;var x=os.exec(e),S=r.pop(),b=S.keep?e.substring(S.end,n.index):"";e=e.substring(0,S.start)+b+e.substring(os.lastIndex),is.lastIndex=S.start+b.length;var w=x[1];if("else"===w||"elif"===w){var T=!1;if(!S.anyKeep)if("else"===w)T=!S.keep;else{var A=t.evaluate(x[2],i);T=A.result,a||(a=A.error)}r.push({anyKeep:S.anyKeep||T,keep:T,start:is.lastIndex,end:is.lastIndex})}}}return a?(console.warn("Failed to preprocess shader: ",{source:s}),s):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),E.get(l))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setDepthBias=function(t){},n.setDepthBiasValues=function(t,e){},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(nn),Is=0,Ls=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,v,g,y,x,S;(void 0===e&&(e={}),this.name=void 0,this._isRenderTarget=!1,this._gpuSize=0,this.id=Is++,this._invalid=!1,this._lockedLevel=-1,this.renderVersionDirty=0,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=xe(this._format),t.supportsVolumeTextures)?(this._volume=null!=(x=e.volume)&&x,this._depth=Math.floor(null!=(S=e.depth)?S:1)):(this._volume=!1,this._depth=1);this._cubemap=null!=(a=e.cubemap)&&a,this.fixCubemapSeams=null!=(o=e.fixCubemapSeams)&&o,this._flipY=null!=(h=e.flipY)&&h,this._premultiplyAlpha=null!=(l=e.premultiplyAlpha)&&l,this._mipmaps=null==(c=null!=(u=e.mipmaps)?u:e.autoMipmap)||c,this._minFilter=null!=(d=e.minFilter)?d:5,this._magFilter=null!=(f=e.magFilter)?f:1,this._anisotropy=null!=(p=e.anisotropy)?p:1,this._addressU=null!=(m=e.addressU)?m:0,this._addressV=null!=(_=e.addressV)?_:0,this._addressW=null!=(v=e.addressW)?v:0,this._compareOnRead=null!=(g=e.compareOnRead)&&g,this._compareFunc=null!=(y=e.compareFunc)?y:1,this.type=ei,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?ii:ei:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?ri:ei),this.projection=ci,this._cubemap?this.projection=ui:e.projection&&e.projection!==ui&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=t,this._height=e,this._depth=i,this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){void 0===t&&(t={}),void 0===t.level&&(t.level=0),void 0===t.face&&(t.face=0),void 0===t.mode&&(t.mode=2),this._lockedLevel=t.level;var e=this.cubemap?this._levels[t.face]:this._levels;if(null===e[t.level]){var i=Math.max(1,this._width>>t.level),n=Math.max(1,this._height>>t.level),s=Math.max(1,this._depth>>t.level),r=new ArrayBuffer(Kn.calcLevelGpuSize(i,n,s,this._format));e[t.level]=new(Se(this._format))(r)}return e[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedLevel,this.upload(),this._lockedLevel=-1},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=v(m().mark((function t(){var e,i,n,s=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=m().mark((function t(){var i,r,a,o;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new rn({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),y(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?Math.floor(Math.log2(Math.max(this.width,this.height)))+1:1}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(this._minFilter=t,this.propertyChanged(1))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(this._magFilter=t,this.propertyChanged(2))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this._mipmaps=t,this.device.isWebGPU,t&&(this._needsMipmapsUpload=!0))}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return Kn.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return _t.powerOfTwo(this._width)&&_t.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case ii:return"rgbm";case ni:return"rgbe";case si:return"rgbp";default:return this.format===ae||this.format===he||this.format===oe||this.format===le?"linear":"srgb"}}}]),t}(),Ds=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s,r=t.gl;switch(this.bufferId||(this.bufferId=r.createBuffer()),e){case 0:s=r.STATIC_DRAW;break;case 1:s=r.DYNAMIC_DRAW;break;case 2:s=r.STREAM_DRAW;break;case 3:s=t.isWebGL2?r.DYNAMIC_COPY:r.STATIC_DRAW}r.bindBuffer(i,this.bufferId),r.bufferData(i,n,s)},y(t,[{key:"initialized",get:function(){return!!this.bufferId}}]),t}(),Os=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var js=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=Xs(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else e._volume?(s=1/Math.pow(2,r),e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n))):(t._isBrowserInterface(n)?(t._isImageBrowserInterface(n)&&(n.width>t.maxTextureSize||n.height>t.maxTextureSize)&&(n=Xs(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height)),t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n)):(s=1/Math.pow(2,r),e._compressed?i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n))),e._mipmapsUploaded=0!==r);r++}else r++;if(e._needsUpload)if(e._cubemap)for(var c=0;c<6;c++)e._levelsUpdated[0][c]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize)}},t}(),qs=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),Ys=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var v=i.createRenderbuffer();this._glMsaaColorBuffers.push(v);var g=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,v),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,g,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,v)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s),o=er[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++),n=t.indexOf("attribute",n+1)}return e},t}(),nr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),sr=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new nr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f0;var g=s.vertexUniformsCount;return g-=16,g-=8,g-=1,g-=16,s.boneLimit=Math.floor(g/3),s.boneLimit=Math.min(s.boneLimit,128),"Mali-450 MP"===s.unmaskedRenderer&&(s.boneLimit=34),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=hr(a,a.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=hr(a,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=oe:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=le),s.postInit(),s}S(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new sr(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new rn({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new Os},n.createIndexBufferImpl=function(t){return new ks(t)},n.createShaderImpl=function(t){return new Ws(t)},n.createTextureImpl=function(t){return new js},n.createRenderTargetImpl=function(t){return new Ys},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,rr)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,_t.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?u.drawElementsInstanced(S,b,T,A,e):u.drawElements(S,b,T,A)}else{var C=t.base;e>0?u.drawArraysInstanced(S,C,b,e):u.drawArrays(S,C,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(u.endTransformFeedback(),u.bindBufferBase(u.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(Ui.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(Ni.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m)}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=v(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return _.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setDepthBias=function(t){this.depthBiasEnabled!==t&&(this.depthBiasEnabled=t,t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL))},n.setDepthBiasValues=function(t,e){this.gl.polygonOffset(e,t)},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=en.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=en.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(t===se)this.gl.disable(this.gl.CULL_FACE);else{this.cullMode===se&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t){if(t!==this.shader){if(t.failed)return!1;if(!t.ready&&!t.impl.finalize(this,t))return t.failed=!0,!1;this.shader=t,this.gl.useProgram(t.impl.glProgram),this.attributesInvalidated=!0}return!0},n.getHdrFormat=function(t,e,i,n){var s=this.extTextureHalfFloat&&(!e||this.textureHalfFloatRenderable)&&(!i||this.textureHalfFloatUpdatable)&&(!n||this.extTextureHalfFloatLinear),r=this.extTextureFloat&&(!e||this.textureFloatRenderable)&&(!n||this.extTextureFloatLinear);return s&&r?t?le:oe:s?oe:r?le:null},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},y(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new fs(t,ir.createDefinition(t,{name:"ptest1",vertexCode:ar,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new fs(t,ir.createDefinition(t,{name:"ptest2",vertexCode:ar,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:le,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new Ls(t,n),r=new rn({colorBuffer:s,depth:!1});or(t,r,e),n.format=7;var a=new Ls(t,n),o=new rn({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),or(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}]),e}(nn),cr=function(){function t(){}return t.prototype.unlock=function(t){},t}(),ur=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),dr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),fr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),pr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),mr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=bi,n.samples=1,n}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.createVertexBufferImpl=function(t,e){return new pr(t,e)},i.createIndexBufferImpl=function(t){return new cr(t)},i.createShaderImpl=function(t){return new dr(t)},i.createTextureImpl=function(t){return new fr(t)},i.createRenderTargetImpl=function(t){return new ur(t)},i.draw=function(t,e,i){},i.setShader=function(t){return!0},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.startPass=function(t){},i.endPass=function(t){},i.clear=function(t){},i.setDepthBias=function(t){},i.setDepthBiasValues=function(t,e){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(nn);var _r=0,vr=function(){function t(t,e,i,n,s){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=_r++,this.impl=t.createIndexBufferImpl(this);var r=Pi[e];this.bytesPerIndex=r,this.numBytes=this.numIndices*r,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),Yr()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"===i.type||"mouseup"===i.type?this.button=i.button:this.button=-1,this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=i.ctrlKey||!1,this.altKey=i.altKey||!1,this.shiftKey=i.shiftKey||!1,this.metaKey=i.metaKey||!1,this.event=i},Zr=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._upHandler=i._handleUp.bind(w(i)),i._downHandler=i._handleDown.bind(w(i)),i._moveHandler=i._handleMove.bind(w(i)),i._wheelHandler=i._handleWheel.bind(w(i)),i._contextMenuHandler=function(t){t.preventDefault()},i._target=null,i._attached=!1,i.attach(e),i}S(e,t),e.isPointerLocked=function(){return Yr()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),e&&document.addEventListener("pointerlockerror",(function t(){e(),document.removeEventListener("pointerlockerror",t)}),!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new Kr(this,t);e.event&&this.fire(Ur,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new Kr(this,t);e.event&&this.fire(Fr,e)},i._handleMove=function(t){var e=new Kr(this,t);e.event&&(this.fire(Br,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new Kr(this,t);e.event&&this.fire(Nr,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P),Qr=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,this._element=null,this._actions={},this._axes={},this._axesValues={},t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:Or,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:Dr,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:kr,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(Br,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(Br,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new Zr,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new qr,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),$r=Object.freeze([]),Jr=function(){return $r};"undefined"!=typeof navigator&&(Jr=(navigator.getGamepads||navigator.webkitGetGamepads||Jr).bind(navigator));var ta={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},ea={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},ia={"Product: 0268":"PS3"},na={};function sa(t){var e=na[t.id];if(e)return e;for(var i in ia)if(-1!==t.id.indexOf(i)){var n=ia[i];if(!t.mapping){var s=ea["RAW_"+n];if(s)return s}return ea[n]}if("xr-standard"===t.mapping)return ea.DEFAULT_XR;var r=ea.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),ha=Object.freeze(new oa(0)),la=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new oa(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=ta.axes,r=ta.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;ara?e:0},y(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}]),t}(),ca=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(w(e)),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(w(e)),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}S(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new la(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(zr,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(Vr,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=Jr(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===ee?o=1-s*(a-i)/(n-i):r===ie?o=i/(i+s*(a-i)):r===ne&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var Sa=function(){function t(t){this._manager=t,this.position=new wt,this.velocity=new wt,this.orientation=new Ft}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},y(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}]),t}(),ba="running",wa=["click","touchstart","mousedown"],Ta=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(w(e)),e._userSuspended=!1,e.listener=new Sa(w(e)),e._volume=1,e}S(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===ba&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==ba&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return ga&&(i=new ga(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return ya&&((n=new ya(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===ba||this._resume()},i._registerUnlockListeners=function(){var t=this;wa.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;wa.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},y(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==ba&&this._registerUnlockListeners()),this._context}}]),e}(P),Aa=function(){function t(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}return y(t,[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]),t}();function Ca(t,e){return t%e||0}var Ea=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,va()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(w(s))):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(w(s)),s._timeUpdateHandler=s._onTimeUpdate.bind(w(s)),s._endedHandler=s._onEnded.bind(w(s)),s._createSource()),s}S(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=Ca(this._startOffset,this.duration);t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=Ca(this._startOffset,this.duration),t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=Ca(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,Ca(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=Ca((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},y(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?Ca(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}]),e}(P);va()||(Object.assign(Ea.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=Ca(this._startOffset,this.duration);t=Ca(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>Ca(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=Ca(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(Ea.prototype,"volume",{get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(Ea.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(Ea.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(Ea.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=Ca(this._startTime+Ca(t,this.duration),this._sound.duration),this._startOffset=null))}}));var Ma=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new wt,s._velocity=new wt,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:ee,s}return S(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},y(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}]),e}(Ea);if(!va()){var Pa=new wt;Object.defineProperty(Ma.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(Pa=Pa.sub2(t,e)).length();if(an)return 0;var o=0;return r===ee?o=1-s*(a-i)/(n-i):r===ie?o=i/(i+s*(a-i)):r===ne&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(Ma.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(Ma.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(Ma.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(Ma.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var Ra="none",Ia="linear",La={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},Da="mul",Oa=32,ka=128,Fa=256,Ba=512,Ua=1024,Na=2048,za=4096,Va=8192,Ga=function(){function t(){this._refCount=0}var e=t.prototype;return e.incRefCount=function(){this._refCount++},e.decRefCount=function(){this._refCount--},y(t,[{key:"refCount",get:function(){return this._refCount}}]),t}(),Ha=function(){function t(){}return t.set=function(e){t._graphicsDevice=e},t.get=function(){return t._graphicsDevice},t}();Ha._graphicsDevice=null;var Wa=0,Xa=function(){function t(){this.initDefaults()}var e=t.prototype;return e.initDefaults=function(){this.recreate=!1,this.verticesUsage=0,this.indicesUsage=0,this.maxVertices=0,this.maxIndices=0,this.vertexCount=0,this.indexCount=0,this.vertexStreamsUpdated=!1,this.indexStreamUpdated=!1,this.vertexStreamDictionary={},this.indices=null},e._changeVertexCount=function(t,e){this.vertexCount||(this.vertexCount=t)},t}();Xa.DEFAULT_COMPONENTS_POSITION=3,Xa.DEFAULT_COMPONENTS_NORMAL=3,Xa.DEFAULT_COMPONENTS_UV=2,Xa.DEFAULT_COMPONENTS_COLORS=4;var ja=function(t,e,i,n){this.data=t,this.componentCount=e,this.dataType=i,this.dataTypeNormalize=n},qa=function(t){function e(e){var i;return(i=t.call(this)||this)._aabbVer=0,i.id=Wa++,i.device=e||Ha.get(),i.vertexBuffer=null,i.indexBuffer=[null],i.primitive=[{type:0,base:0,count:0}],i.skin=null,i._morph=null,i._geometryData=null,i._aabb=new Ht,i.boneAabb=null,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this.morph;t&&(this.morph=null,t.refCount<1&&t.destroy()),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);for(var e=0;e0){var S=v.array[v.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>w&&(r.y=w),r.z>T&&(r.z=T),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r){void 0===s&&(s=6),void 0===r&&(r=!1),this._initGeometryData();var a=n||e.length/i;this._geometryData._changeVertexCount(a,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new ja(e,i,s,r)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new Lr(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(we,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(Te,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=Xa.DEFAULT_COMPONENTS_UV),this.setVertexStream(Pe+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=Xa.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Me,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Me,t,Xa.DEFAULT_COMPONENTS_COLORS,e,mi,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(we,t)},i.getNormals=function(t){return this.getVertexStream(Te,t)},i.getUvs=function(t,e){return this.getVertexStream(Pe+t,e)},i.getColors=function(t){return this.getVertexStream(Me,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[we];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize})}return new Ji(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new ji(this.device,e,t,this._geometryData.verticesUsage)}var i=new Lr(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices>65535?2:1;this.indexBuffer[0]=new vr(this.device,t,this._geometryData.maxIndices,this._geometryData.indicesUsage)}var e=this._geometryData.indices;e&&(this.indexBuffer[0].writeData(e,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new Mi[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new vr(this.vertexBuffer.device,t,i.length);new Mi[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},y(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}]),e}(Ga),Ya=4/64,Ka=1-2*Ya,Za=[];function Qa(t,e){for(var i=e.length/3,n=t.length/3,s=new wt,r=new wt,a=new wt,o=new wt,h=new wt,l=new wt,c=[],u=0;u0)for(var g=0;g<=n;g++)for(var y=0;y<=s;y++){var x=y/s*2*Math.PI-Math.PI,S=Math.sin(x),b=Math.cos(x);u.set(S*t,-i/2,b*t),c.set(S*e,i/2,b*e),o.lerp(u,c,g/n),h.sub2(c,u).normalize(),d.set(b,0,-S),l.cross(d,h).normalize(),f.push(o.x,o.y,o.z),p.push(l.x,l.y,l.z);var w=y/s,T=g/n;m.push(w,1-T);var A=T;if(T=w,w=(w=A)*Ka+Ya,T=T*Ka+Ya,w/=3,_.push(w,1-T),g0)for(var ut=0;ut1&&v.push(a,a+ut,a+ut-1)}if(a+=s,e>0)for(var gt=0;gt1&&v.push(a,a+gt-1,a+gt)}}return{positions:f,normals:p,uvs:m,uvs1:_,indices:v}}function io(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20,u=null!=(a=e.calculateTangents)&&a,d=eo(o,o,h,l,c,!1);return u&&(d.tangents=$a(d.positions,d.normals,d.uvs,d.indices)),Ja(t,d.positions,d)}function no(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20,u=null!=(a=e.calculateTangents)&&a,d=eo(o,o,h-2*o,l,c,!0);return u&&(d.tangents=$a(d.positions,d.normals,d.uvs,d.indices)),Ja(t,d.positions,d)}function so(t,e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18,f=null!=(o=e.calculateTangents)&&o,p=eo(h,l,c,u,d,!1);return f&&(p.tangents=$a(p.positions,p.normals,p.uvs,p.indices)),Ja(t,p.positions,p)}function ro(t,e){var i,n,s,r;void 0===e&&(e={});for(var a=null!=(i=e.radius)?i:.5,o=null!=(n=e.latitudeBands)?n:16,h=null!=(s=e.longitudeBands)?s:16,l=null!=(r=e.calculateTangents)&&r,c=[],u=[],d=[],f=[],p=0;p<=o;p++)for(var m=p*Math.PI/o,_=Math.sin(m),v=Math.cos(m),g=0;g<=h;g++){var y=2*g*Math.PI/h-Math.PI/2,x=Math.sin(y),S=Math.cos(y)*_,b=v,w=x*_,T=1-g/h,A=1-p/o;c.push(S*a,b*a,w*a),u.push(S,b,w),d.push(T,1-A)}for(var C=0;C shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_albedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:po,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:mo,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:Ks,gles3PS:Zs,gles3VS:Qs,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = cross(V1, V2);\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix, emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos, frameRandom, localVelocityDivMult, velocityDivMult;\nuniform float delta, rate, rateDiv, lifetime, numParticles, rotSpeedDivMult, radialSpeedDivMult, seed;\nuniform float startAngle, startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(internalTex0, vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(internalTex1, vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(internalTex3, vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles, numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale, emitterPos, faceTangent, faceBinorm;\nuniform float rate, rateDiv, lifetime, deltaRandomnessStatic, scaleDivMult, alphaDivMult, seed, delta;\nuniform sampler2D particleTexOUT, particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSphereLowPS:"\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = vNormalV;\n\tvec2 sphereMapUv = reflDirV.xy * 0.5 + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * thickness * modelScale;\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec4 params;\nuniform vec2 params2;\nfloat targetFace() { return params.x; }\nfloat specularPower() { return params.y; }\nfloat sourceCubeSeamScale() { return params.z; }\nfloat targetCubeSeamScale() { return params.w; }\nfloat targetTotalPixels() { return params2.x; }\nfloat sourceTotalPixels() { return params2.y; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+po+"\n"+mo+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(sampler2D tex, vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\nvoid main(void) {\n\tvec3 dir=vViewDir;\n\tdir.x *= -1.0;\n\tvec3 linear = $DECODE(textureCube(texture_cubeMap, fixSeamsStatic(dir, $FIXCONST)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\nvoid main(void) {\n\tmat4 view = matrix_view;\n\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\tgl_Position.z = gl_Position.w - 0.00001;\n\tvViewDir = aPosition * cubeMapRotationMatrix;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:$s,webgpuVS:Js},vo=new Bs;function go(t){return vo.get(t)}function yo(t,e){vo.get(t,(function(){return e}))}var xo=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return e||(e=_o),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return e||(e=_o),"linear"===t?e.fogLinearPS?e.fogLinearPS:_o.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:_o.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:_o.fogExp2PS:e.fogNonePS?e.fogNonePS:_o.fogNonePS},t.gammaCode=function(t,e){return e||(e=_o),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:_o.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:_o.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:_o.gamma1_0PS},t.tonemapCode=function(t,e){return e||(e=_o),1===t?e.tonemappingFilmicPS?e.tonemappingFilmicPS:_o.tonemappingFilmicPS:0===t?e.tonemappingLinearPS?e.tonemappingLinearPS:_o.tonemappingLinearPS:2===t?e.tonemappingHejlPS?e.tonemappingHejlPS:_o.tonemappingHejlPS:3===t?e.tonemappingAcesPS?e.tonemappingAcesPS:_o.tonemappingAcesPS:4===t?e.tonemappingAces2PS?e.tonemappingAces2PS:_o.tonemappingAces2PS:e.tonemapingNonePS?e.tonemapingNonePS:_o.tonemappingNonePS},t}();function So(t,e,i,n){return void 0===n&&(n=!1),new fs(t,ir.createDefinition(t,{name:e+"_"+i,vertexCode:_o[e],fragmentCode:_o[i],useTransformFeedback:n}))}function bo(t,e,i,n,s,r){void 0===r&&(r=!1);var a=go(t),o=a.getCachedShader(n);return o||(o=new fs(t,ir.createDefinition(t,{name:n,vertexCode:e,fragmentCode:i,attributes:s,useTransformFeedback:r})),a.setCachedShader(n,o)),o}var wo=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}S(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(xo);function To(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new wo(s,n),a="shader",o=go(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return o.unregister(a),h}_o.createShader=So,_o.createShaderFromCode=bo;var Ao={type:be,base:0,count:4,indexed:!1},Co=new Pt,Eo=new Pt,Mo=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new fo;this.shader=To(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new xs(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new ms(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(Co.set(n.vx,n.vy,n.vw,n.vh),Eo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Ao),t&&(n.setViewport(Co.x,Co.y,Co.z,Co.w),n.setScissor(Eo.x,Eo.y,Eo.z,Eo.w))},t}(),Po=new Pt;function Ro(t,e,i,n,s){t.setCullMode(se),t.setDepthState(Ni.NODEPTH),t.setStencilState(null,null);var r=new Mo(i);n||((n=Po).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new uo(t,(function(){r.render(n,s)}));a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var Io=new Bs,Lo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefine=void 0,this.name=t,this.index=e,Object.assign(this,i),this.initShaderDefines()}return t.prototype.initShaderDefines=function(){var t;this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK");var e=t?"#define "+t+"_PASS\n":"",i="#define "+this.name.toUpperCase()+"_PASS\n";this.shaderDefines=e+i},t}(),Do=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow")}t.get=function(e){return Io.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new Lo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Oo=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createShaderDefinition=function(t,e){var i={vertex_position:we};e.skin&&(i.vertex_boneWeights=Ce,i.vertex_boneIndices=Ee),e.vertexColors&&(i.vertex_color=Me),e.diffuseMap&&(i.vertex_texCoord0=Re);var n=Do.get(t).getByIndex(e.pass).shaderDefines,s=n;s+=_o.transformDeclVS,e.skin?(s+=xo.skinCode(t),s+=_o.transformSkinnedVS):s+=_o.transformVS,e.vertexColors&&(s+="attribute vec4 vertex_color;\n",s+="varying vec4 vColor;\n"),e.diffuseMap&&(s+="attribute vec2 vertex_texCoord0;\n",s+="varying vec2 vUv0;\n"),2===e.pass&&(s+="varying float vDepth;\n",s+="#ifndef VIEWMATRIX\n",s+="#define VIEWMATRIX\n",s+="uniform mat4 matrix_view;\n",s+="#endif\n",s+="#ifndef CAMERAPLANES\n",s+="#define CAMERAPLANES\n",s+="uniform vec4 camera_params;\n\n",s+="#endif\n"),s+=xo.begin(),s+=" gl_Position = getPosition();\n",2===e.pass&&(s+=" vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n"),e.vertexColors&&(s+=" vColor = vertex_color;\n"),e.diffuseMap&&(s+=" vUv0 = vertex_texCoord0;\n"),s+=xo.end();var r=n;return e.vertexColors?r+="varying vec4 vColor;\n":r+="uniform vec4 uColor;\n",e.diffuseMap&&(r+="varying vec2 vUv0;\n",r+="uniform sampler2D texture_diffuseMap;\n"),e.fog&&(r+=xo.fogCode(e.fog)),e.alphaTest&&(r+=_o.alphaTestPS),2===e.pass&&(r+="varying float vDepth;\n",r+=_o.packDepthPS),r+=xo.begin(),e.vertexColors?r+=" gl_FragColor = vColor;\n":r+=" gl_FragColor = uColor;\n",e.diffuseMap&&(r+=" gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n"),e.alphaTest&&(r+=" alphaTest(gl_FragColor.a);\n"),3!==e.pass&&(2===e.pass?r+=" gl_FragColor = packFloat(vDepth);\n":e.fog&&(r+=" glFragColor.rgb = addFog(gl_FragColor.rgb);\n")),r+=xo.end(),ir.createDefinition(t,{name:"BasicShader",attributes:i,vertexCode:s,fragmentCode:r})},e}(xo),ko=new Oo,Fo=new Bs;function Bo(t){return Fo.get(t)}var Uo=[];Uo[0]={src:1,dst:1,op:2},Uo[3]={src:1,dst:0,op:0},Uo[2]={src:6,dst:8,op:0},Uo[4]={src:1,dst:8,op:0},Uo[1]={src:1,dst:1,op:0},Uo[6]={src:6,dst:1,op:0},Uo[7]={src:4,dst:2,op:0},Uo[8]={src:5,dst:1,op:0},Uo[5]={src:4,dst:0,op:0},Uo[9]={src:1,dst:1,op:3},Uo[10]={src:1,dst:1,op:4};var No=0,zo=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=No++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new Ui,this._depthState=new Ni,this.cull=1,this.stencilFront=null,this.stencilBack=null,this.depthBias=0,this.slopeDepthBias=0,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new fo(a,o,h),u=go(t);return u.register("basic",ko),u.getProgram("basic",l,c,this.userId)},e}(zo),Go=function(){function t(t,e,i){this._aabb=new Ht,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2(Wo,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof wt?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Bt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof wt?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}]),t}();function xh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,v=p[0].layer,g=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var w=Ah(p[0]),T=p[0].mesh.vertexBuffer.format.batchingHash,A=p[0].mesh.primitive[0].indexed;c=null;for(var C=1;C=a){f=f.concat(p.slice(C));break}_!==E.material||v!==E.layer||T!==E.mesh.vertexBuffer.format.batchingHash||A!==E.mesh.primitive[0].indexed||g!==E._shaderDefs||S+E.mesh.vertexBuffer.getNumVertices()>o?m(E):(l.copy(h),l.add(E.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(E):(!x||(s=E.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&w===Ah(E)&&Sh(y,E.parameters)?n&&c&&c.intersects(E.aabb)&&E.drawOrder!==b?m(E):(h.add(E.aabb),S+=E.mesh.vertexBuffer.getNumVertices(),u[d].push(E)):m(E))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===we)for(var A=0;A0&&r.setIndices(S),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var I=new yh(r,p,this.rootNode);I.castShadow=h.origMeshInstances[0].castShadow,I.parameters=h.origMeshInstances[0].parameters,I.layer=h.origMeshInstances[0].layer,I._shaderDefs=h.origMeshInstances[0]._shaderDefs,I.cull=h.origMeshInstances[0].cull;var L=this._batchGroups[i];if(L&&L._ui&&(I.cull=!1),e){for(var D=[],O=0;O0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=ce,o=!1));var l=null!=(t=null==(e=r.renderTarget)?void 0:e.depthBuffer)?t:null==(i=r.renderTarget)?void 0:i.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,r.renderTarget,a,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Rh.forEach((function(t){return a.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(uo),Lh=new vt(254/255,254/255,254/255,254/255),Dh=[],Oh=[[],[],[]],kh=["uSceneDepthMap","uDepthMap"],Fh=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.releaseRenderTarget(this.renderTarget)},i.update=function(t){this.scene=t},i.shouldReallocate=function(t,e){var i=e.width,n=e.height;return!t||i!==t.width||n!==t.height},i.allocateRenderTarget=function(t,e,i){var n,s,r=new Ls(i,{name:kh[0],format:7,width:null!=(n=null==e?void 0:e.width)?n:this.device.width,height:null!=(s=null==e?void 0:e.height)?s:this.device.height,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});return t?(t.destroyFrameBuffers(),t._colorBuffer=r,t._colorBuffers=[r]):t=new rn({name:kh[0]+"RT}",colorBuffer:r,depth:!0,stencil:!1}),t},i.releaseRenderTarget=function(t){t&&(t.destroyTextureBuffers(),t.destroy())},i.before=function(){var t,e=this.camera,i=this.device,n=null!=(t=e.renderTarget)?t:i.backBuffer;if(this.shouldReallocate(this.renderTarget,n)){var s;null==(s=this.renderTarget)||s.destroyTextureBuffers();var r=this.allocateRenderTarget(this.renderTarget,e.renderTarget,i);this.renderTarget?this.renderTarget=r:(this.init(r),this.setClearColor(Lh),this.setClearDepth(1))}var a=this.renderTarget.colorBuffer;kh.forEach((function(t){return i.scope.resolve(t).setValue(a)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&0!=(n&Fa),t.skin=n&&0!=(2&n),t.useInstancing=n&&0!=(n&Oa),t.useMorphPosition=n&&0!=(n&Ua),t.useMorphNormal=n&&0!=(n&Na),t.useMorphTextureBased=n&&0!=(n&za),t.hasTangents=n&&0!=(n&Ba),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n&&(1!==i.skyboxIntensity||i.physicalUnits),t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];0!==e.lights.length&&0==(1&n)||(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-Kh*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-Kh*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-Kh*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=_t.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),Jh=new Ft,tl=new Ft,el=new Ft,il=function(){function t(){}return t.create=function(e,i,n){var s=new Gh;switch(s.node=new hh(e),s.aspectRatio=1,s.aspectRatioMode=1,s._scissorRectClear=!0,i){case 1:s.node.setRotation(t.pointLightRotations[n]),s.fov=90,s.projection=0;break;case 2:s.projection=0;break;case 0:s.projection=1}return s},t.evalSpotCookieMatrix=function(e){var i=t._spotCookieCamera;i||(i=t.create("SpotCookieCamera",2),t._spotCookieCamera=i),i.fov=2*e._outerConeAngle;var n=i._node;n.setPosition(e._node.getPosition()),n.setRotation(e._node.getRotation()),n.rotateLocal(-90,0,0),Jh.setTRS(n.getPosition(),n.getRotation(),wt.ONE).invert(),tl.mul2(i.projectionMatrix,Jh);var s=e.cookieMatrix,r=e.atlasViewport;return el.setViewport(r.x,r.y,r.z,r.w),s.mul2(el,tl),s},t}();il.pointLightRotations=[(new Bt).setFromEulerAngles(0,90,180),(new Bt).setFromEulerAngles(0,-90,180),(new Bt).setFromEulerAngles(90,0,0),(new Bt).setFromEulerAngles(-90,0,0),(new Bt).setFromEulerAngles(0,180,180),(new Bt).setFromEulerAngles(0,0,180)],il._spotCookieCamera=null;var nl=new wt,sl=new Float32Array(6),rl=new wt(-.5,0,0),al=new wt(0,0,.5),ol={FLAGS:0,COLOR_A:1,COLOR_B:2,SPOT_ANGLES:3,SHADOW_BIAS:4,COOKIE_A:5,COOKIE_B:6,COUNT_ALWAYS:7,POSITION_X:7,POSITION_Y:8,POSITION_Z:9,RANGE:10,SPOT_DIRECTION_X:11,SPOT_DIRECTION_Y:12,SPOT_DIRECTION_Z:13,PROJ_MAT_00:14,ATLAS_VIEWPORT_A:14,PROJ_MAT_01:15,ATLAS_VIEWPORT_B:15,PROJ_MAT_02:16,PROJ_MAT_03:17,PROJ_MAT_10:18,PROJ_MAT_11:19,PROJ_MAT_12:20,PROJ_MAT_13:21,PROJ_MAT_20:22,PROJ_MAT_21:23,PROJ_MAT_22:24,PROJ_MAT_23:25,PROJ_MAT_30:26,PROJ_MAT_31:27,PROJ_MAT_32:28,PROJ_MAT_33:29,AREA_DATA_WIDTH_X:30,AREA_DATA_WIDTH_Y:31,AREA_DATA_WIDTH_Z:32,AREA_DATA_HEIGHT_X:33,AREA_DATA_HEIGHT_Y:34,AREA_DATA_HEIGHT_Z:35,COUNT:36},hl={POSITION_RANGE:0,SPOT_DIRECTION:1,PROJ_MAT_0:2,ATLAS_VIEWPORT:2,PROJ_MAT_1:3,PROJ_MAT_2:4,PROJ_MAT_3:5,AREA_DATA_WIDTH:6,AREA_DATA_HEIGHT:7,COUNT:8},ll=function(){function t(e){this.device=e,this.cookiesEnabled=!1,this.shadowsEnabled=!1,this.areaLightsEnabled=!1,this.maxLights=255;var i=ol.COUNT_ALWAYS,n=0;t.lightTextureFormat===t.FORMAT_FLOAT?n=hl.COUNT:i=ol.COUNT,this.lights8=new Uint8ClampedArray(4*i*this.maxLights),this.lightsTexture8=t.createTexture(this.device,i,this.maxLights,7,"LightsTexture8"),this._lightsTexture8Id=this.device.scope.resolve("lightsTexture8"),n?(this.lightsFloat=new Float32Array(4*n*this.maxLights),this.lightsTextureFloat=t.createTexture(this.device,n,this.maxLights,le,"LightsTextureFloat"),this._lightsTextureFloatId=this.device.scope.resolve("lightsTextureFloat")):(this.lightsFloat=null,this.lightsTextureFloat=null,this._lightsTextureFloatId=void 0),this._lightsTextureInvSizeId=this.device.scope.resolve("lightsTextureInvSize"),this._lightsTextureInvSizeData=new Float32Array(4),this._lightsTextureInvSizeData[0]=n?1/this.lightsTextureFloat.width:0,this._lightsTextureInvSizeData[1]=n?1/this.lightsTextureFloat.height:0,this._lightsTextureInvSizeData[2]=1/this.lightsTexture8.width,this._lightsTextureInvSizeData[3]=1/this.lightsTexture8.height,this.invMaxColorValue=0,this.invMaxAttenuation=0,this.boundsMin=new wt,this.boundsDelta=new wt}t.initShaderDefines=function(){var e=t.lightTextureFormat===t.FORMAT_FLOAT?"FLOAT":"8BIT";t.shaderDefines="\n \n#define CLUSTER_TEXTURE_"+e+"\n "+t.buildShaderDefines(ol,"CLUSTER_TEXTURE_8_")+"\n "+t.buildShaderDefines(hl,"CLUSTER_TEXTURE_F_")+"\n "},t.buildShaderDefines=function(e,i){var n="",s=t.useTexelFetch?"":".5";return Object.keys(e).forEach((function(t){n+="\n#define "+i+t+" "+e[t]+s})),n},t.init=function(e){t.lightTextureFormat=e.extTextureFloat&&e.maxTextures>8?t.FORMAT_FLOAT:t.FORMAT_8BIT,t.useTexelFetch=e.supportsTextureFetch,t.initShaderDefines()},t.createTexture=function(t,e,i,n,s){return new Ls(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ei,magFilter:0,minFilter:0,anisotropy:1})};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),t.lightTextureFormat===t.FORMAT_FLOAT&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(rl,nl),sl[0]=nl.x,sl[1]=nl.y,sl[2]=nl.z,e.transformVector(al,nl),sl[3]=nl.x,sl[4]=nl.y,sl[5]=nl.z,sl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;$h.float2Bytes(a[0]*r,t,e+0,2),$h.float2Bytes(a[1]*r,t,e+2,2),$h.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){$h.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),$h.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);$h.float2BytesRange(s.bias,t,e,-1,20,2),$h.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=nl.sub2(n,this.boundsMin).div(this.boundsDelta);$h.float2Bytes(s.x,t,e+0,4),$h.float2Bytes(s.y,t,e+4,4),$h.float2Bytes(s.z,t,e+8,4),$h.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(nl,i),$h.float2Bytes(.499999*nl.x+.5,t,e+0,4),$h.float2Bytes(.499999*nl.y+.5,t,e+4,4),$h.float2Bytes(.499999*nl.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)$h.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)$h.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){$h.float2Bytes(i.x,t,e+0,2),$h.float2Bytes(i.y,t,e+2,2),$h.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)$h.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(e,i,n){var s=2===e._type,r=e.atlasViewportAllocated,a=this.cookiesEnabled&&!!e._cookie&&r,o=this.areaLightsEnabled&&0!==e.shape,h=this.shadowsEnabled&&e.castShadows&&r,l=e._node.getPosition(),c=null,u=null;s?h?c=e.getRenderData(null,0).shadowMatrix:a&&(c=il.evalSpotCookieMatrix(e)):(h||a)&&(u=e.atlasViewport);var d=this.lights8,f=i*this.lightsTexture8.width*4;if(this.addLightDataFlags(d,f+4*ol.FLAGS,e,s,h,e.shadowIntensity),this.addLightDataColor(d,f+4*ol.COLOR_A,e,n,a),s&&this.addLightDataSpotAngles(d,f+4*ol.SPOT_ANGLES,e),e.castShadows&&this.addLightDataShadowBias(d,f+4*ol.SHADOW_BIAS,e),a&&this.addLightDataCookies(d,f+4*ol.COOKIE_A,e),t.lightTextureFormat===t.FORMAT_FLOAT){var p=this.lightsFloat,m=i*this.lightsTextureFloat.width*4;if(p[m+4*hl.POSITION_RANGE+0]=l.x,p[m+4*hl.POSITION_RANGE+1]=l.y,p[m+4*hl.POSITION_RANGE+2]=l.z,p[m+4*hl.POSITION_RANGE+3]=e.attenuationEnd,s&&(this.getSpotDirection(nl,e),p[m+4*hl.SPOT_DIRECTION+0]=nl.x,p[m+4*hl.SPOT_DIRECTION+1]=nl.y,p[m+4*hl.SPOT_DIRECTION+2]=nl.z),c)for(var _=c.data,v=0;v<16;v++)p[m+4*hl.PROJ_MAT_0+v]=_[v];if(u&&(p[m+4*hl.ATLAS_VIEWPORT+0]=u.x,p[m+4*hl.ATLAS_VIEWPORT+1]=u.y,p[m+4*hl.ATLAS_VIEWPORT+2]=u.z/3),o){var g=this.getLightAreaSizes(e);p[m+4*hl.AREA_DATA_WIDTH+0]=g[0],p[m+4*hl.AREA_DATA_WIDTH+1]=g[1],p[m+4*hl.AREA_DATA_WIDTH+2]=g[2],p[m+4*hl.AREA_DATA_HEIGHT+0]=g[3],p[m+4*hl.AREA_DATA_HEIGHT+1]=g[4],p[m+4*hl.AREA_DATA_HEIGHT+2]=g[5]}}else this.addLightDataPositionRange(d,f+4*ol.POSITION_X,e,l),s&&this.addLightDataSpotDirection(d,f+4*ol.SPOT_DIRECTION_X,e),c&&this.addLightDataLightProjMatrix(d,f+4*ol.PROJ_MAT_00,c),u&&this.addLightAtlasViewport(d,f+4*ol.ATLAS_VIEWPORT_A,u),o&&this.addLightAreaSizes(d,f+4*ol.AREA_DATA_WIDTH_X,e)},t}();Ch=ll,ll.FORMAT_FLOAT=0,ll.FORMAT_8BIT=1,ll.lightTextureFormat=Ch.FORMAT_8BIT,ll.useTexelFetch=!1,ll.shaderDefines="";var cl={vertex_normal:Te,vertex_tangent:Ae,vertex_texCoord0:Re,vertex_texCoord1:Ie,vertex_color:Me,vertex_boneWeights:Ce,vertex_boneIndices:Ee},ul={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},dl=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:we},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=cl[c]);this.chunks[h]=l}}else this.chunks=_o;this.shaderPassInfo=Do.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2===this.options.pass&&(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.useInstancing&&(this.attributes.instance_line1=Qe,this.attributes.instance_line2=$e,this.attributes.instance_line3=Je,this.attributes.instance_line4=ti,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=Te,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Ae,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Me,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=qe,this.attributes.vertex_shadowParameters=Ye,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=ti;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=qe,this.attributes.morph_pos1=Ye,this.attributes.morph_pos2=Ke,this.attributes.morph_pos3=Ze,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=qe,this.attributes.morph_nrm1=Ye,this.attributes.morph_nrm2=Ke,this.attributes.morph_nrm3=Ze,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=Qe,this.attributes.morph_nrm5=$e,this.attributes.morph_nrm6=Je,this.attributes.morph_nrm7=ti,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=Qe,this.attributes.morph_pos5=$e,this.attributes.morph_pos6=Je,this.attributes.morph_pos7=ti,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Ce,this.attributes.vertex_boneIndices=Ee,o+=xo.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(ul).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+ul[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0);var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),(d||e.clusteredLightingEnabled)&&(n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;"));for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}if("envAtlasHQ"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,Yh.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("envAtlas"===e.reflectionSource)s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("cubeMap"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)));else if("sphereMap"===e.reflectionSource){var y=t.fragmentUniformsCount>16?i.reflectionSpherePS:i.reflectionSphereLowPS;s.append(y.replace(/\$DECODE/g,Yh.decodeFunc(e.reflectionEncoding)))}this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?s.append(i.refractionDynamicPS):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var x=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),x=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var S=!e.lightMapEnabled||e.lightMapWithoutAmbient;S&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,Yh.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!x&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var b,w=!1,T=!1,A=!1,C=!1,E=!1;if(e.clusteredLightingEnabled&&this.lighting&&(C=!0,w=!0,T=!0,E=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+La[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(ll.shaderDefines),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),e.twoSidedLighting&&n.append("uniform float twoSidedLightingNegScaleFactor;"),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(e.twoSidedLighting?a.append(" dVertexNormalW = normalize(gl_FrontFacing ? vNormalW * twoSidedLightingNegScaleFactor : -vNormalW * twoSidedLightingNegScaleFactor);"):a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(e.twoSidedLighting?(a.append(" dTangentW = gl_FrontFacing ? vTangentW * twoSidedLightingNegScaleFactor : -vTangentW * twoSidedLightingNegScaleFactor;"),a.append(" dBinormalW = gl_FrontFacing ? vBinormalW * twoSidedLightingNegScaleFactor : -vBinormalW * twoSidedLightingNegScaleFactor;")):(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;"))),a.append(" getViewDir();"),g&&a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);")),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),S&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!x&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var M=0;M 0.00001) {"),2===R&&(b&&!P._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+M+"_direction, light"+M+"_innerConeAngle, light"+M+"_outerConeAngle, dLightDirNormW);"),C=!0))),0!==I?0===R?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+L+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),P.castShadows&&!e.noShadow){var D=6===P._shadowType,O=1===P._shadowType||2===P._shadowType||3===P._shadowType,k=5===P._shadowType||0===P._shadowType||4===P._shadowType,F=null,B=void 0;switch(P._shadowType){case 1:F="VSM8",B="0.0";break;case 2:F="VSM16",B="5.54";break;case 3:F="VSM32",B=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:F="PCF1x1";break;case 4:F="PCF5x5";break;case 6:F="PCSS";break;default:F="PCF3x3"}if(null!==F){P._normalOffsetBias&&!P._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===R&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===R&&s.append("#define SHADOW_SAMPLE_POINT");var U=i.shadowSampleCoordPS;s.append(U.replace("$LIGHT",M)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+M+"_shadowMatrix";0===R&&P.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+M+"_shadowMatrixPalette, light"+M+"_shadowCascadeDistances, light"+M+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+M+"("+N+", light"+M+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===R&&r.append(" fadeShadow(light"+M+"_shadowCascadeDistances);");var z="SHADOWMAP_PASS(light"+M+"_shadowMap), dShadowCoord, light"+M+"_shadowParams";if(O)z=z+", "+B+", dLightDirW";else if(D){var V="vec2(light"+M+"_shadowSearchArea)";0!==I&&(V="vec2(length(light"+M+"_halfWidth), length(light"+M+"_halfHeight)) * light"+M+"_shadowSearchArea"),z=z+", light"+M+"_cameraParams, "+V+", dLightDirW"}1===R?(F="Point"+F,D||(z+=", dLightDirW")):2===R&&(F="Spot"+F),r.append(" float shadow"+M+" = getShadow"+F+"("+z+");"),r.append(" dAtten *= mix(1.0, shadow"+M+", light"+M+"_shadowIntensity);")}}if(0!==I?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),P.affectSpecularity)if(0!==I)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+L+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+L+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";");else{var G=!1;0===R&&e.fresnelModel>0&&(G=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+M+"_color"+(b?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==R&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,A=!0,w=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),w&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),A&&s.prepend(i.falloffInvSquaredPS),C&&s.prepend(i.spotPS),E&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var H="",W="void evaluateBackend() {\n"+r.code+"\n}";s.append(W),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(xo.end());var X=n.code+s.code+a.code;return X.includes("dTBN")&&(H+="mat3 dTBN;\n"),X.includes("dVertexNormalW")&&(H+="vec3 dVertexNormalW;\n"),X.includes("dTangentW")&&(H+="vec3 dTangentW;\n"),X.includes("dBinormalW")&&(H+="vec3 dBinormalW;\n"),X.includes("dViewDirW")&&(H+="vec3 dViewDirW;\n"),X.includes("dReflDirW")&&(H+="vec3 dReflDirW;\n"),X.includes("dHalfDirW")&&(H+="vec3 dHalfDirW;\n"),X.includes("ccReflDirW")&&(H+="vec3 ccReflDirW;\n"),X.includes("dLightDirNormW")&&(H+="vec3 dLightDirNormW;\n"),X.includes("dLightDirW")&&(H+="vec3 dLightDirW;\n"),X.includes("dLightPosW")&&(H+="vec3 dLightPosW;\n"),X.includes("dShadowCoord")&&(H+="vec3 dShadowCoord;\n"),X.includes("dReflection")&&(H+="vec4 dReflection;\n"),X.includes("dDiffuseLight")&&(H+="vec3 dDiffuseLight;\n"),X.includes("dSpecularLight")&&(H+="vec3 dSpecularLight;\n"),X.includes("dAtten")&&(H+="float dAtten;\n"),X.includes("dAttenD")&&(H+="float dAttenD;\n"),X.includes("dAtten3")&&(H+="vec3 dAtten3;\n"),X.includes("dMsdf")&&(H+="vec4 dMsdf;\n"),X.includes("ccFresnel")&&(H+="float ccFresnel;\n"),X.includes("ccReflection")&&(H+="vec3 ccReflection;\n"),X.includes("ccSpecularLight")&&(H+="vec3 ccSpecularLight;\n"),X.includes("ccSpecularityNoFres")&&(H+="float ccSpecularityNoFres;\n"),X.includes("sSpecularLight")&&(H+="vec3 sSpecularLight;\n"),X.includes("sReflection")&&(H+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+H+this.frontendDecl+X},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=ir.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),fl={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?fl.generateChunksKey(t):"lights"===e?fl.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},pl=[0,1,2,3,4,5,6,7],ml=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+pl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+fl.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new dl(t,e.litOptions),n=new Xh,s=new Xh,r=new Xh;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(xo),_l=new ml,vl=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new Hh},gl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(wt.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return Vl.min=n,Vl.max=s,Vl}var Hl=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Cl.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=g)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,w=Math.ceil(Ul.dot(x)*b)/b,T=Math.ceil(Ul.dot(y)*b)/b,A=x.mulScalar(w),C=y.mulScalar(T),E=Ul.dot(S),M=S.mulScalar(E);Ul.add2(A,C).add(M),l.setPosition(Ul),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new vt(0,0,0,0):new vt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=ec.z/3,c=i[h];ec.x+=l*c.x,ec.y+=l*c.y,ec.z=l,ec.w=l,this.invViewProjId.setValue(ic[h].data)}ec.mulScalar(e),o.render(ec)}}n.length=0},y(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=bo(this.device,tc,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new Mo(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=bo(this.device,tc,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new Mo(t)}return this._quadRendererCube}}]),e}(uo),sc=0,rc=[0,0,0,0],ac=new Ft,oc=new Ft,hc=new Ft,lc=new At,cc=new jt,uc=(new Ft).setScale(1,-1,1),dc=new Set,fc=new Set,pc=(new Ft).set([1,0,0,0,0,1,0,0,0,0,.5,0,0,0,.5,1]),mc=new Ft,_c=new Ft,vc=new Ft,gc=new Ft,yc=new Set,xc=[],Sc=[],bc=function(){function t(t){this.clustersDebugRendered=!1,this.processingMeshInstances=new Set,this.worldClustersAllocator=void 0,this.lights=[],this.localLights=[],this.device=t,this.scene=null,this.worldClustersAllocator=new Jl(t),this.lightTextureAtlas=new Ll(t),this.shadowMapCache=new kl,this.shadowRenderer=new Ql(this,this.lightTextureAtlas),this._shadowRendererLocal=new Fl(this,this.shadowRenderer),this._shadowRendererDirectional=new Hl(this,this.shadowRenderer),this.cookiesRenderPass=nc.create(this.lightTextureAtlas.cookieRenderTarget,this.lightTextureAtlas.cubeSlotsOffsets),this.viewUniformFormat=null,this.viewBindGroupFormat=null,this._skinTime=0,this._morphTime=0,this._cullTime=0,this._shadowMapTime=0,this._lightClustersTime=0,this._layerCompositionUpdateTime=0,this._shadowDrawCalls=0,this._skinDrawCalls=0,this._instancedDrawCalls=0,this._shadowMapUpdates=0,this._numDrawCallsCulled=0,this._camerasRendered=0,this._lightClusters=0;var e=t.scope;this.boneTextureId=e.resolve("texture_poseMap"),this.boneTextureSizeId=e.resolve("texture_poseMapSize"),this.poseMatrixId=e.resolve("matrix_pose[0]"),this.modelMatrixId=e.resolve("matrix_model"),this.normalMatrixId=e.resolve("matrix_normal"),this.viewInvId=e.resolve("matrix_viewInverse"),this.viewPos=new Float32Array(3),this.viewPosId=e.resolve("view_position"),this.projId=e.resolve("matrix_projection"),this.projSkyboxId=e.resolve("matrix_projectionSkybox"),this.viewId=e.resolve("matrix_view"),this.viewId3=e.resolve("matrix_view3"),this.viewProjId=e.resolve("matrix_viewProjection"),this.flipYId=e.resolve("projectionFlipY"),this.tbnBasis=e.resolve("tbnBasis"),this.nearClipId=e.resolve("camera_near"),this.farClipId=e.resolve("camera_far"),this.cameraParams=new Float32Array(4),this.cameraParamsId=e.resolve("camera_params"),this.alphaTestId=e.resolve("alpha_ref"),this.opacityMapId=e.resolve("texture_opacityMap"),this.exposureId=e.resolve("exposure"),this.twoSidedLightingNegScaleFactorId=e.resolve("twoSidedLightingNegScaleFactor"),this.twoSidedLightingNegScaleFactorId.setValue(0),this.morphWeightsA=e.resolve("morph_weights_a"),this.morphWeightsB=e.resolve("morph_weights_b"),this.morphPositionTex=e.resolve("morphPositionTex"),this.morphNormalTex=e.resolve("morphNormalTex"),this.morphTexParams=e.resolve("morph_tex_params"),this.lightCube=new Ol,this.constantLightCube=e.resolve("lightCube[0]")}var e=t.prototype;return e.destroy=function(){this.shadowRenderer=null,this._shadowRendererLocal=null,this._shadowRendererDirectional=null,this.shadowMapCache.destroy(),this.shadowMapCache=null,this.cookiesRenderPass.destroy(),this.cookiesRenderPass=null,this.lightTextureAtlas.destroy(),this.lightTextureAtlas=null},e.sortCompare=function(t,e){if(t.layer===e.layer){if(t.drawOrder&&e.drawOrder)return t.drawOrder-e.drawOrder;if(t.zdist&&e.zdist)return e.zdist-t.zdist;if(t.zdist2&&e.zdist2)return t.zdist2-e.zdist2}return e._key[0]-t._key[0]},e.sortCompareMesh=function(t,e){if(t.layer===e.layer){if(t.drawOrder&&e.drawOrder)return t.drawOrder-e.drawOrder;if(t.zdist&&e.zdist)return e.zdist-t.zdist}var i=t._key[0],n=e._key[0];return i===n&&t.mesh&&e.mesh?e.mesh.id-t.mesh.id:n-i},e.sortCompareDepth=function(t,e){var i=t._key[1],n=e._key[1];return i===n&&t.mesh&&e.mesh?e.mesh.id-t.mesh.id:n-i},e.setupViewport=function(t,e){var i=this.device,n=e?e.width:i.width,s=e?e.height:i.height,r=t.rect,a=Math.floor(r.x*n),o=Math.floor(r.y*s),h=Math.floor(r.z*n),l=Math.floor(r.w*s);if(i.setViewport(a,o,h,l),t._scissorRectClear){var c=t.scissorRect;a=Math.floor(c.x*n),o=Math.floor(c.y*s),h=Math.floor(c.z*n),l=Math.floor(c.w*s)}i.setScissor(a,o,h,l)},e.setCameraUniforms=function(t,e){var i=null==e?void 0:e.flipY,n=1;if(t.xr&&t.xr.session){var s,r=t._node.parent;r&&(s=r.getWorldTransform());var a=t.xr.views;n=a.length;for(var o=0;o0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){sc++;var e=t.length;if(0!==e)for(var i=0;i0&&(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0&&(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Ec=function(t){switch(t){case ui:return"Cubemap";case fi:return"Octahedral";default:return"Equirect"}},Mc=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Pc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Rc=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},Ic=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Lc=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},Dc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},Oc=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new wt,o=new wt,h=new wt(0,0,1),l=[],c=function(t,e){var i=Dc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=Lc(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},kc=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),Gc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new Ls(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:di,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Pt(0,0,512*a,256*a),h=Hc(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&0!=(n&Fa),t.litOptions.skin=n&&0!=(2&n),t.litOptions.useInstancing=n&&0!=(n&Oa),t.litOptions.useMorphPosition=n&&0!=(n&Ua),t.litOptions.useMorphNormal=n&&0!=(n&Na),t.litOptions.useMorphTextureBased=n&&0!=(n&za),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=0!=(4&i),r=0!=(8&i),a=0!=(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in jc)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var v=e[l].id,g=o[v];void 0===g&&(o[v]=i,g=i),t[l]=!!e[l],t[m]=g,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e){t.opacityTint=1!==e.opacity&&3!==e.blendType,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=(e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor)&&Qc(e.diffuse),h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&Qc(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||Qc(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===re||e.normalMap.type===ri);t.opacityTint=1!==e.opacity&&3!==e.blendType?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&Qc(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s&&(1!==i.skyboxIntensity||i.physicalUnits),t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=0!=(1&n),0!=(64&n)&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,0!=(n&ka)&&(t.dirLightMap=!0),0!=(n&Va)&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&(Wh.collectLights(0,s[0],r,a),Wh.collectLights(1,s[1],r,a),Wh.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),jc)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Do.get(t).getByIndex(s),c=2===s||3===s||l.isShadow,u=c?Kc.optionsContextMin:Kc.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new fo(a,o,h),f=go(t);f.register("standard",Kc);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},y(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}]),e}(zo);lu.TEXTURE_PARAMETERS=eu,lu.CUBEMAP_PARAMETERS=nu;var cu=function(t,e){ou[t]=e},uu=function(t,e,i,n){Object.defineProperty(lu.prototype,t,{get:n||function(){return this["_"+t]},set:i}),au[t]={value:e}},du=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};uu(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};uu(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function fu(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),jc[t]=e.length||-1,du({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),du({name:t+"MapTiling",defaultValue:new Et(1,1)}),du({name:t+"MapOffset",defaultValue:new Et(0,0)}),du({name:t+"MapRotation",defaultValue:0}),du({name:t+"MapUv",defaultValue:n}),e&&(du({name:t+"MapChannel",defaultValue:e}),i&&(du({name:t+"VertexColor",defaultValue:!1}),du({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";cu(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*_t.DEG_TO_RAD),d=Math.sin(l*_t.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function pu(t,e){du({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),cu(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function mu(t,e,i){du({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),cu(t,i)}function _u(t,e){du({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),cu(t,e)}function vu(t,e){du({name:t,defaultValue:e})}!function(){pu("ambient",new vt(.7,.7,.7)),pu("diffuse",new vt(1,1,1)),pu("specular",new vt(0,0,0)),pu("emissive",new vt(0,0,0)),pu("sheen",new vt(1,1,1)),pu("attenuation",new vt(1,1,1)),mu("emissiveIntensity",1),mu("specularityFactor",1),mu("sheenGloss",0),mu("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),mu("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),mu("opacity",1),mu("alphaFade",1),mu("alphaTest",0),mu("bumpiness",1),mu("normalDetailMapBumpiness",1),mu("reflectivity",1),mu("occludeSpecularIntensity",1),mu("refraction",0),mu("refractionIndex",1/1.5),mu("thickness",0),mu("attenuationDistance",0),mu("metalness",1),mu("anisotropy",0),mu("clearCoat",0),mu("clearCoatGloss",1),mu("clearCoatBumpiness",1),mu("aoUvSet",0,null),mu("iridescence",0),mu("iridescenceRefractionIndex",1/1.5),mu("iridescenceThicknessMin",0),mu("iridescenceThicknessMax",0),_u("ambientSH"),_u("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),vu("ambientTint",!1),vu("diffuseTint",!1),vu("specularTint",!1),vu("specularityFactorTint",!1),vu("emissiveTint",!1),vu("fastTbn",!1),vu("useMetalness",!1),vu("useMetalnessSpecularColor",!1),vu("useSheen",!1),vu("enableGGXSpecular",!1),vu("occludeDirect",!1),vu("normalizeNormalMap",!0),vu("conserveEnergy",!0),vu("opacityFadesSpecular",!0),vu("occludeSpecular",1),vu("shadingModel",1),vu("fresnelModel",2),vu("useDynamicRefraction",!1),vu("cubeMapProjection",0),vu("customFragmentShader",null),vu("useFog",!0),vu("useLighting",!0),vu("useGammaTonemap",!0),vu("useSkybox",!0),vu("forceUv1",!1),vu("pixelSnap",!1),vu("twoSidedLighting",!1),vu("nineSlicedMode",void 0),vu("msdfTextAttribute",!1),vu("useIridescence",!1),vu("glossInvert",!1),vu("sheenGlossInvert",!1),vu("clearCoatGlossInvert",!1),fu("diffuse"),fu("specular"),fu("emissive"),fu("thickness","g"),fu("specularityFactor","g"),fu("normal",""),fu("metalness","g"),fu("gloss","g"),fu("opacity","a"),fu("refraction","g"),fu("height","g",!1),fu("ao","g"),fu("light","rgb",!0,1),fu("msdf",""),fu("diffuseDetail","rgb",!1),fu("normalDetail",""),fu("aoDetail","g",!1),fu("clearCoat","g"),fu("clearCoatGloss","g"),fu("clearCoatNormal",""),fu("sheen","rgb"),fu("sheenGloss","g"),fu("iridescence","g"),fu("iridescenceThickness","g"),vu("diffuseDetailMode",Da),vu("aoDetailMode",Da),_u("cubeMap"),_u("sphereMap"),_u("envAtlas");var t=[null,null,null,null,null,null];uu("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=Wc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}(),new wt(1,1,1),new wt(40,0,0);var gu={drawCalls:[],shaderInstances:[],isNewMaterial:[],lightMaskChanged:[],clear:function(){this.drawCalls.length=0,this.shaderInstances.length=0,this.isNewMaterial.length=0,this.lightMaskChanged.length=0}};var yu=function(t){function e(e){var i,n=(i=t.call(this,e)||this).device;i._forwardDrawCalls=0,i._materialSwitches=0,i._depthMapTime=0,i._forwardTime=0,i._sortTime=0;var s=n.scope;return i.fogColorId=s.resolve("fog_color"),i.fogStartId=s.resolve("fog_start"),i.fogEndId=s.resolve("fog_end"),i.fogDensityId=s.resolve("fog_density"),i.ambientId=s.resolve("light_globalAmbient"),i.skyboxIntensityId=s.resolve("skyboxIntensity"),i.cubeMapRotationMatrixId=s.resolve("cubeMapRotationMatrix"),i.pcssDiskSamplesId=s.resolve("pcssDiskSamples[0]"),i.pcssSphereSamplesId=s.resolve("pcssSphereSamples[0]"),i.lightColorId=[],i.lightDir=[],i.lightDirId=[],i.lightShadowMapId=[],i.lightShadowMatrixId=[],i.lightShadowParamsId=[],i.lightShadowIntensity=[],i.lightRadiusId=[],i.lightPos=[],i.lightPosId=[],i.lightWidth=[],i.lightWidthId=[],i.lightHeight=[],i.lightHeightId=[],i.lightInAngleId=[],i.lightOutAngleId=[],i.lightCookieId=[],i.lightCookieIntId=[],i.lightCookieMatrixId=[],i.lightCookieOffsetId=[],i.lightShadowSearchAreaId=[],i.lightCameraParamsId=[],i.shadowMatrixPaletteId=[],i.shadowCascadeDistancesId=[],i.shadowCascadeCountId=[],i.screenSizeId=s.resolve("uScreenSize"),i._screenSize=new Float32Array(4),i.fogColor=new Float32Array(3),i.ambientColor=new Float32Array(3),i.pcssDiskSamples=function(t){for(var e=[],i=0;i0){var a=this._shaderVersion;Tu.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==zo.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),Tu.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(wu.sort(),n=Yi(wu),wu.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyCameras=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyCameras=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyCameras=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e0}}]),t}(),Ru=function(t){function e(e){var i;return void 0===e&&(e="Untitled"),(i=t.call(this)||this).layerList=[],i.layerIdMap=new Map,i.layerNameMap=new Map,i.subLayerList=[],i.subLayerEnabled=[],i.cameras=[],i.camerasMap=new Map,i._renderActions=[],i.name=e,i._opaqueOrder={},i._transparentOrder={},i._dirtyCameras=!1,i}S(e,t);var i=e.prototype;return i.destroy=function(){this._renderActions.forEach((function(t){return t.destroy()})),this._renderActions=null},i._update=function(){var t=this.layerList.length;if(!this._dirtyCameras)for(var e=0;e1&&Mu(this.cameras),this.camerasMap.clear();for(var a=0;a0&&c.layers.indexOf(_.id)>=0&&(o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0)),f=this.addRenderAction(this._renderActions,h,_,m,c,u,p),h++,u=!1)}d=0;c--)if(t[c].camera===s&&t[c].renderTarget===h){l=!0;break}var u=r||!l,d=!!u&&s.clearColorBuffer,f=!!u&&s.clearDepthBuffer,p=!!u&&s.clearStencilBuffer;return d||(d=i.clearColorBuffer),f||(f=i.clearDepthBuffer),p||(p=i.clearStencilBuffer),a&&s.postEffectsEnabled&&(h=null),o.triggerPostprocess=!1,o.layerIndex=n,o.layer=i,o.camera=s,o.renderTarget=h,o.clearColor=d,o.clearDepth=f,o.clearStencil=p,o.firstCameraUse=r,o.lastCameraUse=!1,o},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=this.layerList[n.layerIndex];if(n.renderTarget&&1!==s.id)break;if(1!==s.id){var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){for(var i=0;i=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirtyCameras=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirtyCameras=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirtyCameras=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,Iu.mulScalar(-e*n)):(t.radius=e/(2*n),Iu.mulScalar(-t.radius)),t.center.add2(s.getPosition(),Iu)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*_t.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*_t.DEG_TO_RAD,this._innerConeAngle*_t.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|Du[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=Du[this._cookieChannel.charAt(1)]<<16,t|=Du[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},y(t,[{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=ku[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new Ft),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Pt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=$h.float2Half;this._textureFormat===oe&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=_o.screenDepthPS),s+=_o.particle_cpuVS,e.localSpace&&(s+=_o.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=_o.particle_pointAlongVS),s+=e.mesh?_o.particle_meshVS:r,1===e.normal&&(s+=_o.particle_normalVS),2===e.normal&&(s+=_o.particle_TBNVS),e.stretch>0&&(s+=_o.particle_stretchVS),s+=_o.particle_cpu_endVS,e.soft>0&&(s+=_o.particle_softVS)):(s+=_o.particle_initVS,s+=e.pack8?_o.particleInputRgba8PS:_o.particleInputFloatPS,e.soft>0&&(s+=_o.screenDepthPS),s+=_o.particleVS,e.localSpace&&(s+=_o.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=_o.particle_wrapVS),e.alignToMotion&&(s+=_o.particle_pointAlongVS),s+=e.mesh?_o.particle_meshVS:r,1===e.normal&&(s+=_o.particle_normalVS),2===e.normal&&(s+=_o.particle_TBNVS),e.stretch>0&&(s+=_o.particle_stretchVS),s+=_o.particle_endVS,e.soft>0&&(s+=_o.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=_o.decodePS,n+=xo.gammaCode(e.gamma),n+=xo.tonemapCode(e.toneMap),"linear"===e.fog?n+=_o.fogLinearPS:"exp"===e.fog?n+=_o.fogExpPS:"exp2"===e.fog?n+=_o.fogExp2PS:n+=_o.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=_o.screenDepthPS),n+=_o.particlePS,e.soft>0&&(n+=_o.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=_o.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?_o.particle_halflambertPS:_o.particle_lambertPS),e.normal>0&&(n+=_o.particle_lightingPS),2===e.blend?n+=_o.particle_blendNormalPS:1===e.blend?n+=_o.particle_blendAddPS:5===e.blend&&(n+=_o.particle_blendMultiplyPS),n+=_o.particle_endPS,ir.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(xo),ju=new Xu,qu=1,Yu=new Ft,Ku=new Ft,Zu=new wt,Qu=new wt,$u=new wt,Ju=new wt,td=new wt,ed=new wt,id=new wt,nd=new wt,sd=new wt,rd=new wt,ad=new wt,od=new wt,hd=new wt;function ld(t){return t-Math.floor(t)}function cd(t){return Math.max(Math.min(t,1),0)}function ud(t,e){return t-e*Math.floor(t/e)}function dd(t){var e=ld(t),i=ld(255*t);return[e-=i/255,i-=i/255]}var fd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),Qu.x=a-.5,Qu.y=o-.5,Qu.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(Qu.x),Math.max(Math.abs(Qu.y),Math.abs(Qu.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];Qu.x=u*(c===Math.abs(Qu.x)?Math.sign(Qu.x):2*Qu.x),Qu.y=d*(c===Math.abs(Qu.y)?Math.sign(Qu.y):2*Qu.y),Qu.z=f*(c===Math.abs(Qu.z)?Math.sign(Qu.z):2*Qu.z),r.localSpace?Zu.copy(e.transformPoint(Qu)):Zu.copy(n).add(e.transformPoint(Qu))}else{Qu.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?Zu.copy(Qu.mulScalar(m*r.emitterRadius)):Zu.copy(n).add(Qu.mulScalar(m*r.emitterRadius))}var _,v,g,y,x,S=-_t.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(Zu.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,w=(Zu.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,T=(Zu.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,A=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a);A=A%(2*Math.PI)/(2*Math.PI);var C=dd(b);t[4*s]=C[0],t[4*s+1]=C[1];var E=dd(w);t[4*s+2]=E[0],t[4*s+3]=E[1];var M=dd(T);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=dd(A);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,L=(v=ld(_=S=(S+R)/(R+I)),g=ld(255*_),y=ld(65025*_),x=ld(160581375*_),[v-=g/255,g-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=L[0],t[4*s+1+4*r.numParticlesPot*3]=L[1],t[4*s+2+4*r.numParticlesPot*3]=L[2],t[4*s+3+4*r.numParticlesPot*3]=L[3]}else t[4*s]=Zu.x,t[4*s+1]=Zu.y,t[4*s+2]=Zu.z,t[4*s+3]=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)Yu.data[f]=d.data[f];Ku.copy(Yu),Ku.invert(),xu=u.meshInstance.node.localScale,qu=Math.max(Math.max(xu.x,xu.y),xu.z)}r=null===u.meshInstance.node||u.localSpace?wt.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,v,g,y,x,S,b=u.camera?u.camera._node.getPosition():wt.ZERO,w=u.useMesh?17:15,T=u.precision-1,A=0;A=P)&&this.calcSpawnPosition(i,n,s,r,C);var O=R>0&&R0&&(1===u.emitterShape?(Qu.copy($u).mulScalar(2).sub(wt.ONE).normalize(),ed.add(Qu.mulScalar(u.initialVelocity))):ed.add(wt.FORWARD.mulScalar(u.initialVelocity))),td.x+=(id.x-td.x)*$u.x,td.y+=(id.y-td.y)*$u.y,td.z+=(id.z-td.z)*$u.z,_+=(v-_)*$u.y,L=(L+1e4*E%1*(g-L))*qu,D=1e3*E%1*(x-y),u.meshInstance.node&&(u.localSpace?(ed.x/=xu.x,ed.y/=xu.y,ed.z/=xu.z):Yu.transformPoint(ed,ed)),u.localSpace?(Ku.transformPoint(td,td),ed.add(td).add(sd)):(ed.add(td.mul(xu)),ed.add(sd.mul(xu))),od.copy(ed),rd.copy(Ju).add(ed.mulScalar(a)),ad.copy(rd),i[4*C]=ad.x,i[4*C+1]=ad.y,i[4*C+2]=ad.z,i[4*C+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||ad.sub(r),ad.x=ud(ad.x,u.wrapBounds.x)-.5*u.wrapBounds.x,ad.y=ud(ad.y,u.wrapBounds.y)-.5*u.wrapBounds.y,ad.z=ud(ad.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||ad.add(r)),u.sort>0&&(1===u.sort?(hd.copy(ad).sub(b),u.particleDistance[C]=-(hd.x*hd.x+hd.y*hd.y+hd.z*hd.z)):2===u.sort?u.particleDistance[C]=R:3===u.sort&&(u.particleDistance[C]=-R))),o?R<0&&(i[4*C+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*C+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*C+3+2*u.numParticlesPot*4]=1)),i[4*C+3+2*u.numParticlesPot*4]<0&&(O=!1),i[4*C+3+4*u.numParticlesPot]=R;for(var k=0;k0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),Dd("rate",1),Dd("rate2",this.rate),Dd("lifetime",50),Dd("emitterExtents",new wt(0,0,0)),Dd("emitterExtentsInner",new wt(0,0,0)),Dd("emitterRadius",0),Dd("emitterRadiusInner",0),Dd("emitterShape",0),Dd("initialVelocity",1),Dd("wrap",!1),Dd("localSpace",!1),Dd("screenSpace",!1),Dd("wrapBounds",null),Dd("colorMap",this.defaultParamTexture),Dd("normalMap",null),Dd("loop",!0),Dd("preWarm",!1),Dd("sort",0),Dd("mode",0),Dd("scene",null),Dd("lighting",!1),Dd("halfLambert",!1),Dd("intensity",1),Dd("stretch",0),Dd("alignToMotion",!1),Dd("depthSoftening",0),Dd("mesh",null),Dd("particleNormal",new wt(0,1,0)),Dd("orientation",0),Dd("depthWrite",!1),Dd("noFog",!1),Dd("blendType",2),Dd("node",null),Dd("startAngle",0),Dd("startAngle2",this.startAngle),Dd("animTilesX",1),Dd("animTilesY",1),Dd("animStartFrame",0),Dd("animNumFrames",1),Dd("animNumAnimations",1),Dd("animIndex",0),Dd("randomizeAnimIndex",!1),Dd("animSpeed",1),Dd("animLoop",!0),this._gpuUpdater=new vd(this,i),this._cpuUpdater=new fd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),Dd("colorGraph",Cd),Dd("colorGraph2",this.colorGraph),Dd("scaleGraph",Td),Dd("scaleGraph2",this.scaleGraph),Dd("alphaGraph",Td),Dd("alphaGraph2",this.alphaGraph),Dd("localVelocityGraph",Ad),Dd("localVelocityGraph2",this.localVelocityGraph),Dd("velocityGraph",Ad),Dd("velocityGraph2",this.velocityGraph),Dd("rotationSpeedGraph",wd),Dd("rotationSpeedGraph2",this.rotationSpeedGraph),Dd("radialSpeedGraph",wd),Dd("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new Ht,this.worldBoundsNoTrail=new Ht,this.worldBoundsTrail=[new Ht,new Ht],this.worldBounds=new Ht,this.worldBoundsSize=new wt,this.prevWorldBoundsSize=new wt,this.prevWorldBoundsCenter=new wt,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new wt,this.worldBoundsAdd=new wt,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?Ft.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],v=[0,0],g=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,Ed=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=_t.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?Ft.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=se),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?Ft.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new wt(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new wt).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:Ne,components:4,type:6},{semantic:ze,components:4,type:6},{semantic:Ve,components:4,type:6},{semantic:Ge,components:1,type:6},{semantic:He,components:this.useMesh?4:2,type:6}],s=new Ji(this.graphicsDevice,n);this.vertexBuffer=new ji(this.graphicsDevice,s,e,1),this.indexBuffer=new vr(this.graphicsDevice,1,i)}else{var r=[{semantic:Ne,components:4,type:6}];this.useMesh&&r.push({semantic:ze,components:2,type:6});var a=new Ji(this.graphicsDevice,r);this.vertexBuffer=new ji(this.graphicsDevice,a,e,1),this.indexBuffer=new vr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},y(t,[{key:"defaultParamTexture",get:function(){var t=this;return Ud.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new yh(this.mesh,this.material,Hd)),this.positions.length=0,this.colors.length=0,t.push(this.meshInstance))},t}(),Xd=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new Wd(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},t}(),jd=[],qd=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new Vo;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new Xd(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=bo(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+_o.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(uv0) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new qa(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(be)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new yh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s){jd.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z),this.getBatch(s,n).addLinesArrays(jd,i),jd.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],v=d[m+1];if(_.time<=this._time&&v.time>=this._time){var g=(this._time-_.time)/(v.time-_.time);f._pos.lerp(_.position,v.position,g),f._quat.slerp(_.rotation,v.rotation,g),f._scale.lerp(_.scale,v.scale,g),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2D(source, vUv0);\n\tc = c.a>0.0? c : texture2D(source, vUv0 - pixelOffset);\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + pixelOffset);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2D(source, vUv0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2D(source, coord);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},ff="FILL_WINDOW",pf="KEEP_ASPECT",mf="AUTO",_f="FIXED";function vf(){return cf}function gf(t){cf=t,Ha.set(null==t?void 0:t.graphicsDevice)}var yf=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();yf._types=[];var xf=!1,Sf=!1,bf={app:null,create:function(t,e){if(xf){var i=e(bf.app);i._pcScriptName=t,yf.push(i,xf),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Sf||(Sf=!0,t(vf()))}};Object.defineProperty(bf,"legacy",{get:function(){return xf},set:function(t){xf=t}}),R.attach(bf);var wf=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){this.renderPasses.push(t)},e.reset=function(){this.renderPasses.length=0},e.compile=function(){for(var t=this.renderTargetMap,e=this.renderPasses,i=0;i=0&&t<=1?0:1})),Rf(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Rf(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Rf(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Rf(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Rf(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Rf(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var Df=Pf[If(Ef)];function Of(t){return Pf[t]||Df}var kf,Ff=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-\\+\\.]*:)?//|data:|blob:)","i"),Bf=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),Uf=-1,Nf={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},zf=["pvr","dxt","etc2","etc1","basis"],Vf=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=Uf--,a._name=e||"",a.type=i,a.tags=new ut(w(a)),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}S(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!Ff.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=L.getDirectory(this.file.url);return L.join(e,t)},i.getLocalizedAssetId=function(t){return t=Lf(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},y(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||vf(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=zf[a];if(t.variants[i]&&s[Nf[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=zf.length;a=s)throw new Error("Invalid PAX header data format.");var l=parseInt(e.decode(new Uint8Array(t,i+a,h-a)),10),c=e.decode(new Uint8Array(t,i+h+1,l-(h-a)-2)).split("=");if(2!==c.length)throw new Error("Invalid PAX header data format.");0===c[1].length&&(c[1]=null),o.push({name:c[0],value:c[1]}),a+=l}return new n(o)},n.prototype.applyHeader=function(t){for(var e=0;e0&&(r=p.trim()+r.trim())}var m={name:r,start:l,size:o,url:c};return this._globalPaxHeader&&this._globalPaxHeader.applyHeader(m),this._paxHeader&&(this._paxHeader.applyHeader(m),this._paxHeader=null),m},s.prototype.untar=function(t){if(!e)return console.error("Cannot untar because TextDecoder interface is not available for this platform."),[];for(var i=[];this._hasNext();){var n=this._readNextFile();n&&(t&&n.name&&(n.name=t+n.name),i.push(n))}return i},t&&(self.onmessage=function(t){var e=t.data.id;try{var i=new s(t.data.arrayBuffer).untar(t.data.prefix);postMessage({id:e,files:i,arrayBuffer:t.data.arrayBuffer},[t.data.arrayBuffer])}catch(t){postMessage({id:e,error:t.toString()})}})}var Yf=null;var Kf=function(){function t(t){this._requestId=0,this._pendingRequests={},this._filenamePrefix=t,this._worker=new Worker(function(){if(!Yf){var t="("+qf.toString()+")(true)\n\n",e=new Blob([t],{type:"application/javascript"});Yf=URL.createObjectURL(e)}return Yf}()),this._worker.addEventListener("message",this._onMessage.bind(this))}var e=t.prototype;return e._onMessage=function(t){var e=t.data.id;if(this._pendingRequests[e]){var i=this._pendingRequests[e];if(delete this._pendingRequests[e],t.data.error)i(t.data.error);else{for(var n=t.data.arrayBuffer,s=0,r=t.data.files.length;s0},e.destroy=function(){this._worker&&(this._worker.terminate(),this._worker=null,this._pendingRequests=null)},t}();qf();var Zf=function(){function t(t){this.handlerType="bundle",this._assets=t.assets,this._worker=null,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this;_a.get(t.load,{responseType:ma.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e("Error loading bundle resource "+t.original+": "+n);else try{i._untar(s,e)}catch(i){e("Error loading bundle resource "+t.original+": "+i)}}))},e._untar=function(t,e){var i=this;if(G.workers)i._worker||(i._worker=new Kf(i._assets.prefix)),i._worker.untar(t,(function(t,n){e(t,n),i._worker.hasPendingRequests()||(i._worker.destroy(),i._worker=null)}));else{var n=new kf(t).untar(i._assets.prefix);e(null,n)}},e.open=function(t,e){return new jf(e)},e.patch=function(t,e){},t}(),Qf=function(){function t(t){this._handlers={},this._requests={},this._cache={},this._app=t}var e=t.prototype;return e.addHandler=function(t,e){this._handlers[t]=e,e._loader=this},e.removeHandler=function(t){delete this._handlers[t]},e.getHandler=function(t){return this._handlers[t]},t.makeKey=function(t,e){return t+"-"+e},e.load=function(e,i,n,s){var r=this._handlers[i];if(r)if(e){var a=t.makeKey(e,i);if(void 0!==this._cache[a])n(null,this._cache[a]);else if(this._requests[a])this._requests[a].push(n);else{this._requests[a]=[n];var o=this,h=function(t,e){t?o._onFailure(a,t):r.load(e,(function(t,i,n){if(o._requests[a])if(t)o._onFailure(a,t);else try{o._onSuccess(a,r.open(e.original,i,s),n)}catch(t){o._onFailure(a,t)}}),s)},l=e.split("?")[0];if(this._app.enableBundles&&this._app.bundles.hasUrl(l)){if(!this._app.bundles.canLoadUrl(l))return void h("Bundle for "+e+" not loaded yet");this._app.bundles.loadUrl(l,(function(t,e){h(t,{load:e,original:l})}))}else h(null,{load:e,original:s&&s.file.filename||e})}}else this._loadNull(r,n,s);else n("No resource handler for asset type: '"+i+"' when loading ["+e+"]")},e._loadNull=function(t,e,i){t.load(null,(function(n,s,r){if(n)e(n);else try{e(null,t.open(null,s,i),r)}catch(t){e(t)}}),i)},e._onSuccess=function(t,e,i){null!==e?this._cache[t]=e:delete this._cache[t];for(var n=0;n0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new Ru("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new Cu(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[be]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===ff&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===mf){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&Cf.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=vt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s){void 0===i&&(i=vt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new Ft;h.setTRS(new wt(t,e,0),Bt.IDENTITY,new wt(i,-n,0)),r||((r=new zo).cull=se,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new zo;r.cull=se,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Tc(pp,t,e),pp.mulScalar(.5*n),i._node.rotateLocal(pp.x,0,pp.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},y(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}]),e}(fp),_p=new wt,vp=function(t){function e(e){var i=new ip("AmbientLight");return i.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:e.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:vt.WHITE,intensity:1,bakeDir:!1}),t.call(this,e,i.light.light)||this}return S(e,t),e.prototype.prepareVirtualLight=function(t,e){Ac(_p,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(_p.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},y(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}]),e}(fp),gp=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),yp=function(){function t(t){this.device=t,this.shaderDilate=bo(t,_o.fullscreenQuadVS,df.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=bo(this.device,_o.fullscreenQuadVS,df.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),xp=new wt,Sp=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new vt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;ch.decRef(this.blackTex),this.blackTex=null,ch.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new yp(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new Ls(this.device,{width:4,height:4,format:7,type:ii,name:"lightmapBlack"}),ch.incRef(this.blackTex);var e=new Gh;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new hh,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Nu(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new wt(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Al(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){ch.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new lu;if(s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Di,s.chunks.transformVS="#define UV1LAYOUT\n"+_o.transformVS,0===i){var r=df.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new vt(0,0,0),s.ambientTint=!0),s.chunks.basePS=_o.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=_o.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=df.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=se,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new gp(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=ka),this.scene.ambientBake&&(u|=Va),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=dt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length}},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var w=0;w1&&y.prepareVirtualLight(w,b),y.startBake();var T=!1,A=this.lightCameraPrepare(r,y);for(_=0;_0&&w>0)&&!(x&&m>0);m++){var M=C.renderTargets[m],P=C.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?g=n.updateShaders:g&&(n.updateShaders=!0);var L=this.passMaterials[m];for(x&&w+1===b&&0===m&&(L=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,x({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},y(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new Cp(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}]),t}();Ep.eventFrame={start:0,end:0,residual:0};var Mp="NONE",Pp="PREV_STATE",Rp="NEXT_STATE",Ip="PREV_STATE_NEXT_STATE",Lp="NEXT_STATE_PREV_STATE",Dp="GREATER_THAN",Op="LESS_THAN",kp="GREATER_THAN_EQUAL_TO",Fp="LESS_THAN_EQUAL_TO",Bp="EQUAL_TO",Up="NOT_EQUAL_TO",Np="INTEGER",zp="FLOAT",Vp="BOOLEAN",Gp="TRIGGER",Hp="2D_DIRECTIONAL",Wp="2D_CARTESIAN",Xp="DIRECT",jp="START",qp="END",Yp="ANY",Kp=[jp,qp,Yp],Zp="OVERWRITE",Qp="ADDITIVE",$p=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),rm=function(){function t(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}return y(t,[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),t}(),am=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={};!function t(e){n[e.name]=e;for(var i=0;i0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new Ep(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===nm?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new rf(r),this.toSkel=new rf(r),this.skeleton=new rf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new em(new am(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},y(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==nm.EMPTY}))},y(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==um?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==Kp.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}]),t}(),gm=function(){function t(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Mp:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}return y(t,[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),t}(),ym=function(){function t(t,e,i,n,s,r,a){var o=this;this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._states={},this._stateNames=[],this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),Mu(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case Op:if(!(s.value=n.value))return!1;break;case Fp:if(!(s.value<=n.value))return!1;break;case Bp:if(s.value!==n.value)return!1;break;case Up:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case Pp:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(Yp));break;case Rp:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));break;case Ip:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));break;case Lp:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(Yp))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(Yp));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===qp){var r=this._findTransitionsFromState(jp)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new gm({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new vm(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==Kp.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=jp,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case Et:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case wt:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Pt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case vt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Bt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new rm((function(e){r(e),t.material.update()}),a,o,n):new rm(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={};!function e(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}]),e}(bp),Pm=function(){this.enabled=!0},Rm=["enabled"],Im=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Mm,i.DataType=Pm,i.schema=Rm,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.systems.on("animationUpdate",i.onAnimationUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Rm);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers?i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==nm.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})):i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(wp);bp._buildAccessors(Mm.prototype,Rm);var Lm=function(t){function e(e,i){return t.call(this,e,i)||this}S(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(bp),Dm=function(){this.enabled=!0},Om=["enabled"],km=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=Lm,i.DataType=Dm,i.schema=Om,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(Lm.prototype,Om);var Fm=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,w(n)),n.on("set_loop",n.onSetLoop,w(n)),n.on("set_volume",n.onSetVolume,w(n)),n.on("set_pitch",n.onSetPitch,w(n)),n.on("set_minDistance",n.onSetMinDistance,w(n)),n.on("set_maxDistance",n.onSetMaxDistance,w(n)),n.on("set_rollOffFactor",n.onSetRollOffFactor,w(n)),n.on("set_distanceModel",n.onSetDistanceModel,w(n)),n.on("set_3d",n.onSet3d,w(n)),n}S(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new vt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},e}(bp);function e_(t){return new vt(t.r,t.g,t.b)}var i_=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Pt,this.transitionMode=0,this.hoverTint=new vt(.75,.75,.75),this.pressedTint=new vt(.5,.5,.5),this.inactiveTint=new vt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},n_=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],s_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=t_,i.DataType=i_,i.schema=n_,i.on("beforeremove",i._onRemoveComponent,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,n_)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(t_.prototype,n_);var r_,a_,o_,h_=new wt,l_=new Bt,c_=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,w(n)),n.on("set_type",n.onSetType,w(n)),n.on("set_halfExtents",n.onSetHalfExtents,w(n)),n.on("set_linearOffset",n.onSetOffset,w(n)),n.on("set_angularOffset",n.onSetOffset,w(n)),n.on("set_radius",n.onSetRadius,w(n)),n.on("set_height",n.onSetHeight,w(n)),n.on("set_axis",n.onSetAxis,w(n)),n.on("set_asset",n.onSetAsset,w(n)),n.on("set_renderAsset",n.onSetRenderAsset,w(n)),n.on("set_model",n.onSetModel,w(n)),n.on("set_render",n.onSetRender,w(n)),n}S(e,t);var i=e.prototype;return i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(wt.ZERO)||!this.data.angularOffset.equals(Bt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof Vf&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof Vf&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i._getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),g_=new Ft,y_=new wt,x_=new wt,S_=new Bt,b_=new hh,w_=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","asset","renderAsset","shape","model","render"],T_=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new Gu,e.model.graph=new hh},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&(t._compoundParent&&t===t._compoundParent&&e.forEach(this.system.implementations.compound._updateEachDescendant,t),!t.rigidbody)){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new v_(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render};return this.system.addComponent(e,n)},t}(),A_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(T_),C_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(T_),E_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(T_),M_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(T_),P_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(T_),R_=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoMesh=function(t,e,i){var n;if(this.system._triMeshCache[t.id])n=this.system._triMeshCache[t.id];else{for(var s,r,a=t.vertexBuffer,o=a.getFormat(),h=0;h=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){if(this.unmaskMeshInstance){var t=function t(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===Xm&&s>this._targetAspectRatio||e.fitMode===jm&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){t.off("set:meshes",this._onSpriteMeshesChange,this),t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof Vf?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new en({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},y(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Pt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==Wm&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==Wm&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}]),t}(),F_=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,w(i)),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}S(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},y(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof Vf?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof Vf?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset(),this._localizedAsset=null),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}]),e}(P),B_="msdf",U_="bitmap",N_=/[A-Z|a-z|0-9|_|-|/]/,z_=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(N_)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function G_(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),G_(t[i],e[i])):t[i]=n}}function H_(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,g=this._element.calculatedWidth;(this.autoWidth&&!v||!this._wrapLines)&&(g=Number.POSITIVE_INFINITY);var y,x,S,b,w=0,T=0;function A(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)Y_.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var C=!0;C;){C=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var E=this._fontSize/32;w=this._fontMinY*E,T=this._fontMaxY*E;for(var M=0;M=r?null:this._symbols[U+1],Y_.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var j=this._font.data.kerning;if(j){var q=j[rt.getCodePoint(this._symbols[U-1])||0];q&&(X=q[rt.getCodePoint(this._symbols[U])||0]||0)}}H=x.scale||1,G=E*((x.width+x.height)/2)/H,V=(x.xadvance+X)*E,N=(x.xoffset-X)*E,z=x.yoffset*E}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=K_.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],$=a+this._spacing*V;if($>g&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=_t.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,C=!0;break}if(this.height=Math.max(this.height,T-(o+w)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=_t.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,C=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=U+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var ft=3*this._symbolColors[U];P=this._colorPalette[ft],R=this._colorPalette[ft+1],I=this._colorPalette[ft+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var pt=5*this._symbolOutlineParams[U];L=this._outlinePalette[pt]+256*this._outlinePalette[pt+1],D=this._outlinePalette[pt+2]+256*this._outlinePalette[pt+3],O=this._outlinePalette[pt+4]}if(Q.outlines[4*S*3+0]=L,Q.outlines[4*S*3+1]=D,Q.outlines[4*S*3+2]=O,Q.outlines[4*S*3+3]=L,Q.outlines[4*S*3+4]=D,Q.outlines[4*S*3+5]=O,Q.outlines[4*S*3+6]=L,Q.outlines[4*S*3+7]=D,Q.outlines[4*S*3+8]=O,Q.outlines[4*S*3+9]=L,Q.outlines[4*S*3+10]=D,Q.outlines[4*S*3+11]=O,this._symbolShadowParams){var mt=6*this._symbolShadowParams[U];k=this._shadowPalette[mt]+256*this._shadowPalette[mt+1],F=this._shadowPalette[mt+2]+256*this._shadowPalette[mt+3],B=this._shadowPalette[mt+4]+127+256*Math.round(Z*this._shadowPalette[mt+5]+127)}Q.shadows[4*S*3+0]=k,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=k,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=k,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=k,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}C||f=kt?(Ft.element[we].set(0,0,0),Ft.element[Re].set(0,0),Ft.element[Me].set(0,0,0,0),Ft.element[qe].set(0,0,0,0),Ft.element[Ye].set(0,0,0,0)):(Ft.element[we].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[Re].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Me].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[qe].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[Ye].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof Et?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(Ho.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t;(this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(t=this.system.app.batcher)||t.remove(Ho.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Pt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(Ho.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Pt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===Gm?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof vt||(s=new vt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===Hm&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof vt||(s=new vt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===Gm&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new lu,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new lu;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(wp);bp._buildAccessors(fv.prototype,_v);var gv="free",yv="limited",xv="locked",Sv=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],bv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=xv,n._linearLimitsX=new Et(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=xv,n._linearLimitsY=new Et(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=xv,n._linearLimitsZ=new Et(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=xv,n._angularLimitsX=new Et(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=xv,n._angularLimitsY=new Et(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=xv,n._angularLimitsZ=new Et(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Bt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===yv?(e=this._angularLimitsX.x*_t.DEG_TO_RAD,s=this._angularLimitsX.y*_t.DEG_TO_RAD):this._angularMotionX===gv?(e=1,s=0):e=s=0,this._angularMotionY===yv?(i=this._angularLimitsY.x*_t.DEG_TO_RAD,r=this._angularLimitsY.y*_t.DEG_TO_RAD):this._angularMotionY===gv?(i=1,r=0):i=r=0,this._angularMotionZ===yv?(n=this._angularLimitsZ.x*_t.DEG_TO_RAD,a=this._angularLimitsZ.y*_t.DEG_TO_RAD):this._angularMotionZ===gv?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===yv?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===gv?(e=1,s=0):e=s=0,this._linearMotionY===yv?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===gv?(i=1,r=0):i=r=0,this._linearMotionZ===yv?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===gv?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new Ft,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=Sv;e=i?Fv:Ov;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,Bv.x=e.containerSize.x-e.padding.x-e.padding.z,Bv.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>Bv[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>Bv[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,Bv[n.axis]);m===kv?c(r,p,n):m===Fv&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(wp);bp._buildAccessors(Hv.prototype,Xv);var qv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._asset=null,n._model=null,n._mapping={},n._castShadows=!0,n._receiveShadows=!0,n._materialAsset=null,n._material=void 0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._layers=[0],n._batchGroupId=-1,n._customAabb=null,n._area=null,n._materialEvents=null,n._clonedModel=!1,n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.addModelToLayers=function(){for(var t=this.system.app.scene.layers,e=0;e=0&&(null==(n=t.batcher)||n.insert(Ho.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(Ho.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof Vf&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;n=this.system.app.assets.get(n)}n&&!n.resource&&this.system.app.assets.load(n)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var s=t.mesh;s instanceof qa||(s=null),this.emitter=new Nd(this.system.app.graphicsDevice,{numParticles:t.numParticles,emitterExtents:t.emitterExtents,emitterExtentsInner:t.emitterExtentsInner,emitterRadius:t.emitterRadius,emitterRadiusInner:t.emitterRadiusInner,emitterShape:t.emitterShape,initialVelocity:t.initialVelocity,wrap:t.wrap,localSpace:t.localSpace,screenSpace:t.screenSpace,wrapBounds:t.wrapBounds,lifetime:t.lifetime,rate:t.rate,rate2:t.rate2,orientation:t.orientation,particleNormal:t.particleNormal,animTilesX:t.animTilesX,animTilesY:t.animTilesY,animStartFrame:t.animStartFrame,animNumFrames:t.animNumFrames,animNumAnimations:t.animNumAnimations,animIndex:t.animIndex,randomizeAnimIndex:t.randomizeAnimIndex,animSpeed:t.animSpeed,animLoop:t.animLoop,startAngle:t.startAngle,startAngle2:t.startAngle2,scaleGraph:t.scaleGraph,scaleGraph2:t.scaleGraph2,colorGraph:t.colorGraph,colorGraph2:t.colorGraph2,alphaGraph:t.alphaGraph,alphaGraph2:t.alphaGraph2,localVelocityGraph:t.localVelocityGraph,localVelocityGraph2:t.localVelocityGraph2,velocityGraph:t.velocityGraph,velocityGraph2:t.velocityGraph2,rotationSpeedGraph:t.rotationSpeedGraph,rotationSpeedGraph2:t.rotationSpeedGraph2,radialSpeedGraph:t.radialSpeedGraph,radialSpeedGraph2:t.radialSpeedGraph2,colorMap:t.colorMap,normalMap:t.normalMap,loop:t.loop,preWarm:t.preWarm,sort:t.sort,stretch:t.stretch,alignToMotion:t.alignToMotion,lighting:t.lighting,halfLambert:t.halfLambert,intensity:t.intensity,depthSoftening:t.depthSoftening,scene:this.system.app.scene,mesh:s,depthWrite:t.depthWrite,noFog:t.noFog,node:this.entity,blendType:t.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,t.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this.system.app.scene.on("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.on("add",this.onLayerAdded,this),this.system.app.scene.layers.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&t.depthSoftening&&this._requestDepth()}},i.onDisable=function(){this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();og._skinInstanceCache=new Map;var hg=function(){function t(t,e,i,n,s){this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&this._registry.on("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.on("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.on("load:url:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:url:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:url:"+this.url,this._onRemove,this))},e._unbind=function(){this.id&&(this._onAssetLoad&&this._registry.off("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.off("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.off("load:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.url,this._onRemove,this))},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},y(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}]),t}(),lg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=[],n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._rootBone=new zm(w(n),"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,w(n)),n._assetReference=new hg("asset",w(n),e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},w(n)),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof Vf?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(i=t.batcher)||i.insert(Ho.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(Ho.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),Sg=new Bt,bg=new Bt,wg=new wt,Tg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new wt(1,1,1),n._angularVelocity=new wt,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new wt(1,1,1),n._linearVelocity=new wt,n._mask=__,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=d_,n}S(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(pg=new Ammo.btTransform,mg=new Ammo.btVector3,_g=new Ammo.btVector3,vg=new Ammo.btQuaternion)};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&this.system.onRemove(e,this);var i=this._type===f_?this._mass:0;this._getEntityTransform(pg);var n=this.system.createBody(i,t,pg);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===f_){var s=this._linearFactor;mg.setValue(s.x,s.y,s.z),n.setLinearFactor(mg);var r=this._angularFactor;mg.setValue(r.x,r.y,r.z),n.setAngularFactor(mg)}else this._type===p_&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case f_:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case p_:this.system._kinematic.push(this),e.forceActivationState(4);break;case d_:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),e instanceof wt?_g.setValue(e.x,e.y,e.z):void 0!==n?_g.setValue(n,s,r):_g.setValue(0,0,0),a.applyForce(mg,_g))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),n.applyTorque(mg))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),e instanceof wt?_g.setValue(e.x,e.y,e.z):void 0!==n?_g.setValue(n,s,r):_g.setValue(0,0,0),a.applyImpulse(mg,_g))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?mg.setValue(t.x,t.y,t.z):mg.setValue(t,e,i),n.applyTorqueImpulse(mg))},i.isStatic=function(){return this._type===d_},i.isStaticOrKinematic=function(){return this._type===d_||this._type===p_},i.isKinematic=function(){return this._type===p_},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();mg.setValue(n.x,n.y,n.z),vg.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();mg.setValue(r.x,r.y,r.z),vg.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(mg),t.setRotation(vg)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(pg),t.setWorldTransform(pg),this._type===p_){var e=t.getMotionState();e&&e.setWorldTransform(pg)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(pg);var n=pg.getOrigin(),s=pg.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=bg.copy(o).invert(),l=Sg.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,wg),i.setPosition(n.x()-wg.x,n.y()-wg.y,n.z()-wg.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(pg),t.setWorldTransform(pg))},i.teleport=function(t,e,i,n,s,r){t instanceof wt?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Bt?this.entity.setRotation(e):e instanceof wt?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},y(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===f_&&(mg.setValue(t.x,t.y,t.z),this._body.setAngularFactor(mg)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===f_){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===f_&&(this._body.activate(),mg.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(mg),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===f_&&(mg.setValue(t.x,t.y,t.z),this._body.setLinearFactor(mg)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===f_){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===f_&&(this._body.activate(),mg.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(mg),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===f_)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,mg),this._body.setMassProps(t,mg),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case f_:this._group=1,this._mask=m_;break;case p_:this._group=4,this._mask=m_;break;default:this._group=2,this._mask=__}this.createBody()}}}]),e}(bp),Ag=function(){this.enabled=!0},Cg=function(t,e,i,n){this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Eg=function(t,e,i){0===arguments.length?(this.a=null,this.b=null,this.impulse=0,this.localPointA=new wt,this.localPointB=new wt,this.pointA=new wt,this.pointB=new wt,this.normal=new wt):(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal)},Mg=function(t,e,i,n,s,r){void 0===t&&(t=new wt),void 0===e&&(e=new wt),void 0===i&&(i=new wt),void 0===n&&(n=new wt),void 0===s&&(s=new wt),void 0===r&&(r=0),this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},Pg=function(t,e){this.other=t,this.contacts=e},Rg=["enabled"],Ig=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new wt(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=Tg,i.DataType=Ag,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Rg,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,w(i)),i.on("remove",i.onRemove,w(i)),i}S(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}gg=new Ammo.btVector3,yg=new Ammo.btVector3,Tg.onLibraryLoaded(),this.contactPointPool=new xg(Mg,1),this.contactResultPool=new xg(Pg,1),this.singleContactResultPool=new xg(Eg,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var g=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));g&&(!(v=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(v=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(v||(v=this._storeCollision(u,c)),v&&c.rigidbody.fire("triggerenter",u)),S&&(v||(v=this._storeCollision(c,u)),v&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),w=this._hasContactEvent(u),T=this.hasEvent("contact");if(T||b||w){for(var A=0;A=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}]),e}(bp),Fg=function(){this.enabled=!0},Bg=["enabled"],Ug=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=kg,i.DataType=Fg,i.schema=Bg,i.windowResolution=new Et,i._drawOrderSyncQueue=new at,i.app.graphicsDevice.on("resizecanvas",i._onResize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.on("beforeremove",i.onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof Et?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof Et?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,Hg),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return _t.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:_t.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return sy.x=0===e?0:t.x/e,sy.y=0===i?0:t.y/-i,sy},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=_t.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=_t.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new Et(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function e(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=_t.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=_t.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},e}(bp),cy=function(){this.enabled=!0},uy=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],dy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=ly,i.DataType=cy,i.schema=uy,i.on("beforeremove",i._onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,uy)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(wp);bp._buildAccessors(ly.prototype,uy);var fy={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new wt,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},py=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof Vf&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(w(s)),s._onInstancePauseHandler=s._onInstancePause.bind(w(s)),s._onInstanceResumeHandler=s._onInstanceResume.bind(w(s)),s._onInstanceStopHandler=s._onInstanceStop.bind(w(s)),s._onInstanceEndHandler=s._onInstanceEnd.bind(w(s)),s}S(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof py?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new py(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}]),e}(bp),_y=function(){this.enabled=!0},vy=["enabled"],gy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=my,i.DataType=_y,i.schema=vy,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},y(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e;(this._sprite&&(this._sprite.off("set:meshes",this._onSpriteMeshesChange,this),this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this)),this._sprite=t,this._sprite&&(this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((e=this._component._meshInstance)&&(e.setParameter("texture_emissiveMap",t.atlas.texture),e.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((e=this._component._meshInstance)&&(e.deleteParameter("texture_emissiveMap"),e.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof Vf&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}]),e}(P),by="texture_emissiveMap",wy="texture_opacityMap",Ty="material_emissive",Ay="material_opacity",Cy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type=yy,n._material=e.defaultMaterial,n._color=new vt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new Et(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Pt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Pt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new hh,n._model=new Gu,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(w(n)),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Sy(w(n),{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}S(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene;(i.on("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.on("add",this._onLayerAdded,this),i.layers.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(Ho.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.off("add",this._onLayerAdded,this),i.layers.off("remove",this._onLayerRemoved,this)),this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Ho.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(Ho.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Ho.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Sy?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}]),e}(bp),Ey=function(){this.enabled=!0},My=["enabled"],Py=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=Cy,i.DataType=Ey,i.schema=My,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof vt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},y(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new Ls(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new lu;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=se,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}]),e}(wp);bp._buildAccessors(Cy.prototype,My);var Ry=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new wt,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},y(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof wt?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}]),e}(bp),Iy=function(){this.enabled=!0},Ly=["enabled"],Dy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Ry,i.DataType=Iy,i.schema=Ly,i.on("beforeremove",i._onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof wt?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(wp);bp._buildAccessors(Ry.prototype,Ly);var Oy=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},ky=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new Ls(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getHdrFormat(!1,!0,!1,!1)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new rn({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new Oy(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}]),e}(bp),By=function(){this.enabled=!0},Uy=["enabled"],Ny=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=Fy,i.DataType=By,i.schema=Uy,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.on("prerender",i.onAppPrerender,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),Mu(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(wp);bp._buildAccessors(Fy.prototype,Uy);var zy=[],Vy=[],Gy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}S(e,t);var i=e.prototype;return i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(o=e.ind),this._insertScriptInstance(r,o,a),this._scriptsIndex[s]={instance:r,onSwap:function(){i.swap(s)}},this[s]=r,e.preloading||r.__initializeAttributes(),this.fire("create",s,r),this.fire("create:"+s,r),this.system.app.scripts.on("swap:"+s,this._scriptsIndex[s].onSwap),e.preloading||(r.enabled&&!r._initialized&&(r._initialized=!0,r.initialize&&this._scriptMethod(r,Zy)),r.enabled&&!r._postInitialized&&(r._postInitialized=!0,r.postInitialize&&this._scriptMethod(r,Qy))),r}}else this._scriptsIndex[s]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(a.__initializeAttributes(),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},y(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){for(var e in this._scriptsData=t,t)if(t.hasOwnProperty(e)){var i=this._scriptsIndex[e];if(i){if("boolean"==typeof t[e].enabled&&(i.enabled=!!t[e].enabled),"object"==typeof t[e].attributes)for(var n in t[e].attributes)if(!Ky.reservedNames.has(n)){if(!i.__attributes.hasOwnProperty(n)){var s=this.system.app.scripts.get(e);s&&s.attributes.add(n,{})}i[n]=t[e].attributes[n]}}else console.log(this.order)}}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}]),e}(bp),Jy=function(){this.enabled=!0},tx=0,ex=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=$y,i.DataType=Jy,i._components=new ct({sortBy:"_executionOrder"}),i._enabledComponents=new ct({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,w(i)),i.app.systems.on("initialize",i._onInitialize,w(i)),i.app.systems.on("postInitialize",i._onPostInitialize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.app.systems.on("postUpdate",i._onPostUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=tx++,this._components.append(t),tx>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(wp),ix=function(t){function e(){var e;return(e=t.call(this)||this)._meshes=null,e}S(e,t);var i=e.prototype;return i.destroy=function(){this.meshes=null},i.decRefMeshes=function(){if(this._meshes)for(var t=this._meshes.length,e=0;e0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),mx=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},_x=function(t){if(cx)return!0;if(!t)if(ux)t=ux;else{var e=ht.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(cx=new px,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};_a.get(i,n,(function(i,n){i?e(i):t(n)}))}))),mx(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+lx.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},Lx=function(t,e,i,n,s,r,a){var o,h=new qa(t);h.aabb=Ex(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(jx.data.set(t.matrix),jx.getTranslation(qx),i.setLocalPosition(qx),jx.getEulerAngles(qx),i.setLocalEulerAngles(qx),jx.getScale(qx),i.setLocalScale(qx)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},Kx=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*_t.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new ip(t.name);return r.addComponent("camera",s),r},Zx=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new vt(t.color):vt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?_t.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*_t.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*_t.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*Uu.getLightUnitConversion(Ou[i.type],i.outerConeAngle,i.innerConeAngle));var n=new ip(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},Qx=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=Ax(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===D.paths[0].propertyPath[0]&&2!==D.interpolation&&v.push(P[P.length-1].output))}v.sort();var O,k=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:Kx,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},rS=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:Zx,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},aS=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},oS=(fx=v(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_,v,g,y,x,S,b,w,T,A,C,E,M,P,R;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=iS(i,r),d=nS(i,u),f=rS(i,u,r),p=sS(i,u,r),_=tS(i),t.next=12,Promise.all(n);case 12:return v=t.sent,g=$x(e,i,v,c,r),y=g.meshes,x=g.meshVariants,S=g.meshDefaultMaterials,b=g.promises,w=eS(i,u,v,r),t.next=17,Promise.all(s);case 17:for(T=t.sent,A=T.map((function(t){return t.resource})),C=Jx(i,A,r,c),E=Qx(e,i,u,v),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},cS=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){lS(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=ma.ResponseType.ARRAY_BUFFER:s.responseType=ma.ResponseType.JSON),_a.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===L.getExtension(t.original).toLowerCase()?cS.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new hx(1,t)})),r=e.outputs.map((function(t){return new hx(t.components,t.data)})),a=e.curves.map((function(t){return new ox([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new nm(i,n,s,r,a)},e.patch=function(t,e){},t}(),fS=function(){function t(t){this.handlerType="animstategraph",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return new Em(e)},e.patch=function(t,e){},t}(),pS=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),mS=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],_S=function(){function t(t){this.handlerType="audio",this.manager=t.soundManager,this.maxRetries=0}var e=t.prototype;return e._isSupported=function(t){var e=L.getExtension(t);return mS.indexOf(e)>-1},e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new Aa(t))}),i)}else i(null)},e.open=function(t,e){return e},e.patch=function(t,e){},e._createSound=function(t,e,i){if(va()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=ma.ResponseType.ARRAY_BUFFER),_a.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}pS&&document.body.appendChild(r);r.onerror=function(){r.onerror=null,pS&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",(function t(){r.removeEventListener("canplaythrough",t),pS&&document.body.removeChild(r),e(r)})),r.src=t}},t}(),vS=function(){function t(t){this.handlerType="binary",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{responseType:ma.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),gS=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;Vf.fetchArrayBuffer(t.load,(function(s,r){s?e(s):cS.parse(n._getUrlWithoutParams(t.original),L.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new gS(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),xS=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),SS=function(){function t(t){this.handlerType="container",this.glbContainerParser=new yS(t.graphicsDevice,t.assets,0),this.parsers={}}var e=t.prototype;return e._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},e._getParser=function(t){var e=t?L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){return this._getParser(t).open(t,e,i)},e.patch=function(t,e){},y(t,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}]),t}(),bS=function(){function t(t){this.handlerType="css",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),wS=function(){function t(t){this.handlerType="cubemap",this._device=t.graphicsDevice,this._registry=t.assets,this._loader=t.loader}var e=t.prototype;return e.load=function(t,e,i){this.loadAssets(i,e)},e.open=function(t,e,i){return i?i.resource:null},e.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},e.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},e.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},e.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?ii:ei:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new Ls(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=si,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=CS(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=CS(i.data)),this._loadTextures(t.load,i&&i.data,e))},e._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),LS=function(){function t(t){this.handlerType="hierarchy",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){IS.load(t,this.maxRetries,e)},e.open=function(t,e){this._app.systems.script.preloading=!0;var i=new RS(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},t}(),DS=function(){function t(t){this.handlerType="html",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),OS=function(){function t(t){this.handlerType="json",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=ma.ResponseType.JSON),_a.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),kS=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([se,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=tu,i=ru,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Ls||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Ls||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof Ls&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),FS=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new lu;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=x({},e.chunks)),e){var n=tu[i],s=e[i];if("vec2"===n)t[i]=new Et(s[0],s[1]);else if("rgb"===n)t[i]=new vt(s[0],s[1],s[2]);else if("texture"===n)s instanceof Ls?t[i]=s:t[i]instanceof Ls&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof Ls?t[i]=s:t[i]instanceof Ls&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new wt(s.center[0],s.center[1],s.center[2]),a=new wt(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new Ht(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;void 0===t.shadingModel&&("blinn"===t.shader?t.shadingModel=1:t.shadingModel=0),t.shader&&delete t.shader,t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},e.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},e._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new Ls(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},e.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},e._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},e._assignTexture=function(t,e,i){e.resource[t]=i},e._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=BS[t];return this._placeholderTextures[e]},e._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},e._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},e._onTextureAdd=function(t,e,i){this._assets.load(i)},e._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},e._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},e._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},e._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},e._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},e._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=eu;for(i=0;i0){for(var c=i.blendIndices.data[4*h+l],u=!0,d=0;dn)return!1;for(var f=0;f=0;n--)if(l[n].boneNames.length>i){var f=l.splice(n,1)[0],p=[];for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.push({mesh:o,node:u[r].node}),e&&e.push({material:e[r].material,path:e[r].path}));for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.splice(r,1),e&&e.splice(r,1))}!function(t){for(var e=t.vertices,i=t.skins,n=t.meshes,s=t.meshInstances,r=0;r0&&GS(s,null,this._device.getBoneLimit());for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new vr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new vr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=ma.ResponseType.ARRAY_BUFFER:s.responseType=ma.ResponseType.JSON),_a.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}();function ZS(t){this.resource&&(this.resource.atlas=t.resource)}function QS(t){this.registry.load(t)}var $S=function(){function t(t){this.handlerType="sprite",this._assets=t.assets,this._device=t.graphicsDevice,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===L.getExtension(t.original)&&_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},e.open=function(t,e){var i=new $d(this._device);return t&&(i.__data=e),i},e.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},e._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ZS,t),this._assets.on("load:"+t.data.textureAtlasAsset,ZS,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,QS,t),this._assets.on("add:"+t.data.textureAtlasAsset,QS,t))}else e.atlas=null},e._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ZS,t),this._assets.off("add:"+n.textureAtlasAsset,QS,t))},t}(),JS=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new RS(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),tb=function(){function t(t){this.handlerType="template",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};_a.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},e.open=function(t,e){return new JS(this._app,e)},t}(),eb=function(){function t(t){this.handlerType="text",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),ib={repeat:0,clamp:1,mirror:2},nb={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},sb=/^data\.frames\.(\d+)$/,rb=function(){function t(t){this.handlerType="textureatlas",this._loader=t.loader,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===L.getExtension(t.original)?_a.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},e.open=function(t,e){var i=new Jd;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},e.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==nb[t.data.minfilter]&&(i.minFilter=nb[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==nb[t.data.magfilter]&&(i.magFilter=nb[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==ib[t.data.addressu]&&(i.addressU=ib[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==ib[t.data.addressv]&&(i.addressV=ib[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?ii:ei;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Pt(a.rect),pivot:new Et(a.pivot),border:new Pt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},e._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Pt(n.rect),pivot:new Et(n.pivot),border:new Pt(n.border)};t.resource.frames=s}else{var a=e.match(sb);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Pt(i.rect),pivot:new Et(i.pivot),border:new Pt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},t}();function ab(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},v=21,g=22,y=23,x=8,S=10,b=26,w=27,T=28,A=29,C=30,E=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?v:g;case s:return y;case r:return x;case a:return S;case o:return b;case h:return w;case l:return T;case c:return A;case u:return C;case d:return E;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},D=function(){return"undefined"!=typeof performance?performance.now():0},O=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;_a.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else _a.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))},lb=function(){function t(){this.callbacks={},this.queue=[],this.clients=[]}var e=t.prototype;return e.enqueueJob=function(t,e,i,n){if(this.callbacks.hasOwnProperty(t))this.callbacks[t].push(i);else{this.callbacks[t]=[i];var s={url:t,data:e,options:n};this.clients.length>0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},e._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};_a.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},e._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},t}(),wb=[1481919403,3140563232,169478669],Tb={33776:8,33778:9,33779:re,36196:pe,37492:22,37496:23,35840:ve,35841:me,35842:ge,35843:_e,32849:6,32856:7,35905:19,35907:20,35898:fe,34843:ae,34842:oe};for(var Ab=function(){function t(t){this.maxRetries=0}var e=t.prototype;return e.load=function(t,e,i){Vf.fetchArrayBuffer(t.load,e,i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new Ls(i,x({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},e.parse=function(t){var e=new Uint32Array(t);if(wb[0]!==e[0]||wb[1]!==e[1]||wb[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=Tb[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===fe?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},t}(),Cb=166,Eb=function(){function t(t,e){this.maxRetries=0,this.device=e}var e=t.prototype;return e.load=function(t,e,i){var n=this;Vf.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=new Ls(i,x({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},e.parse=function(t,e,i,n){var s=new lt(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var w,T=128,A=d?6:1,C=c===f?8:16,E=0;E32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||0!=(128&s[2]))return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},e._getParser=function(t){var e=L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},e._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Ib[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Ib[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Rb[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Rb[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Lb[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=ii:t.file&&0!=(8&t.file.opt)&&(e.type=ri)}return e},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new Ls(this._device,{width:4,height:4,format:6}):(!function(t){var e=Math.log2(Math.max(t._width,t._height))+1;if(!(7!==t._format&&t._format!==le||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},e.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);sthis.views.length;){var a=this.viewsPool.pop();a||(a={viewport:new Pt,projMat:new Ft,viewMat:new Ft,viewOffMat:new Ft,viewInvMat:new Ft,viewInvOffMat:new Ft,projViewOffMat:new Ft,viewMat3:new At,position:new Float32Array(3),rotation:new Bt}),this.views.push(a)}for(;r0){var p=new Ft,m=this.views[0];p.copy(m.projMat);var _=p.data,v=2*Math.atan(1/_[5])*180/Math.PI,g=_[5]/_[0],y=_[14]/(_[10]+1),x=_[14]/(_[10]-1);this._camera.camera.setXrProperties({aspectRatio:g,farClip:y,fov:v,horizontalFov:!1,nearClip:x})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===Bb&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.depthSensing.supported&&this.depthSensing.update(t,n&&n.views[0]),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t)),this.fire("update",t),!0},y(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}]),e}(P),Tw=function(t){function e(e,i){var n;void 0===i&&(i={}),n=t.call(this,e)||this;var s=new up;return s.graphicsDevice=n.createDevice(e,i),n.addComponentSystems(s),n.addResourceHandles(s),s.elementInput=i.elementInput,s.keyboard=i.keyboard,s.mouse=i.mouse,s.touch=i.touch,s.gamepads=i.gamepads,s.scriptPrefix=i.scriptPrefix,s.assetPrefix=i.assetPrefix,s.scriptsOrder=i.scriptsOrder,s.soundManager=new Ta,s.lightmapper=Sp,s.batchManager=Eh,s.xr=ww,n.init(s),n}S(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new lr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Ig,L_,Cv,cm,Im,Zv,fg,Ny,Xy,bf.legacy?Yg:ex,Nm,gy,km,rg,Ug,vv,s_,hy,dy,Py,jv,Rv,Dy]},i.addResourceHandles=function(t){t.resourceHandlers=[ax,uS,dS,fS,jS,US,Ob,eb,OS,_S,YS,qS,wS,DS,bS,KS,LS,TS,ES,vS,rb,$S,tb,SS]},e}(hp),Aw=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof Vf)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),Cw=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new Ls(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),Ew=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new vt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}S(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new Cw(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=rt.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dw&&(w=this.fontSize*this.fontSize/T,o.ctx.font=this.fontWeight+" "+w.toString()+"px "+this.fontName,T=this.fontSize),this.renderCharacter(o.ctx,S,g+_,y+v,n);var A=this.padding+(this.glyphSize-T)/2,C=-this.padding+u[S].descent-c,E=T;this._addChar(this.data,S,b,g,y,p,m,A,C,E,a-1,e,i),(g+=p)+p>e&&(g=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,Mw,Pw,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(Ui.NOBLEND)})),Mw.length=0)}}},e}(uo),Iw=new Set,Lw=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof nn&&(t=vf()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new Rw(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){var s=this.device;if("object"==typeof t){var r=t;t=r.x,e=r.y,i=r.width,n=r.height}else e=this.renderTarget.height-(e+(n||1));t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i||1,1)),n=Math.floor(Math.max(n||1,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var a=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,a),s.updateEnd();for(var o=this.mapping,h=0;h0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return S(e,t),e}(hT),cT=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return S(e,t),e}(hT),uT=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return S(e,t),e}(hT),dT=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(Zr.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(Zr.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=aw,this._lastY=ow)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new cT(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new cT(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,aw,ow)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new lT(e,i,s,aw,ow,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new lT(e,this._pressedElement,s,aw,ow,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new lT(e,n,s,aw,ow,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new lT(e,this._hoveredElement,s,aw,ow,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new lT(e,this._hoveredElement,s,aw,ow,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(Nw,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new uT(i,a,r,e)),s&&this._fireEvent("selectenter",new uT(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new uT(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new uT(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new uT(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new uT(i,l,r,e)),l&&l===a&&this._fireEvent("click",new uT(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);aw=t.clientX-i,ow=t.clientY-n},e._calcTouchCoords=function(t){for(var e=0,i=0,n=t.target;!(n instanceof HTMLElement);)n=n.parentNode;var s=n;do{e+=s.offsetLeft-s.scrollLeft,i+=s.offsetTop-s.scrollTop,s=s.offsetParent}while(s);return{x:t.pageX-e,y:t.pageY-i}},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,Bw)?Bw:null,s=this._calculateRay3d(e,i,t,Uw)?Uw:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){Bw.origin.copy(t.origin),Bw.direction.copy(t.direction),Bw.end.copy(Bw.direction).mulScalar(2*e.farClip).add(Bw.origin);var i=Bw,n=e.worldToScreen(i.origin,kw),s=this._calculateRayScreen(n.x,n.y,e,Uw)?Uw:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,kw),i.screenToWorld(d,f,i.farClip,Fw),n.origin.copy(kw),n.direction.set(0,0,-1),n.end.copy(Fw),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){zw.sub2(e,t),Vw.sub2(i[0],t),Gw.sub2(i[1],t),Hw.sub2(i[2],t),Xw.cross(Hw,zw);var n,s,r=Vw.dot(Xw);if(r>=0){if((n=-Gw.dot(Xw))<0)return-1;if((s=oT(zw,Gw,Vw))<0)return-1;var a=1/(n+r+s);jw.copy(i[0]).mulScalar(n*a),qw.copy(i[1]).mulScalar(r*a),Yw.copy(i[2]).mulScalar(s*a),Kw.copy(jw).add(qw).add(Yw)}else{if(Ww.sub2(i[3],t),(n=Ww.dot(Xw))<0)return-1;if((s=oT(zw,Vw,Ww))<0)return-1;var o=1/(n+(r=-r)+s);jw.copy(i[0]).mulScalar(n*o),qw.copy(i[3]).mulScalar(r*o),Yw.copy(i[2]).mulScalar(s*o),Kw.copy(jw).add(qw).add(Yw)}return zw.sub2(i[0],i[2]).lengthSq()<1e-8||zw.sub2(i[1],i[3]).lengthSq()<1e-8?-1:Kw.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||aT;$w.copy(t.entity.up),Jw.copy($w).mulScalar(-1),eT.copy(t.entity.right),tT.copy(eT).mulScalar(-1),$w.mulScalar(s.w*i.y),Jw.mulScalar(s.y*i.y),eT.mulScalar(s.z*i.x),tT.mulScalar(s.x*i.x),iT.copy(n[0]).add(Jw).add(tT),nT.copy(n[1]).add(Jw).add(eT),sT.copy(n[2]).add($w).add(eT),rT.copy(n[3]).add($w).add(tT),n=[iT,nT,sT,rT]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for(Qw.set(i,i,i);e&&!e.screen;)Qw.mul(e.getLocalScale()),e=e.parent;return Qw},t.calculateScaleToWorld=function(t){var e=t.entity;for(Qw.set(1,1,1);e;)Qw.mul(e.getLocalScale()),e=e.parent;return Qw},y(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||vf()},set:function(t){this._app=t}}]),t}(),fT=new RegExp("^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^\\(\\s\\/]*)\\s*"),pT=function(t){function e(e){var i;return(i=t.call(this)||this).app=void 0,i.entity=void 0,i._enabled=void 0,i._enabledOld=void 0,i._initialized=void 0,i._postInitialized=void 0,i.__destroyed=void 0,i.__attributes=void 0,i.__attributesRaw=void 0,i.__scriptType=void 0,i.__executionOrder=void 0,i.initScriptType(e),i}S(e,t);var i=e.prototype;return i.initScriptType=function(t){var e=this.constructor;this.app=t.app,this.entity=t.entity,this._enabled="boolean"!=typeof t.enabled||t.enabled,this._enabledOld=this.enabled,this.__destroyed=!1,this.__attributes={},this.__attributesRaw=t.attributes||{},this.__scriptType=e,this.__executionOrder=-1},e.__getScriptName=function(t){if("function"==typeof t){if("name"in Function.prototype)return t.name;if(t===Function||t===Function.prototype.constructor)return"Function";var e=(""+t).match(fT);return e?e[1]:void 0}},i.__initializeAttributes=function(t){if(t||this.__attributesRaw){for(var e in this.__scriptType.attributes.index)this.__attributesRaw&&this.__attributesRaw.hasOwnProperty(e)?this[e]=this.__attributesRaw[e]:this.__attributes.hasOwnProperty(e)||(this.__scriptType.attributes.index[e].hasOwnProperty("default")?this[e]=this.__scriptType.attributes.index[e].default:this[e]=null);this.__attributesRaw=null}},e.extend=function(t){for(var e in t)t.hasOwnProperty(e)&&(this.prototype[e]=t[e])},y(e,[{key:"enabled",get:function(){return this._enabled&&!this._destroyed&&this.entity.script.enabled&&this.entity.enabled},set:function(t){this._enabled=!!t,this.enabled!==this._enabledOld&&(this._enabledOld=this.enabled,this.fire(this.enabled?"enable":"disable"),this.fire("state",this.enabled),!this._initialized&&this.enabled&&(this._initialized=!0,this.__initializeAttributes(!0),this.initialize&&this.entity.script._scriptMethod(this,Zy)),this._initialized&&!this._postInitialized&&this.enabled&&!this.entity.script._beingEnabled&&(this._postInitialized=!0,this.postInitialize&&this.entity.script._scriptMethod(this,Qy)))}}],[{key:"scriptName",get:function(){return this.__name}},{key:"attributes",get:function(){return this.hasOwnProperty("__attributes")||(this.__attributes=new Ky(this)),this.__attributes}}]),e}(P);pT.__name=null;var mT=new Set(["system","entity","create","destroy","swap","move","data","scripts","_scripts","_scriptsIndex","_scriptsData","enabled","_oldState","onEnable","onDisable","onPostStateChange","_onSetEnabled","_checkState","_onBeforeRemove","_onInitializeAttributes","_onInitialize","_onPostInitialize","_onUpdate","_onPostUpdate","_callbacks","_callbackActive","has","get","on","off","fire","once","hasEvent"]);function _T(t,e){if(bf.legacy)return null;if(mT.has(t))throw new Error("Script name '"+t+"' is reserved, please rename the script");var i=function(t){P.prototype.initEventHandler.call(this),pT.prototype.initScriptType.call(this,t)};return(i.prototype=Object.create(pT.prototype)).constructor=i,i.extend=pT.extend,i.attributes=new Ky(i),gT(i,t,e),i}var vT={};function gT(t,e,i){if(!t.legacy){if("function"!=typeof t)throw new Error("script class: '"+t+"' must be a constructor function (i.e. class).");if(!(t.prototype instanceof pT))throw new Error("script class: '"+pT.__getScriptName(t)+"' does not extend pc.ScriptType.");if(e=e||t.__name||pT.__getScriptName(t),mT.has(e))throw new Error("script name: '"+e+"' is reserved, please change script name");t.__name=e,(i?i.scripts:hp.getApplication().scripts).add(t),yf.push(t,t.legacy)}}Ky.reservedNames.forEach((function(t,e,i){vT[t]=1})),_T.reservedAttributes=vT;var yT={write:function(t){console.log(t)},open:function(){yT.write("Powered by PlayCanvas "+c+" "+u)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){yT.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&yT.write("ASSERT: "+e)}};rt.endsWith=function(t,e){return t.endsWith(e)},rt.startsWith=function(t,e){return t.startsWith(e)};var xT=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=dt()},e.stop=function(){this._isRunning=!1,this._b=dt()},e.getMilliseconds=function(){return this._b-this._a},t}(),ST={now:dt,Timer:xT};Object.defineProperty(vt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(vt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),_t.INV_LOG2=Math.LOG2E,_t.intToBytes=_t.intToBytes32,_t.bytesToInt=_t.bytesToInt32,Object.defineProperty(Et.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),Et.prototype.scale=Et.prototype.mulScalar,Object.defineProperty(wt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),wt.prototype.scale=wt.prototype.mulScalar,Object.defineProperty(Pt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Pt.prototype.scale=Pt.prototype.mulScalar;var bT={Aabb:Ht,Sphere:jt,Plane:te};jt.prototype.intersectRay=jt.prototype.intersectsRay,qt.prototype.update=function(t,e){var i=new Ft;i.mul2(t,e),this.setFromMat4(i)};var wT=mi;function TT(t){this.name="UnsupportedBrowserError",this.message=t||""}function AT(t){this.name="ContextCreationError",this.message=t||""}TT.prototype=Error.prototype,AT.prototype=Error.prototype;var CT={begin:xo.begin,dummyFragmentCode:ir.dummyFragmentCode,end:xo.end,fogCode:xo.fogCode,gammaCode:xo.gammaCode,precisionCode:ir.precisionCode,skinCode:xo.skinCode,tonemapCode:xo.tonemapCode,versionCode:ir.versionCode},ET={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:se,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:mi,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:be,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:we,SEMANTIC_NORMAL:Te,SEMANTIC_COLOR:Me,SEMANTIC_TEXCOORD:Pe,SEMANTIC_TEXCOORD0:Re,SEMANTIC_TEXCOORD1:Ie,SEMANTIC_ATTR0:Ne,SEMANTIC_ATTR1:ze,SEMANTIC_ATTR2:Ve,SEMANTIC_ATTR3:Ge,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Ro,programlib:CT,shaderChunks:_o,ContextCreationError:AT,Device:nn,IndexBuffer:vr,ProgramLibrary:uf,RenderTarget:rn,ScopeId:Hi,Shader:fs,ShaderInput:Fs,Texture:Ls,UnsupportedBrowserError:TT,VertexBuffer:ji,VertexFormat:Ji,VertexIterator:Lr},MT=new Pt;function PT(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=MT.set(s.x*a,s.y*o,s.z*a,s.w*o)}Ro(t,e,n,r)}var RT={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:PT,PostEffect:of,PostEffectQueue:ky};Object.defineProperty(_o,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+_o.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(_o,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(rn.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(Ji,"defaultInstancingFormat",{get:function(){return Ji.getDefaultInstancingFormat(Ha.get())}}),Object.defineProperties(Ls.prototype,{rgbm:{get:function(){return this.type===ii},set:function(t){this.type=t?ii:ei}},swizzleGGGR:{get:function(){return this.type===ri},set:function(t){this.type=t?ri:ei}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(nn.prototype,"webgl2",{get:function(){return this.isWebGL2}}),nn.prototype.getProgramLibrary=function(){return go(this)},nn.prototype.setProgramLibrary=function(t){yo(this,t)},nn.prototype.removeShaderFromCache=function(t){go(this).removeFromCache(t)},Ui.DEFAULT=Object.freeze(new Ui);var IT=new Ui,LT=new Ni;nn.prototype.setBlendFunction=function(t,e){var i=this.blendState;IT.copy(i),IT.setColorBlend(i.colorOp,t,e),IT.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(IT)},nn.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;IT.copy(s),IT.setColorBlend(s.colorOp,t,e),IT.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(IT)},nn.prototype.setBlendEquation=function(t){var e=this.blendState;IT.copy(e),IT.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),IT.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(IT)},nn.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;IT.copy(i),IT.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),IT.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(IT)},nn.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;IT.copy(s),IT.setColorWrite(t,e,i,n),this.setBlendState(IT)},nn.prototype.getBlending=function(){return this.blendState.blend},nn.prototype.setBlending=function(t){IT.copy(this.blendState),IT.blend=t,this.setBlendState(IT)},nn.prototype.setDepthWrite=function(t){LT.copy(this.depthState),LT.write=t,this.setDepthState(LT)},nn.prototype.setDepthFunc=function(t){LT.copy(this.depthState),LT.func=t,this.setDepthState(LT)},nn.prototype.setDepthTest=function(t){LT.copy(this.depthState),LT.test=t,this.setDepthState(LT)},nn.prototype.getCullMode=function(){return this.cullMode};var DT=lu,OT=Hh,kT={partitionSkin:GS,procedural:{calculateTangents:$a,createMesh:Ja,createTorus:to,createCylinder:io,createCapsule:no,createCone:so,createSphere:ro,createPlane:ao,createBox:oo},BasicMaterial:Vo,ForwardRenderer:yu,GraphNode:hh,Material:zo,Mesh:qa,MeshInstance:yh,Model:Gu,ParticleEmitter:Nd,PhongMaterial:lu,Picker:Lw,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:Yd,Skin:Kd,SkinInstance:Xo};function FT(t,e){Object.defineProperty(lu.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function BT(t,e){"pass"!==t&&Object.defineProperty(Xc.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(Yd.prototype,"defaultMaterial",{get:function(){return Bo(vf().graphicsDevice)}}),Object.defineProperty(Ru.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(Yd.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(Yd.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(Yd.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(Cu.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyCameras=!0},get:function(){return this._renderTarget}}),Yd.prototype._updateSkybox=function(t){this._updateSky(t)},Yd.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},Yd.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},Yd.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},Yd.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},Yd.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},Yd.prototype.getModels=function(t){return this.models},Object.defineProperty(Go.prototype,"model",{get:function(){return null}}),yu.prototype.renderComposition=function(t){vf().renderComposition(t)},yh.prototype.syncAabb=function(){},Hu.prototype.getTarget=function(t){return this.targets[t]},hh.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},hh.prototype.addLabel=function(t){this._labels[t]=!0},hh.prototype.getLabels=function(){return Object.keys(this._labels)},hh.prototype.hasLabel=function(t){return!!this._labels[t]},hh.prototype.removeLabel=function(t){delete this._labels[t]},hh.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))}()}))},t.createMesh=Ja,t.createPlane=ao,t.createScript=_T,t.createShader=So,t.createShaderFromCode=bo,t.createSphere=ro,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=to,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?ux=t:_x(t)},t.drawFullscreenQuad=PT,t.drawQuadWithShader=Ro,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Ro(t,i,n,s,r)},t.events=R,t.extend=p,t.getPixelFormatArrayType=Se,t.getReservedScriptNames=function(){return mT},t.getTouchTargetCoords=ua,t.gfx=ET,t.guid=I,t.http=_a,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=HT,t.isCompressedPixelFormat=xe,t.log=yT,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=_t,t.now=dt,t.path=L,t.pixelFormatInfo=ye,t.platform=G,t.posteffect=RT,t.prefilterCubemap=function(t){},t.programlib=CT,t.registerScript=gT,t.reprojectTexture=Gc,t.revision=u,t.scene=kT,t.script=bf,t.semanticToLocation=Ri,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=bo(t,_o.fullscreenQuadVS,_o.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new Ls(t,{name:"prefiltered-cube",cubemap:!1,type:ei,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new Ls(t,{name:"prefiltered-cube",cubemap:!1,type:ei,format:e.format,width:n,height:n,mipmaps:!1}),c=new rn({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(Ui.NOBLEND),Ro(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p>>0,n=arguments[1]>>0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r>>0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),e(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),e(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),e(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var i=0,n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];i=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:L(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function _(t,e,i,n,s,r,a){try{var o=t[r](a),h=o.value}catch(t){return void i(t)}o.done?e(h):Promise.resolve(h).then(n,s)}function g(t){return function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){_(r,n,s,a,o,"next",t)}function o(t){_(r,n,s,a,o,"throw",t)}a(void 0)}))}}function v(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var E=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();E._traceChannels=new Set,E.stack=!1;var M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.off(this.name,this.callback,this.scope)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},y(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}]),t}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=A(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(L.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==L.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==L.delimiter&&(s+=L.delimiter),s},split:function(t){var e=t.lastIndexOf(L.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return L.split(t)[1]},getDirectory:function(t){return L.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(L.isRelativePath(t))if("."===i[0])for(n=0;n0),N=!("browser"!==O||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={name:k,environment:O,global:"browser"===O?window:global,browser:"browser"===O,desktop:["windows","osx","linux","cros"].includes(k),mobile:["android","ios"].includes(k),ios:"ios"===k,android:"android"===k,xbox:B,gamepads:N,touch:U,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,q=56319,j=56320,Y=57343,K=127462,Z=127487,Q=65024,$=65039;function J(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=q){var s=t.charCodeAt(e+1);if(s>=j&&s<=Y)return{code:1024*(n-X)+s-j+65536,long:!0}}return{code:n,long:!1}}function tt(t,e,i){if(!t)return!1;var n=J(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function et(t,e){if(e===t.length-1)return 1;if(tt(t[e],X,q)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return tt(n,127995,127999)||tt(i,K,Z)&&tt(n,K,Z)?4:tt(n,Q,$)?3:2}return tt(t[e+1],Q,$)?2:1}var it,nt,st,rt={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=J(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=J(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},at=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),ot=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();ot.modules={},ot.wasmSupported=(it=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},st=nt={},function(){return st===nt&&(st=it()),st});var ht=function(){function t(){}return t.setConfig=function(t,e){var i=ot.getModule(t);i.config=e,i.callbacks.length>0&&ot.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=ot.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=ot.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&ot.initialize(t,i))},t}(),lt=function(){function t(t){this.arraybuffer=t,this.dataView=new DataView(t),this.offset=0,this.stack=[]}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},y(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}]),t}(),ct=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ut=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}S(e,t);var i=e.prototype;return i.add=function(){var t=!1,e=this._processArguments(arguments,!0);if(!e.length)return t;for(var i=0;i=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*_t.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),_t.lerp(t,e,_t.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=_t.intToBytes32(i):(e=_t.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ft=gt,gt.BLACK=Object.freeze(new ft(0,0,0,1)),gt.BLUE=Object.freeze(new ft(0,0,1,1)),gt.CYAN=Object.freeze(new ft(0,1,1,1)),gt.GRAY=Object.freeze(new ft(.5,.5,.5,1)),gt.GREEN=Object.freeze(new ft(0,1,0,1)),gt.MAGENTA=Object.freeze(new ft(1,0,1,1)),gt.RED=Object.freeze(new ft(1,0,0,1)),gt.WHITE=Object.freeze(new ft(1,1,1,1)),gt.YELLOW=Object.freeze(new ft(1,1,0,1));var vt,yt,xt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?_t.lerp(this._p0,this._p1,s):1===n?_t.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),St=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new xt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=p(t.keys,this.keys),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-wt*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-wt*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-wt*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=_t.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),Et=function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=void 0,this.y=void 0,this.z=void 0,3===t.length?(this.x=t[0],this.y=t[1],this.z=t[2]):(this.x=t,this.y=e,this.z=i)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.cross=function(t,e){var i=t.x,n=t.y,s=t.z,r=e.x,a=e.y,o=e.z;return this.x=n*o-a*s,this.y=s*r-o*i,this.z=i*a-r*n,this},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();vt=Et,Et.ZERO=Object.freeze(new vt(0,0,0)),Et.ONE=Object.freeze(new vt(1,1,1)),Et.UP=Object.freeze(new vt(0,1,0)),Et.DOWN=Object.freeze(new vt(0,-1,0)),Et.RIGHT=Object.freeze(new vt(1,0,0)),Et.LEFT=Object.freeze(new vt(-1,0,0)),Et.FORWARD=Object.freeze(new vt(0,0,-1)),Et.BACK=Object.freeze(new vt(0,0,1));var Mt,Pt=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,g=l*r-a*h,v=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*g;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=g*S,b[7]=v*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();yt=Pt,Pt.IDENTITY=Object.freeze(new yt),Pt.ZERO=Object.freeze((new yt).set([0,0,0,0,0,0,0,0,0]));var Rt,It=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*_t.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*_t.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*_t.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Mt=It,It.ZERO=Object.freeze(new Mt(0,0)),It.ONE=Object.freeze(new Mt(1,1)),It.UP=Object.freeze(new Mt(0,1)),It.DOWN=Object.freeze(new Mt(0,-1)),It.RIGHT=Object.freeze(new Mt(1,0)),It.LEFT=Object.freeze(new Mt(-1,0));var Lt,Dt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Rt=Dt,Dt.ZERO=Object.freeze(new Rt(0,0,0,0)),Dt.ONE=Object.freeze(new Rt(1,1,1,1));var Ot,kt=new It,Ft=new Et,Bt=new Et,Ut=new Et,Nt=new Et,zt=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],g=a[8],v=a[9],y=a[10],x=a[11],S=a[12],b=a[13],w=a[14],T=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+g*s+S*r,h[1]=c*i+p*n+v*s+b*r,h[2]=u*i+m*n+y*s+w*r,h[3]=d*i+_*n+x*s+T*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+g*s+S*r,h[5]=c*i+p*n+v*s+b*r,h[6]=u*i+m*n+y*s+w*r,h[7]=d*i+_*n+x*s+T*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+g*s+S*r,h[9]=c*i+p*n+v*s+b*r,h[10]=u*i+m*n+y*s+w*r,h[11]=d*i+_*n+x*s+T*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+g*s+S*r,h[13]=c*i+p*n+v*s+b*r,h[14]=u*i+m*n+y*s+w*r,h[15]=d*i+_*n+x*s+T*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],g=r[12],v=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+g,o[13]=l*i+d*n+m*s+v,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Dt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ut.sub2(t,e).normalize(),Bt.copy(i).normalize(),Ft.cross(Bt,Ut).normalize(),Bt.cross(Ut,Ft);var n=this.data;return n[0]=Ft.x,n[1]=Ft.y,n[2]=Ft.z,n[3]=0,n[4]=Bt.x,n[5]=Bt.y,n[6]=Bt.z,n[7]=0,n[8]=Ut.x,n[9]=Ut.y,n[10]=Ut.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(kt,e,i,n,r),this.setFrustum(-kt.x,kt.x,-kt.y,kt.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=_t.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],g=e[15],v=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,w=s*l-r*h,T=c*m-u*p,A=c*_-d*p,C=c*g-f*p,E=u*_-d*m,M=u*g-f*m,P=d*g-f*_,R=v*P-y*M+x*E+S*C-b*A+w*T;if(0===R)this.setIdentity();else{var I=1/R,L=this.data;L[0]=(o*P-h*M+l*E)*I,L[1]=(-n*P+s*M-r*E)*I,L[2]=(m*w-_*b+g*S)*I,L[3]=(-u*w+d*b-f*S)*I,L[4]=(-a*P+h*C-l*A)*I,L[5]=(i*P-s*C+r*A)*I,L[6]=(-p*w+_*x-g*y)*I,L[7]=(c*w-d*x+f*y)*I,L[8]=(a*M-o*C+l*T)*I,L[9]=(-i*M+n*C-r*T)*I,L[10]=(p*b-m*x+g*v)*I,L[11]=(-c*b+u*x-f*v)*I,L[12]=(-a*E+o*A-h*T)*I,L[13]=(i*E-n*A+s*T)*I,L[14]=(-p*S+m*y-_*v)*I,L[15]=(c*S-u*y+d*v)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,g=s*d,v=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+v))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+v))*h,b[6]=(g+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(g-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new Et),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new Et),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new Et),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new Et),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new Et),this.getX(Ft),this.getY(Bt),this.getZ(Ut),t.set(Ft.length(),Bt.length(),Ut.length()),t},e.setFromEulerAngles=function(t,e,i){t*=_t.DEG_TO_RAD,e*=_t.DEG_TO_RAD,i*=_t.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new Et),this.getScale(Nt);var e=Nt.x,i=Nt.y,n=Nt.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(_t.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},y(t,[{key:"scaleSign",get:function(){return this.getX(Ft),this.getY(Bt),this.getZ(Ut),Ft.cross(Ft,Bt),Ft.dot(Ut)<0?-1:1}}]),t}();Lt=zt,zt.IDENTITY=Object.freeze(new Lt),zt.ZERO=Object.freeze((new Lt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Vt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(_t.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*_t.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof Et){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*_t.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i,n,s,r,a,o,h,l,c,u,d,f,p;if(e=(t=t.data)[0],i=t[1],n=t[2],s=t[4],r=t[5],a=t[6],o=t[8],h=t[9],l=t[10],0===(d=e*e+i*i+n*n))return this;if(d=1/Math.sqrt(d),0===(f=s*s+r*r+a*a))return this;if(f=1/Math.sqrt(f),0===(p=o*o+h*h+l*l))return this;i*=d,n*=d,s*=f,a*=f,o*=p=1/Math.sqrt(p),h*=p;var m=(e*=d)+(r*=f)+(l*=p);return m>=0?(c=Math.sqrt(m+1),this.w=.5*c,c=.5/c,this.x=(a-h)*c,this.y=(o-n)*c,this.z=(i-s)*c):e>r?e>l?(u=e-(r+l)+1,u=Math.sqrt(u),this.x=.5*u,u=.5/u,this.w=(a-h)*u,this.y=(i+s)*u,this.z=(n+o)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u):r>l?(u=r-(l+e)+1,u=Math.sqrt(u),this.y=.5*u,u=.5/u,this.w=(o-n)*u,this.z=(a+h)*u,this.x=(s+i)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u),this},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ot=Vt,Vt.IDENTITY=Object.freeze(new Ot(0,0,0,1)),Vt.ZERO=Object.freeze(new Ot(0,0,0,0));var Gt=new Et,Ht=new Et,Wt=new Et,Xt=new Et,qt=new Et,jt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=new Et(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new Et,this._max=new Et,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,g=m.y,v=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,w=_-x,T=_+x,A=g-S,C=g+S,E=v-b,M=v+b;wc&&(c=T),Ad&&(d=C),Ep&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Gt.copy(this.getMin()).sub(t.origin),n=Ht.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=Wt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Xt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Gt,i=Ht,n=Wt,s=Xt,r=qt,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var g=1/Math.sqrt(m);l*=g,c*=g,u*=g}if((m=d*d+f*f+p*p)>0){var v=1/Math.sqrt(m);d*=v,f*=v,p*=v}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Gt,Ht,i),this.setMinMax(Gt,Ht)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Gt.add2(this.getMin(),t),Ht.add2(this.getMax(),e),this.setMinMax(Gt,Ht)},t}(),Yt=new Et,Kt=new Et,Zt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Yt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Yt.sub2(t.center,this.center);var e=t.radius+this.radius;return Yt.lengthSq()<=e*e},t}(),Qt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),$t=function(){function t(t,e){this.origin=new Et,this.direction=Et.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Jt=new $t,te=new Et,ee=new Zt,ie=new zt,ne=function(){function t(t,e){void 0===t&&(t=new zt),void 0===e&&(e=new Et(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new jt(new Et,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Jt.origin),this._modelTransform.transformVector(t.direction,Jt.direction),e){var i=this._aabb._intersectsRay(Jt,e);return ie.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Jt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,te),this._aabb.containsPoint(te)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,ee.center),ee.radius=t.radius,!!this._aabb.intersectsBoundingSphere(ee)},y(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}]),t}(),se=function(){function t(t,e){void 0===t&&(t=Et.UP),void 0===e&&(e=0),this.normal=new Et,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),re="linear",ae="inverse",oe="exponential",he=0,le=10,ce=11,ue=12,de=13,fe=14,pe=15,me=16,_e=17,ge=18,ve=21,ye=24,xe=25,Se=26,be=27,we=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[ce,{name:"RGB16F",size:8}],[ue,{name:"RGBA16F",size:8}],[de,{name:"RGB32F",size:16}],[fe,{name:"RGBA32F",size:16}],[pe,{name:"R32F",size:4}],[me,{name:"DEPTH",size:4}],[_e,{name:"DEPTHSTENCIL",size:4}],[ge,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[le,{name:"DXT5",blockSize:16}],[ve,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[ye,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[xe,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[Se,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[be,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}]]),Te=function(t){return void 0!==we.get(t).blockSize},Ae=function(t){switch(t){case de:case fe:return Float32Array;case 3:case 4:case 5:case ce:case ue:return Uint16Array;default:return Uint8Array}},Ce=5,Ee="POSITION",Me="NORMAL",Pe="TANGENT",Re="BLENDWEIGHT",Ie="BLENDINDICES",Le="COLOR",De="TEXCOORD",Oe="TEXCOORD0",ke="TEXCOORD1",Fe="TEXCOORD2",Be="TEXCOORD3",Ue="TEXCOORD4",Ne="TEXCOORD5",ze="TEXCOORD6",Ve="TEXCOORD7",Ge="ATTR",He="ATTR0",We="ATTR1",Xe="ATTR2",qe="ATTR3",je="ATTR4",Ye="ATTR5",Ke="ATTR6",Ze="ATTR7",Qe="ATTR8",$e="ATTR9",Je="ATTR10",ti="ATTR11",ei="ATTR12",ii="ATTR13",ni="ATTR14",si="ATTR15",ri="default",ai="rgbm",oi="rgbe",hi="rgbp",li="swizzleGGGR",ci="2d",ui="2d-array",di="cube",fi="3d",pi="none",mi="cube",_i="equirect",gi="octahedral",vi="wgsl",yi=1,xi=13,Si=14,bi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bec2","bec3","bec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","",""],wi="webgl1",Ti="webgl2",Ai="webgpu",Ci="null",Ei=["mesh","view"],Mi="default",Pi=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Uint16Array],Ri=[1,1,2,2,4,4,4,2],Ii={Int8Array:0,Uint8Array:yi,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},Li=[Uint8Array,Uint16Array,Uint32Array],Di=[1,2,4],Oi={};Oi[Ee]=0,Oi[Me]=1,Oi[Re]=2,Oi[Ie]=3,Oi[Le]=4,Oi[Oe]=5,Oi[ke]=6,Oi[Fe]=7,Oi[Be]=8,Oi[Ue]=9,Oi[Ne]=10,Oi[ze]=11,Oi[Ve]=12,Oi[Pe]=13,Oi[He]=0,Oi[We]=1,Oi[Xe]=2,Oi[qe]=3,Oi[je]=4,Oi[Ye]=5,Oi[Ke]=6,Oi[Ze]=7,Oi[Qe]=8,Oi[$e]=9,Oi[Je]=10,Oi[ti]=11,Oi[ei]=12,Oi[ii]=13,Oi[ni]=14,Oi[si]=15;var ki,Fi,Bi="1.65",Ui=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},zi=function(t,e,i){void 0===i&&(i=1);var n=i<>>0}var Ji,tn=function(){function t(){this.map=new Map,this.id=0}return t.prototype.get=function(t){var e=this.map.get(t);return void 0===e&&(e=this.id++,this.map.set(t,e)),e},t}(),en=new tn,nn=[2,4,8,12,16],sn=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Ri[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?_:1),this.autoResolve=null==(a=t.autoResolve)||a,this.name=t.name,this.name)||(this.name=null==(p=this._colorBuffer)?void 0:p.name);this.name||(this.name=null==(m=this._depthBuffer)?void 0:m.name);this.name||(this.name="Untitled"),this.flipY=null!=(o=t.flipY)&&o,this.validateMrt(),this.impl=f.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){if(this.width!==t||this.height!==e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)}},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},y(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}]),t}(),cn=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=0;return e.uniformBuffers.forEach((function(t){var e=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:s++,resource:{buffer:e,offset:0,size:t.format.byteSize}})})),e.textures.forEach((function(e,r){var a=e.impl,o=n.textureFormats[r],h=a.getView(t);i.push({binding:s++,resource:h});var l=a.getSampler(t,o.sampleType);i.push({binding:s++,resource:l})})),e.storageTextures.forEach((function(e,n){var r=e.impl.getView(t);i.push({binding:s++,resource:r})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),un=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),dn=[];dn[0]="",dn[1]="r8unorm",dn[2]="rg8unorm",dn[3]="",dn[4]="",dn[5]="",dn[6]="rgba8unorm",dn[7]="rgba8unorm",dn[8]="bc1-rgba-unorm",dn[9]="bc2-rgba-unorm",dn[10]="bc3-rgba-unorm",dn[11]="",dn[12]="rgba16float",dn[13]="",dn[14]="rgba32float",dn[15]="r32float",dn[16]="depth32float",dn[17]="depth24plus-stencil8",dn[18]="rg11b10ufloat",dn[19]="",dn[20]="",dn[21]="",dn[22]="etc2-rgb8unorm",dn[23]="etc2-rgba8unorm",dn[24]="",dn[25]="",dn[26]="",dn[27]="",dn[28]="astc-4x4-unorm",dn[29]="",dn[30]="",dn[31]="bgra8unorm";var fn=[];fn[0]="filtering",fn[1]="non-filtering",fn[2]="comparison";var pn=[];pn[0]="float",pn[1]="unfilterable-float",pn[2]="depth";var mn=new tn,_n=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=mn.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.getTextureSlot=function(t,e){return t.bufferFormats.length+2*e},e.createDescriptor=function(t){var e=[],i="",n=0;return t.bufferFormats.forEach((function(t){var s=un.shaderStage(t.visibility);i+="#"+n+"U:"+s,e.push({binding:n++,visibility:s,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var s=un.shaderStage(t.visibility),r=t.sampleType,a=t.textureDimension,o=pn[r];i+="#"+n+"T:"+s+"-"+o+"-"+a+"-false",e.push({binding:n++,visibility:s,texture:{sampleType:o,viewDimension:a,multisampled:false}});var h=fn[r];i+="#"+n+"S:"+s+"-"+h,e.push({binding:n++,visibility:s,sampler:{type:h}})})),t.storageTextureFormats.forEach((function(t){var s=t.format,r=t.textureDimension;i+="#"+n+"ST:"+s+"-"+r,e.push({binding:n++,visibility:GPUShaderStage.COMPUTE,storageTexture:{access:"write-only",format:dn[s],viewDimension:r}})})),{key:i,descr:{entries:e}}},t}(),gn=function(){function t(){this.buffer=null}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.unlock=function(t,e,i,n){var s,r,a=t.wgpu;if(!this.buffer){var o=n.byteLength+3&-4;this.buffer=t.wgpu.createBuffer({size:o,usage:i|GPUBufferUsage.COPY_DST})}var h=null!=(s=n.byteOffset)?s:0,l=new Uint8Array(null!=(r=n.buffer)?r:n,h,n.byteLength),c=new Uint8Array(this.buffer.size);c.set(l),a.queue.writeBuffer(this.buffer,0,c,0,c.length)},y(t,[{key:"initialized",get:function(){return!!this.buffer}}]),t}(),vn=function(t){function e(e){var i;return(i=t.call(this)||this).format=null,i.format=1===e.format?"uint16":"uint32",i}return S(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.usage,GPUBufferUsage.INDEX,e.storage)},e}(gn),yn=function(t,e){if(t.size!==e.size)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),wn=function(){function t(t){this.device=t}return t.prototype.getPipelineLayout=function(t){var e=[];t.forEach((function(t){e.push(t.bindGroupLayout)}));var i={bindGroupLayouts:e};return this.device.wgpu.createPipelineLayout(i)},t}(),Tn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],An=["add","subtract","reverse-subtract","min","max"],Cn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],En=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],Mn=["none","back","front"],Pn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Rn=function(){this.pipeline=void 0,this.hashes=void 0},In=function(t){function e(e){var i;return(i=t.call(this,e)||this).lookupHashes=new Uint32Array(13),i.vertexBufferLayout=new bn,i.cache=new Map,i}S(e,t);var i=e.prototype;return i.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,g,v,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(g=r[1])?void 0:g.key)?_:0,x[10]=null!=(v=null==(y=r[2])?void 0:y.key)?v:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=$i(x),b=this.cache.get(S);if(b)for(var w=0;w0){f.fragment={module:d.getFragmentShaderModule(),entryPoint:d.fragmentEntryPoint,targets:[]};var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},e}(wn),Ln=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.get=function(t,e){var i=this.getPipelineLayout([e.impl]);return this.create(t,i)},i.create=function(t,e){var i=this.device.wgpu,n=t.impl,s={compute:{module:n.getComputeShaderModule(),entryPoint:n.computeEntryPoint},layout:e};return i.createComputePipeline(s)},e}(wn),Dn=new tn,On=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),kn=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=Dn.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new On),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s>e,1)},t.calcMipLevelsCount=function(t,e,i){return void 0===i&&(i=1),1+Math.floor(Math.log2(Math.max(t,e,i)))},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=we.get(n),h=null!=(s=null==(r=we.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==ye&&n!==xe||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),is=[];is[0]="repeat",is[1]="clamp-to-edge",is[2]="mirror-repeat";var ns=[];ns[0]={level:"nearest",mip:"nearest"},ns[1]={level:"linear",mip:"nearest"},ns[2]={level:"nearest",mip:"nearest"},ns[3]={level:"nearest",mip:"linear"},ns[4]={level:"linear",mip:"nearest"},ns[5]={level:"linear",mip:"linear"};var ss=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=dn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC|(Te(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|(i.storage?GPUTextureUsage.STORAGE_BINDING:0)},this.gpuTexture=n.createTexture(this.descr),this.texture.format===_e&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:is[n.addressU],addressModeV:is[n.addressV],addressModeW:is[n.addressW]};!e&&n.compareOnRead&&(e=2),2===e?(s.compare="less",s.magFilter="linear",s.minFilter="linear"):1===e||this.texture.format===fe||this.texture.format===_e||this.texture.format===ue?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=ns[n.magFilter].level,s.minFilter=ns[n.minFilter].level,s.mipmapFilter=ns[n.minFilter].mip);var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?_t.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=e.requiredMipLevels,s=0;s<=|&+-]/g,_s=function(){function t(){}return t.run=function(t,e){void 0===e&&(e=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var i=new Map;if(e){var n=new Map,s=t.match(/(pcFragColor[1-8])\b/g);null==s||s.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);n.set(i,(null!=(e=n.get(i))?e:0)+1)})),n.forEach((function(t,e){1===t&&i.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,i);var r=new Map;return i.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&r.set(e,t)})),null!==t&&(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).map((function(t){return r.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t})).join("\n"),t=t.replace(/(\n\n){3,}/gm,"\n\n")),t},t._preprocess=function(e,i){void 0===i&&(i=new Map);for(var n,s=e,r=[],a=!1;null!==(n=os.exec(e));){var o=n[1];switch(o){case"define":hs.lastIndex=n.index;var h=hs.exec(e);a||(a=null===h);var l=h[1];fs.lastIndex=h.index;var c=fs.exec(l)[1],u=l.substring(c.length).trim();""===u&&(u="true"),t._keep(r)&&i.set(c,u),os.lastIndex=h.index+h[0].length;break;case"undef":cs.lastIndex=n.index;var d=cs.exec(e),f=d[1].trim();t._keep(r)&&i.delete(f),os.lastIndex=d.index+d[0].length;break;case"extension":ls.lastIndex=n.index;var p=ls.exec(e);if(a||(a=null===p),p){var m=p[1];t._keep(r)&&i.set(m,"true")}os.lastIndex=p.index+p[0].length;break;case"ifdef":case"ifndef":case"if":us.lastIndex=n.index;var _=us.exec(e),g=_[2],v=t.evaluate(g,i);a||(a=v.error);var y=v.result;"ifndef"===o&&(y=!y),r.push({anyKeep:y,keep:y,start:n.index,end:us.lastIndex}),os.lastIndex=_.index+_[0].length;break;case"endif":case"else":case"elif":ds.lastIndex=n.index;var x=ds.exec(e),S=r.pop(),b=S.keep?e.substring(S.end,n.index):"";e=e.substring(0,S.start)+b+e.substring(ds.lastIndex),os.lastIndex=S.start+b.length;var w=x[1];if("else"===w||"elif"===w){var T=!1;if(!S.anyKeep)if("else"===w)T=!S.keep;else{var A=t.evaluate(x[2],i);T=A.result,a||(a=A.error)}r.push({anyKeep:S.anyKeep||T,keep:T,start:os.lastIndex,end:os.lastIndex})}}}return a?(console.warn("Failed to preprocess shader: ",{source:s}),s):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),E.get(l))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setDepthBias=function(t){},n.setDepthBiasValues=function(t,e){},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(on),Bs=0,Us=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,g,v,y,x,S,b,w;(void 0===e&&(e={}),this.name=void 0,this._isRenderTarget=!1,this._gpuSize=0,this.id=Bs++,this._invalid=!1,this._lockedLevel=-1,this.renderVersionDirty=0,this._storage=!1,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=Te(this._format),t.supportsVolumeTextures)?(this._volume=null!=(S=e.volume)&&S,this._depth=Math.floor(null!=(b=e.depth)?b:1),this._arrayLength=Math.floor(null!=(w=e.arrayLength)?w:0)):(this._volume=!1,this._depth=1,this._arrayLength=0);this._storage=null!=(a=e.storage)&&a,this._cubemap=null!=(o=e.cubemap)&&o,this.fixCubemapSeams=null!=(h=e.fixCubemapSeams)&&h,this._flipY=null!=(l=e.flipY)&&l,this._premultiplyAlpha=null!=(c=e.premultiplyAlpha)&&c,this._mipmaps=null==(u=null!=(d=e.mipmaps)?d:e.autoMipmap)||u,this._minFilter=null!=(f=e.minFilter)?f:5,this._magFilter=null!=(p=e.magFilter)?p:1,this._anisotropy=null!=(m=e.anisotropy)?m:1,this._addressU=null!=(_=e.addressU)?_:0,this._addressV=null!=(g=e.addressV)?g:0,this._addressW=null!=(v=e.addressW)?v:0,this._compareOnRead=null!=(y=e.compareOnRead)&&y,this._compareFunc=null!=(x=e.compareFunc)?x:1,this.type=ri,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?ai:ri:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?li:ri),this.projection=pi,this._cubemap?this.projection=mi:e.projection&&e.projection!==mi&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=Math.floor(t),this._height=Math.floor(e),this._depth=Math.floor(i),this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){void 0===t&&(t={}),void 0===t.level&&(t.level=0),void 0===t.face&&(t.face=0),void 0===t.mode&&(t.mode=2),this._lockedLevel=t.level;var e=this.cubemap?this._levels[t.face]:this._levels;if(null===e[t.level]){var i=Math.max(1,this._width>>t.level),n=Math.max(1,this._height>>t.level),s=Math.max(1,this._depth>>t.level),r=new ArrayBuffer(es.calcLevelGpuSize(i,n,s,this._format));e[t.level]=new(Ae(this._format))(r)}return e[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedLevel,this.upload(),this._lockedLevel=-1},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=g(m().mark((function t(){var e,i,n,s=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=m().mark((function t(){var i,r,a,o;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new ln({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),y(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?es.calcMipLevelsCount(this.width,this.height):1}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(this._minFilter=t,this.propertyChanged(1))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(this._magFilter=t,this.propertyChanged(2))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this._mipmaps=t,this.device.isWebGPU,t&&(this._needsMipmapsUpload=!0))}},{key:"storage",get:function(){return this._storage}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return es.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"array",get:function(){return this._arrayLength>0}},{key:"arrayLength",get:function(){return this._arrayLength}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return _t.powerOfTwo(this._width)&&_t.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case ai:return"rgbm";case oi:return"rgbe";case hi:return"rgbp";default:return this.format===ce||this.format===de||this.format===ue||this.format===fe?"linear":"srgb"}}}]),t}(),Ns=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s=t.gl;if(this.bufferId)s.bindBuffer(i,this.bufferId),s.bufferSubData(i,0,n);else{var r;switch(e){case 0:r=s.STATIC_DRAW;break;case 1:r=s.DYNAMIC_DRAW;break;case 2:r=s.STREAM_DRAW;break;case 3:r=t.isWebGL2?s.DYNAMIC_COPY:s.STATIC_DRAW}this.bufferId=s.createBuffer(),s.bindBuffer(i,this.bufferId),s.bufferData(i,n,r)}},y(t,[{key:"initialized",get:function(){return!!this.bufferId}}]),t}(),zs=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var $s=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this._glCreated=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=Qs(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,this._glFormat,this._glPixelType,h):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?this._glCreated&&l?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glInternalFormat,l):i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&l?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,l):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else if(e._volume)e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n));else if(e.array&&"object"==typeof n){if(e._arrayLength===n.length)if(e._compressed)for(var c=0;ct.maxTextureSize||n.height>t.maxTextureSize)&&(n=Qs(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height));var d=n.width||n.videoWidth,f=n.height||n.videoHeight;t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&e._width===d&&e._height===f?i.texSubImage2D(i.TEXTURE_2D,r,0,0,this._glFormat,this._glPixelType,n):(i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n),0===r&&(e._width=d,e._height=f))}else s=1/Math.pow(2,r),e._compressed?this._glCreated&&n?i.compressedTexSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),this._glInternalFormat,n):i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&n?i.texSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,n):i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n));e._mipmapsUploaded=0!==r}r++}else r++;if(e._needsUpload)if(e._cubemap)for(var p=0;p<6;p++)e._levelsUpdated[0][p]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize),this._glCreated=!0}},t}(),Js=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),tr=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var g=i.createRenderbuffer();this._glMsaaColorBuffers.push(g);var v=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,g),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,v,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,g)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s),o=or[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++),n=t.indexOf("attribute",n+1)}return e},t}(),lr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),cr=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new lr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f=120||115===l)&&(i.antialias=!1)}}var c=null;if(s.backBufferAntialias=null!=(n=i.antialias)&&n,i.antialias=!1,i.gl)c=i.gl;else for(var u=void 0===i.preferWebGl2||i.preferWebGl2?["webgl2","webgl","experimental-webgl"]:["webgl","experimental-webgl"],d=0;d0;var S=s.vertexUniformsCount;return S-=16,S-=8,S-=1,S-=16,s.boneLimit=Math.floor(S/3),s.boneLimit=Math.min(s.boneLimit,128),"Mali-450 MP"===s.unmaskedRenderer&&(s.boneLimit=34),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=pr(c,c.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=pr(c,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=ue:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=fe),s.postInit(),s}S(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new cr(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new ln({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new zs},n.createIndexBufferImpl=function(t){return new Vs(t)},n.createShaderImpl=function(t){return new Zs(t)},n.createTextureImpl=function(t){return new $s},n.createRenderTargetImpl=function(t){return new tr},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,ur)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,_t.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?u.drawElementsInstanced(S,b,T,A,e):u.drawElements(S,b,T,A)}else{var C=t.base;e>0?u.drawArraysInstanced(S,C,b,e):u.drawArrays(S,C,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(u.endTransformFeedback(),u.bindBufferBase(u.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(Gi.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(Hi.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m)}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return _.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setDepthBias=function(t){this.depthBiasEnabled!==t&&(this.depthBiasEnabled=t,t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL))},n.setDepthBiasValues=function(t,e){this.gl.polygonOffset(e,t)},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=an.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=an.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(t===he)this.gl.disable(this.gl.CULL_FACE);else{this.cullMode===he&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t){if(t!==this.shader){if(t.failed)return!1;if(!t.ready&&!t.impl.finalize(this,t))return t.failed=!0,!1;this.shader=t,this.gl.useProgram(t.impl.glProgram),this.attributesInvalidated=!0}return!0},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},y(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new vs(t,hr.createDefinition(t,{name:"ptest1",vertexCode:dr,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new vs(t,hr.createDefinition(t,{name:"ptest2",vertexCode:dr,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:fe,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new Us(t,n),r=new ln({colorBuffer:s,depth:!1});fr(t,r,e),n.format=7;var a=new Us(t,n),o=new ln({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),fr(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}]),e}(on),_r=function(){function t(){}return t.prototype.unlock=function(t){},t}(),gr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),vr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),yr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),xr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),Sr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=Ci,n.samples=1,n}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.createVertexBufferImpl=function(t,e){return new xr(t,e)},i.createIndexBufferImpl=function(t){return new _r(t)},i.createShaderImpl=function(t){return new vr(t)},i.createTextureImpl=function(t){return new yr(t)},i.createRenderTargetImpl=function(t){return new gr(t)},i.draw=function(t,e,i){},i.setShader=function(t){return!0},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.clear=function(t){},i.setDepthBias=function(t){},i.setDepthBiasValues=function(t,e){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(on);var br=function(){function t(t,e){this.shader=null,this.device=t,this.shader=e,t.supportsCompute&&(this.impl=t.createComputeImpl(this))}return t.prototype.dispatch=function(t,e,i){var n;null==(n=this.impl)||n.dispatch(t,e,i)},t}(),wr=0,Tr=function(){function t(t,e,i,n,s){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=wr++,this.impl=t.createIndexBufferImpl(this);var r=Di[e];this.bytesPerIndex=r,this.numBytes=this.numIndices*r,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),sa()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"===i.type||"mouseup"===i.type?this.button=i.button:this.button=-1,this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=i.ctrlKey||!1,this.altKey=i.altKey||!1,this.shiftKey=i.shiftKey||!1,this.metaKey=i.metaKey||!1,this.event=i},aa=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._upHandler=i._handleUp.bind(w(i)),i._downHandler=i._handleDown.bind(w(i)),i._moveHandler=i._handleMove.bind(w(i)),i._wheelHandler=i._handleWheel.bind(w(i)),i._contextMenuHandler=function(t){t.preventDefault()},i._target=null,i._attached=!1,i.attach(e),i}S(e,t),e.isPointerLocked=function(){return sa()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),e&&document.addEventListener("pointerlockerror",(function t(){e(),document.removeEventListener("pointerlockerror",t)}),!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new ra(this,t);e.event&&this.fire(Yr,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new ra(this,t);e.event&&this.fire(qr,e)},i._handleMove=function(t){var e=new ra(this,t);e.event&&(this.fire(jr,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new ra(this,t);e.event&&this.fire(Kr,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P),oa=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,this._element=null,this._actions={},this._axes={},this._axesValues={},t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:Wr,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:Hr,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:Xr,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new aa,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new na,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),ha=Object.freeze([]),la=function(){return ha};"undefined"!=typeof navigator&&(la=(navigator.getGamepads||navigator.webkitGetGamepads||la).bind(navigator));var ca={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},ua={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},da={"Product: 0268":"PS3"},fa={};function pa(t){var e=fa[t.id];if(e)return e;for(var i in da)if(-1!==t.id.indexOf(i)){var n=da[i];if(!t.mapping){var s=ua["RAW_"+n];if(s)return s}return ua[n]}if("xr-standard"===t.mapping)return ua.DEFAULT_XR;var r=ua.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),va=Object.freeze(new ga(0)),ya=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new ga(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=ca.axes,r=ca.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;ama?e:0},y(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}]),t}(),xa=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(w(e)),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(w(e)),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}S(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new ya(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(Zr,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(Qr,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=la(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var Ia=function(){function t(t){this._manager=t,this.position=new Et,this.velocity=new Et,this.orientation=new zt}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},y(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}]),t}(),La="running",Da=["click","touchstart","mousedown"],Oa=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(w(e)),e._userSuspended=!1,e.listener=new Ia(w(e)),e._volume=1,e}S(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===La&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==La&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return Ma&&(i=new Ma(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return Pa&&((n=new Pa(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===La||this._resume()},i._registerUnlockListeners=function(){var t=this;Da.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;Da.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},y(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==La&&this._registerUnlockListeners()),this._context}}]),e}(P),ka=function(){function t(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}return y(t,[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]),t}();function Fa(t,e){return t%e||0}var Ba=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,Ea()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(w(s))):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(w(s)),s._timeUpdateHandler=s._onTimeUpdate.bind(w(s)),s._endedHandler=s._onEnded.bind(w(s)),s._createSource()),s}S(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=Fa(this._startOffset,this.duration),t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=Fa(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,Fa(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=Fa((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},y(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?Fa(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}]),e}(P);Ea()||(Object.assign(Ba.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>Fa(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=Fa(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(Ba.prototype,"volume",{get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(Ba.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(Ba.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(Ba.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=Fa(this._startTime+Fa(t,this.duration),this._sound.duration),this._startOffset=null))}}));var Ua=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new Et,s._velocity=new Et,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:re,s}return S(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},y(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}]),e}(Ba);if(!Ea()){var Na=new Et;Object.defineProperty(Ua.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(Na=Na.sub2(t,e)).length();if(an)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(Ua.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(Ua.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(Ua.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(Ua.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var za="none",Va="linear",Ga={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},Ha="mul",Wa=32,Xa=128,qa=256,ja=512,Ya=1024,Ka=2048,Za=4096,Qa=8192,$a=function(){function t(){this._refCount=0}var e=t.prototype;return e.incRefCount=function(){this._refCount++},e.decRefCount=function(){this._refCount--},y(t,[{key:"refCount",get:function(){return this._refCount}}]),t}(),Ja=function(){function t(){}return t.set=function(e){t._graphicsDevice=e},t.get=function(){return t._graphicsDevice},t}();Ja._graphicsDevice=null;var to=0,eo=function(){function t(){this.initDefaults()}var e=t.prototype;return e.initDefaults=function(){this.recreate=!1,this.verticesUsage=0,this.indicesUsage=0,this.maxVertices=0,this.maxIndices=0,this.vertexCount=0,this.indexCount=0,this.vertexStreamsUpdated=!1,this.indexStreamUpdated=!1,this.vertexStreamDictionary={},this.indices=null},e._changeVertexCount=function(t,e){this.vertexCount||(this.vertexCount=t)},t}();eo.DEFAULT_COMPONENTS_POSITION=3,eo.DEFAULT_COMPONENTS_NORMAL=3,eo.DEFAULT_COMPONENTS_UV=2,eo.DEFAULT_COMPONENTS_COLORS=4;var io=function(t,e,i,n){this.data=t,this.componentCount=e,this.dataType=i,this.dataTypeNormalize=n},no=function(t){function e(e){var i;return(i=t.call(this)||this)._aabbVer=0,i._aabb=new jt,i.id=to++,i.device=e||Ja.get(),i.vertexBuffer=null,i.indexBuffer=[null],i.primitive=[{type:0,base:0,count:0}],i.skin=null,i._morph=null,i._geometryData=null,i.boneAabb=null,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this.morph;t&&(this.morph=null,t.refCount<1&&t.destroy()),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);for(var e=0;e0){var S=g.array[g.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>w&&(r.y=w),r.z>T&&(r.z=T),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r){void 0===s&&(s=6),void 0===r&&(r=!1),this._initGeometryData();var a=n||e.length/i;this._geometryData._changeVertexCount(a,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new io(e,i,s,r)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new Gr(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(Ee,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(Me,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=eo.DEFAULT_COMPONENTS_UV),this.setVertexStream(De+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Le,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Le,t,eo.DEFAULT_COMPONENTS_COLORS,e,yi,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(Ee,t)},i.getNormals=function(t){return this.getVertexStream(Me,t)},i.getUvs=function(t,e){return this.getVertexStream(De+t,e)},i.getColors=function(t){return this.getVertexStream(Le,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[Ee];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize})}return new sn(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new Zi(this.device,e,t,this._geometryData.verticesUsage)}var i=new Gr(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices>65535?2:1;this.indexBuffer[0]=new Tr(this.device,t,this._geometryData.maxIndices,this._geometryData.indicesUsage)}var e=this._geometryData.indices;e&&(this.indexBuffer[0].writeData(e,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new Li[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new Tr(this.vertexBuffer.device,t,i.length);new Li[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},y(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}]),e}($a),so=4/64,ro=1-2*so,ao=[];function oo(t,e){for(var i=e.length/3,n=t.length/3,s=new Et,r=new Et,a=new Et,o=new Et,h=new Et,l=new Et,c=[],u=0;u0)for(var v=0;v<=n;v++)for(var y=0;y<=s;y++){var x=y/s*2*Math.PI-Math.PI,S=Math.sin(x),b=Math.cos(x);u.set(S*t,-i/2,b*t),c.set(S*e,i/2,b*e),o.lerp(u,c,v/n),h.sub2(c,u).normalize(),d.set(b,0,-S),l.cross(d,h).normalize(),f.push(o.x,o.y,o.z),p.push(l.x,l.y,l.z);var w=y/s,T=v/n;m.push(w,1-T);var A=T;if(T=w,w=(w=A)*ro+so,T=T*ro+so,w/=3,_.push(w,1-T),v0)for(var ut=0;ut1&&g.push(a,a+ut,a+ut-1)}if(a+=s,e>0)for(var vt=0;vt1&&g.push(a,a+vt-1,a+vt)}}return{positions:f,normals:p,uvs:m,uvs1:_,indices:g}}function fo(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h,l,c,!1);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function po(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h-2*o,l,c,!0);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function mo(t,e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18,f=null!=(o=e.calculateTangents)&&o,p=uo(h,l,c,u,d,!1);return f&&(p.tangents=ho(p.positions,p.normals,p.uvs,p.indices)),lo(t,p.positions,p)}function _o(t,e){var i,n,s,r;void 0===e&&(e={});for(var a=null!=(i=e.radius)?i:.5,o=null!=(n=e.latitudeBands)?n:16,h=null!=(s=e.longitudeBands)?s:16,l=null!=(r=e.calculateTangents)&&r,c=[],u=[],d=[],f=[],p=0;p<=o;p++)for(var m=p*Math.PI/o,_=Math.sin(m),g=Math.cos(m),v=0;v<=h;v++){var y=2*v*Math.PI/h-Math.PI/2,x=Math.sin(y),S=Math.cos(y)*_,b=g,w=x*_,T=1-v/h,A=1-p/o;c.push(S*a,b*a,w*a),u.push(S,b,w),d.push(T,1-A)}for(var C=0;C shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_albedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:So,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:bo,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:er,gles3PS:ir,gles3VS:nr,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = cross(V1, V2);\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix, emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos, frameRandom, localVelocityDivMult, velocityDivMult;\nuniform float delta, rate, rateDiv, lifetime, numParticles, rotSpeedDivMult, radialSpeedDivMult, seed;\nuniform float startAngle, startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(internalTex0, vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(internalTex1, vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(internalTex3, vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles, numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale, emitterPos, faceTangent, faceBinorm;\nuniform float rate, rateDiv, lifetime, deltaRandomnessStatic, scaleDivMult, alphaDivMult, seed, delta;\nuniform sampler2D particleTexOUT, particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSphereLowPS:"\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = vNormalV;\n\tvec2 sphereMapUv = reflDirV.xy * 0.5 + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * thickness * modelScale;\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec4 params;\nuniform vec2 params2;\nfloat targetFace() { return params.x; }\nfloat specularPower() { return params.y; }\nfloat sourceCubeSeamScale() { return params.z; }\nfloat targetCubeSeamScale() { return params.w; }\nfloat targetTotalPixels() { return params2.x; }\nfloat sourceTotalPixels() { return params2.y; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+So+"\n"+bo+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(sampler2D tex, vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\nvoid main(void) {\n\tvec3 dir=vViewDir;\n\tdir.x *= -1.0;\n\tvec3 linear = $DECODE(textureCube(texture_cubeMap, fixSeamsStatic(dir, $FIXCONST)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\nvoid main(void) {\n\tmat4 view = matrix_view;\n\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\tgl_Position.z = gl_Position.w - 0.00001;\n\tvViewDir = aPosition * cubeMapRotationMatrix;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:sr,webgpuVS:rr},To=new Hs;function Ao(t){return To.get(t)}function Co(t,e){To.get(t,(function(){return e}))}var Eo=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return e||(e=wo),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return e||(e=wo),"linear"===t?e.fogLinearPS?e.fogLinearPS:wo.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:wo.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:wo.fogExp2PS:e.fogNonePS?e.fogNonePS:wo.fogNonePS},t.gammaCode=function(t,e){return e||(e=wo),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:wo.gamma1_0PS},t.tonemapCode=function(t,e){return e||(e=wo),1===t?e.tonemappingFilmicPS?e.tonemappingFilmicPS:wo.tonemappingFilmicPS:0===t?e.tonemappingLinearPS?e.tonemappingLinearPS:wo.tonemappingLinearPS:2===t?e.tonemappingHejlPS?e.tonemappingHejlPS:wo.tonemappingHejlPS:3===t?e.tonemappingAcesPS?e.tonemappingAcesPS:wo.tonemappingAcesPS:4===t?e.tonemappingAces2PS?e.tonemappingAces2PS:wo.tonemappingAces2PS:e.tonemapingNonePS?e.tonemapingNonePS:wo.tonemappingNonePS},t}();function Mo(t,e,i,n){return void 0===n&&(n=!1),new vs(t,hr.createDefinition(t,{name:e+"_"+i,vertexCode:wo[e],fragmentCode:wo[i],useTransformFeedback:n}))}function Po(t,e,i,n,s,r){void 0===r&&(r=!1);var a=Ao(t),o=a.getCachedShader(n);return o||(o=new vs(t,hr.createDefinition(t,{name:n,vertexCode:e,fragmentCode:i,attributes:s,useTransformFeedback:r})),a.setCachedShader(n,o)),o}var Ro=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}S(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(Eo);function Io(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new Ro(s,n),a="shader",o=Ao(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return o.unregister(a),h}wo.createShader=Mo,wo.createShaderFromCode=Po;var Lo={type:Ce,base:0,count:4,indexed:!1},Do=new Dt,Oo=new Dt,ko=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new xo;this.shader=Io(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new As(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new xs(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(Do.set(n.vx,n.vy,n.vw,n.vh),Oo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Lo),t&&(n.setViewport(Do.x,Do.y,Do.z,Do.w),n.setScissor(Oo.x,Oo.y,Oo.z,Oo.w))},t}(),Fo=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).quad=i,r.rect=n,r.scissorRect=s,r}return S(e,t),e.prototype.execute=function(){var t=this.device;t.setCullMode(he),t.setDepthState(Hi.NODEPTH),t.setStencilState(null,null),this.quad.render(this.rect,this.scissorRect)},e}(Er),Bo=new Dt;function Uo(t,e,i,n,s){var r=new ko(i);n||((n=Bo).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new Fo(t,r,n,s);a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var No=new Hs,zo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefine=void 0,this.name=t,this.index=e,Object.assign(this,i),this.initShaderDefines()}return t.prototype.initShaderDefines=function(){var t;this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK");var e=t?"#define "+t+"_PASS\n":"",i="#define "+this.name.toUpperCase()+"_PASS\n";this.shaderDefines=e+i},t}(),Vo=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow")}t.get=function(e){return No.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new zo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Go=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createShaderDefinition=function(t,e){var i={vertex_position:Ee};e.skin&&(i.vertex_boneWeights=Re,i.vertex_boneIndices=Ie),e.vertexColors&&(i.vertex_color=Le),e.diffuseMap&&(i.vertex_texCoord0=Oe);var n=Vo.get(t).getByIndex(e.pass).shaderDefines,s=n;s+=wo.transformDeclVS,e.skin?(s+=Eo.skinCode(t),s+=wo.transformSkinnedVS):s+=wo.transformVS,e.vertexColors&&(s+="attribute vec4 vertex_color;\n",s+="varying vec4 vColor;\n"),e.diffuseMap&&(s+="attribute vec2 vertex_texCoord0;\n",s+="varying vec2 vUv0;\n"),2===e.pass&&(s+="varying float vDepth;\n",s+="#ifndef VIEWMATRIX\n",s+="#define VIEWMATRIX\n",s+="uniform mat4 matrix_view;\n",s+="#endif\n",s+="#ifndef CAMERAPLANES\n",s+="#define CAMERAPLANES\n",s+="uniform vec4 camera_params;\n\n",s+="#endif\n"),s+=Eo.begin(),s+=" gl_Position = getPosition();\n",2===e.pass&&(s+=" vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n"),e.vertexColors&&(s+=" vColor = vertex_color;\n"),e.diffuseMap&&(s+=" vUv0 = vertex_texCoord0;\n"),s+=Eo.end();var r=n;return e.vertexColors?r+="varying vec4 vColor;\n":r+="uniform vec4 uColor;\n",e.diffuseMap&&(r+="varying vec2 vUv0;\n",r+="uniform sampler2D texture_diffuseMap;\n"),e.fog&&(r+=Eo.fogCode(e.fog)),e.alphaTest&&(r+=wo.alphaTestPS),2===e.pass&&(r+="varying float vDepth;\n",r+=wo.packDepthPS),r+=Eo.begin(),e.vertexColors?r+=" gl_FragColor = vColor;\n":r+=" gl_FragColor = uColor;\n",e.diffuseMap&&(r+=" gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n"),e.alphaTest&&(r+=" alphaTest(gl_FragColor.a);\n"),3!==e.pass&&(2===e.pass?r+=" gl_FragColor = packFloat(vDepth);\n":e.fog&&(r+=" glFragColor.rgb = addFog(gl_FragColor.rgb);\n")),r+=Eo.end(),hr.createDefinition(t,{name:"BasicShader",attributes:i,vertexCode:s,fragmentCode:r})},e}(Eo),Ho=new Go,Wo=new Hs;function Xo(t){return Wo.get(t)}var qo=[];qo[0]={src:1,dst:1,op:2},qo[3]={src:1,dst:0,op:0},qo[2]={src:6,dst:8,op:0},qo[4]={src:1,dst:8,op:0},qo[1]={src:1,dst:1,op:0},qo[6]={src:6,dst:1,op:0},qo[7]={src:4,dst:2,op:0},qo[8]={src:5,dst:1,op:0},qo[5]={src:4,dst:0,op:0},qo[9]={src:1,dst:1,op:3},qo[10]={src:1,dst:1,op:4};var jo=0,Yo=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=jo++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new Gi,this._depthState=new Hi,this.cull=1,this.stencilFront=null,this.stencilBack=null,this.depthBias=0,this.slopeDepthBias=0,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new xo(a,o,h),u=Ao(t);return u.register("basic",Ho),u.getProgram("basic",l,c,this.userId)},e}(Yo),Zo=function(){function t(t,e,i){this._aabb=new jt,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2($o,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof Et?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Vt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof Et?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}]),t}();function Mh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,g=p[0].layer,v=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var w=Dh(p[0]),T=p[0].mesh.vertexBuffer.format.batchingHash,A=p[0].mesh.primitive[0].indexed;c=null;for(var C=1;C=a){f=f.concat(p.slice(C));break}_!==E.material||g!==E.layer||T!==E.mesh.vertexBuffer.format.batchingHash||A!==E.mesh.primitive[0].indexed||v!==E._shaderDefs||S+E.mesh.vertexBuffer.getNumVertices()>o?m(E):(l.copy(h),l.add(E.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(E):(!x||(s=E.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&w===Dh(E)&&Ph(y,E.parameters)?n&&c&&c.intersects(E.aabb)&&E.drawOrder!==b?m(E):(h.add(E.aabb),S+=E.mesh.vertexBuffer.getNumVertices(),u[d].push(E)):m(E))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===Ee)for(var A=0;A0&&r.setIndices(S),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var I=new Eh(r,p,this.rootNode);I.castShadow=h.origMeshInstances[0].castShadow,I.parameters=h.origMeshInstances[0].parameters,I.layer=h.origMeshInstances[0].layer,I._shaderDefs=h.origMeshInstances[0]._shaderDefs,I.cull=h.origMeshInstances[0].cull;var L=this._batchGroups[i];if(L&&L._ui&&(I.cull=!1),e){for(var D=[],O=0;O0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=pe,o=!1));var l=null!=(t=null==(e=r.renderTarget)?void 0:e.depthBuffer)?t:null==(i=r.renderTarget)?void 0:i.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,r.renderTarget,a,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Uh.forEach((function(t){return a.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(Er),zh=new gt(254/255,254/255,254/255,254/255),Vh=[],Gh=[[],[],[]],Hh=["uSceneDepthMap","uDepthMap"],Wh=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.releaseRenderTarget(this.renderTarget)},i.update=function(t){this.scene=t},i.shouldReallocate=function(t,e){var i=e.width,n=e.height;return!t||i!==t.width||n!==t.height},i.allocateRenderTarget=function(t,e,i){var n,s,r=new Us(i,{name:Hh[0],format:7,width:null!=(n=null==e?void 0:e.width)?n:this.device.width,height:null!=(s=null==e?void 0:e.height)?s:this.device.height,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});return t?(t.destroyFrameBuffers(),t._colorBuffer=r,t._colorBuffers=[r]):t=new ln({name:Hh[0]+"RT}",colorBuffer:r,depth:!0,stencil:!1}),t},i.releaseRenderTarget=function(t){t&&(t.destroyTextureBuffers(),t.destroy())},i.before=function(){var t,e=this.camera,i=this.device,n=null!=(t=e.renderTarget)?t:i.backBuffer;if(this.shouldReallocate(this.renderTarget,n)){var s;null==(s=this.renderTarget)||s.destroyTextureBuffers();var r=this.allocateRenderTarget(this.renderTarget,e.renderTarget,i);this.renderTarget?this.renderTarget=r:(this.init(r),this.setClearColor(zh),this.setClearDepth(1))}var a=this.renderTarget.colorBuffer;Hh.forEach((function(t){return i.scope.resolve(t).setValue(a)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&0!=(n&qa),t.skin=n&&0!=(2&n),t.useInstancing=n&&0!=(n&Wa),t.useMorphPosition=n&&0!=(n&Ya),t.useMorphNormal=n&&0!=(n&Ka),t.useMorphTextureBased=n&&0!=(n&Za),t.hasTangents=n&&0!=(n&ja),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n&&(1!==i.skyboxIntensity||i.physicalUnits),t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];0!==e.lights.length&&0==(1&n)||(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s8?t.FORMAT_FLOAT:t.FORMAT_8BIT,t.useTexelFetch=e.supportsTextureFetch,t.initShaderDefines()},t.createTexture=function(t,e,i,n,s){return new Us(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ri,magFilter:0,minFilter:0,anisotropy:1})};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),t.lightTextureFormat===t.FORMAT_FLOAT&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(ll,ol),hl[0]=ol.x,hl[1]=ol.y,hl[2]=ol.z,e.transformVector(cl,ol),hl[3]=ol.x,hl[4]=ol.y,hl[5]=ol.z,hl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;Ct.float2Bytes(a[0]*r,t,e+0,2),Ct.float2Bytes(a[1]*r,t,e+2,2),Ct.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){Ct.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),Ct.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);Ct.float2BytesRange(s.bias,t,e,-1,20,2),Ct.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=ol.sub2(n,this.boundsMin).div(this.boundsDelta);Ct.float2Bytes(s.x,t,e+0,4),Ct.float2Bytes(s.y,t,e+4,4),Ct.float2Bytes(s.z,t,e+8,4),Ct.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(ol,i),Ct.float2Bytes(.499999*ol.x+.5,t,e+0,4),Ct.float2Bytes(.499999*ol.y+.5,t,e+4,4),Ct.float2Bytes(.499999*ol.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)Ct.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)Ct.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){Ct.float2Bytes(i.x,t,e+0,2),Ct.float2Bytes(i.y,t,e+2,2),Ct.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)Ct.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(e,i,n){var s=2===e._type,r=e.atlasViewportAllocated,a=this.cookiesEnabled&&!!e._cookie&&r,o=this.areaLightsEnabled&&0!==e.shape,h=this.shadowsEnabled&&e.castShadows&&r,l=e._node.getPosition(),c=null,u=null;s?h?c=e.getRenderData(null,0).shadowMatrix:a&&(c=al.evalSpotCookieMatrix(e)):(h||a)&&(u=e.atlasViewport);var d=this.lights8,f=i*this.lightsTexture8.width*4;if(this.addLightDataFlags(d,f+4*ul.FLAGS,e,s,h,e.shadowIntensity),this.addLightDataColor(d,f+4*ul.COLOR_A,e,n,a),s&&this.addLightDataSpotAngles(d,f+4*ul.SPOT_ANGLES,e),e.castShadows&&this.addLightDataShadowBias(d,f+4*ul.SHADOW_BIAS,e),a&&this.addLightDataCookies(d,f+4*ul.COOKIE_A,e),t.lightTextureFormat===t.FORMAT_FLOAT){var p=this.lightsFloat,m=i*this.lightsTextureFloat.width*4;if(p[m+4*dl.POSITION_RANGE+0]=l.x,p[m+4*dl.POSITION_RANGE+1]=l.y,p[m+4*dl.POSITION_RANGE+2]=l.z,p[m+4*dl.POSITION_RANGE+3]=e.attenuationEnd,s&&(this.getSpotDirection(ol,e),p[m+4*dl.SPOT_DIRECTION+0]=ol.x,p[m+4*dl.SPOT_DIRECTION+1]=ol.y,p[m+4*dl.SPOT_DIRECTION+2]=ol.z),c)for(var _=c.data,g=0;g<16;g++)p[m+4*dl.PROJ_MAT_0+g]=_[g];if(u&&(p[m+4*dl.ATLAS_VIEWPORT+0]=u.x,p[m+4*dl.ATLAS_VIEWPORT+1]=u.y,p[m+4*dl.ATLAS_VIEWPORT+2]=u.z/3),o){var v=this.getLightAreaSizes(e);p[m+4*dl.AREA_DATA_WIDTH+0]=v[0],p[m+4*dl.AREA_DATA_WIDTH+1]=v[1],p[m+4*dl.AREA_DATA_WIDTH+2]=v[2],p[m+4*dl.AREA_DATA_HEIGHT+0]=v[3],p[m+4*dl.AREA_DATA_HEIGHT+1]=v[4],p[m+4*dl.AREA_DATA_HEIGHT+2]=v[5]}}else this.addLightDataPositionRange(d,f+4*ul.POSITION_X,e,l),s&&this.addLightDataSpotDirection(d,f+4*ul.SPOT_DIRECTION_X,e),c&&this.addLightDataLightProjMatrix(d,f+4*ul.PROJ_MAT_00,c),u&&this.addLightAtlasViewport(d,f+4*ul.ATLAS_VIEWPORT_A,u),o&&this.addLightAreaSizes(d,f+4*ul.AREA_DATA_WIDTH_X,e)},t}();Oh=fl,fl.FORMAT_FLOAT=0,fl.FORMAT_8BIT=1,fl.lightTextureFormat=Oh.FORMAT_8BIT,fl.useTexelFetch=!1,fl.shaderDefines="";var pl={vertex_normal:Me,vertex_tangent:Pe,vertex_texCoord0:Oe,vertex_texCoord1:ke,vertex_color:Le,vertex_boneWeights:Re,vertex_boneIndices:Ie},ml={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},_l=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:Ee},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=pl[c]);this.chunks[h]=l}}else this.chunks=wo;this.shaderPassInfo=Vo.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2===this.options.pass&&(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.useInstancing&&(this.attributes.instance_line1=ei,this.attributes.instance_line2=ii,this.attributes.instance_line3=ni,this.attributes.instance_line4=si,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=Me,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Pe,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Le,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=Qe,this.attributes.vertex_shadowParameters=$e,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=si;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=Qe,this.attributes.morph_pos1=$e,this.attributes.morph_pos2=Je,this.attributes.morph_pos3=ti,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=Qe,this.attributes.morph_nrm1=$e,this.attributes.morph_nrm2=Je,this.attributes.morph_nrm3=ti,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=ei,this.attributes.morph_nrm5=ii,this.attributes.morph_nrm6=ni,this.attributes.morph_nrm7=si,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=ei,this.attributes.morph_pos5=ii,this.attributes.morph_pos6=ni,this.attributes.morph_pos7=si,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Re,this.attributes.vertex_boneIndices=Ie,o+=Eo.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(ml).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+ml[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0);var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),(d||e.clusteredLightingEnabled)&&(n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;"));for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}if("envAtlasHQ"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,il.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("envAtlas"===e.reflectionSource)s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("cubeMap"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("sphereMap"===e.reflectionSource){var y=t.fragmentUniformsCount>16?i.reflectionSpherePS:i.reflectionSphereLowPS;s.append(y.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)))}this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?s.append(i.refractionDynamicPS):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var x=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),x=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var S=!e.lightMapEnabled||e.lightMapWithoutAmbient;S&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!x&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var b,w=!1,T=!1,A=!1,C=!1,E=!1;if(e.clusteredLightingEnabled&&this.lighting&&(C=!0,w=!0,T=!0,E=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+Ga[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(fl.shaderDefines),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),e.twoSidedLighting&&n.append("uniform float twoSidedLightingNegScaleFactor;"),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(e.twoSidedLighting?a.append(" dVertexNormalW = normalize(gl_FrontFacing ? vNormalW * twoSidedLightingNegScaleFactor : -vNormalW * twoSidedLightingNegScaleFactor);"):a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(e.twoSidedLighting?(a.append(" dTangentW = gl_FrontFacing ? vTangentW * twoSidedLightingNegScaleFactor : -vTangentW * twoSidedLightingNegScaleFactor;"),a.append(" dBinormalW = gl_FrontFacing ? vBinormalW * twoSidedLightingNegScaleFactor : -vBinormalW * twoSidedLightingNegScaleFactor;")):(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;"))),a.append(" getViewDir();"),v&&a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);")),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),S&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!x&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var M=0;M 0.00001) {"),2===R&&(b&&!P._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+M+"_direction, light"+M+"_innerConeAngle, light"+M+"_outerConeAngle, dLightDirNormW);"),C=!0))),0!==I?0===R?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+L+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),P.castShadows&&!e.noShadow){var D=6===P._shadowType,O=1===P._shadowType||2===P._shadowType||3===P._shadowType,k=5===P._shadowType||0===P._shadowType||4===P._shadowType,F=null,B=void 0;switch(P._shadowType){case 1:F="VSM8",B="0.0";break;case 2:F="VSM16",B="5.54";break;case 3:F="VSM32",B=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:F="PCF1x1";break;case 4:F="PCF5x5";break;case 6:F="PCSS";break;default:F="PCF3x3"}if(null!==F){P._normalOffsetBias&&!P._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===R&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===R&&s.append("#define SHADOW_SAMPLE_POINT");var U=i.shadowSampleCoordPS;s.append(U.replace("$LIGHT",M)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+M+"_shadowMatrix";0===R&&P.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+M+"_shadowMatrixPalette, light"+M+"_shadowCascadeDistances, light"+M+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+M+"("+N+", light"+M+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===R&&r.append(" fadeShadow(light"+M+"_shadowCascadeDistances);");var z="SHADOWMAP_PASS(light"+M+"_shadowMap), dShadowCoord, light"+M+"_shadowParams";if(O)z=z+", "+B+", dLightDirW";else if(D){var V="vec2(light"+M+"_shadowSearchArea)";0!==I&&(V="vec2(length(light"+M+"_halfWidth), length(light"+M+"_halfHeight)) * light"+M+"_shadowSearchArea"),z=z+", light"+M+"_cameraParams, "+V+", dLightDirW"}1===R?(F="Point"+F,D||(z+=", dLightDirW")):2===R&&(F="Spot"+F),r.append(" float shadow"+M+" = getShadow"+F+"("+z+");"),r.append(" dAtten *= mix(1.0, shadow"+M+", light"+M+"_shadowIntensity);")}}if(0!==I?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),P.affectSpecularity)if(0!==I)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+L+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+L+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";");else{var G=!1;0===R&&e.fresnelModel>0&&(G=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+M+"_color"+(b?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==R&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,A=!0,w=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),w&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),A&&s.prepend(i.falloffInvSquaredPS),C&&s.prepend(i.spotPS),E&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var H="",W="void evaluateBackend() {\n"+r.code+"\n}";s.append(W),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(Eo.end());var X=n.code+s.code+a.code;return X.includes("dTBN")&&(H+="mat3 dTBN;\n"),X.includes("dVertexNormalW")&&(H+="vec3 dVertexNormalW;\n"),X.includes("dTangentW")&&(H+="vec3 dTangentW;\n"),X.includes("dBinormalW")&&(H+="vec3 dBinormalW;\n"),X.includes("dViewDirW")&&(H+="vec3 dViewDirW;\n"),X.includes("dReflDirW")&&(H+="vec3 dReflDirW;\n"),X.includes("dHalfDirW")&&(H+="vec3 dHalfDirW;\n"),X.includes("ccReflDirW")&&(H+="vec3 ccReflDirW;\n"),X.includes("dLightDirNormW")&&(H+="vec3 dLightDirNormW;\n"),X.includes("dLightDirW")&&(H+="vec3 dLightDirW;\n"),X.includes("dLightPosW")&&(H+="vec3 dLightPosW;\n"),X.includes("dShadowCoord")&&(H+="vec3 dShadowCoord;\n"),X.includes("dReflection")&&(H+="vec4 dReflection;\n"),X.includes("dDiffuseLight")&&(H+="vec3 dDiffuseLight;\n"),X.includes("dSpecularLight")&&(H+="vec3 dSpecularLight;\n"),X.includes("dAtten")&&(H+="float dAtten;\n"),X.includes("dAttenD")&&(H+="float dAttenD;\n"),X.includes("dAtten3")&&(H+="vec3 dAtten3;\n"),X.includes("dMsdf")&&(H+="vec4 dMsdf;\n"),X.includes("ccFresnel")&&(H+="float ccFresnel;\n"),X.includes("ccReflection")&&(H+="vec3 ccReflection;\n"),X.includes("ccSpecularLight")&&(H+="vec3 ccSpecularLight;\n"),X.includes("ccSpecularityNoFres")&&(H+="float ccSpecularityNoFres;\n"),X.includes("sSpecularLight")&&(H+="vec3 sSpecularLight;\n"),X.includes("sReflection")&&(H+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+H+this.frontendDecl+X},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=hr.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),gl={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?gl.generateChunksKey(t):"lights"===e?gl.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},vl=[0,1,2,3,4,5,6,7],yl=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+vl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+gl.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new _l(t,e.litOptions),n=new Jh,s=new Jh,r=new Jh;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(Eo),xl=new yl,Sl=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new Qh},bl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(Et.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return jl.min=n,jl.max=s,jl}var Kl=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Rl.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=v)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,w=Math.ceil(Wl.dot(x)*b)/b,T=Math.ceil(Wl.dot(y)*b)/b,A=x.mulScalar(w),C=y.mulScalar(T),E=Wl.dot(S),M=S.mulScalar(E);Wl.add2(A,C).add(M),l.setPosition(Wl),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new gt(0,0,0,0):new gt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=oc.z/3,c=i[h];oc.x+=l*c.x,oc.y+=l*c.y,oc.z=l,oc.w=l,this.invViewProjId.setValue(hc[h].data)}oc.mulScalar(e),o.render(oc)}}n.length=0},y(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new ko(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new ko(t)}return this._quadRendererCube}}]),e}(Er),cc=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).requiresCubemaps=!1,s.shadowRenderer=i,s.shadowRendererLocal=n,s}S(e,t);var i=e.prototype;return i.update=function(t){var e=this.shadowRendererLocal.shadowLights,i=this.shadowRendererLocal.prepareLights(e,t),n=e.length;this.enabled=n>0,n&&this.shadowRenderer.setupRenderPass(this,i,!1)},i.execute=function(){for(var t=this.shadowRendererLocal.shadowLights,e=t.length,i=0;i0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){dc++;var e=t.length;if(0!==e)for(var i=0;i0&&(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0&&(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o0}}]),t}(),Lc=2.399963229728653,Dc=function(t,e,i){var n=e*Lc,s=Math.sqrt(e)/Math.sqrt(i);t.x=s*Math.cos(n),t.y=s*Math.sin(n)},Oc=function(t,e,i,n,s){void 0===n&&(n=0),void 0===s&&(s=1),n=1-2*n,s=1-2*s;var r=_t.lerp(n,s,e/i),a=Math.sqrt(1-r*r),o=Lc*e;t.x=Math.cos(o)*a,t.y=r,t.z=Math.sin(o)*a},kc=function(t){var e=(t<<16|t>>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Fc=function(t){switch(t){case mi:return"Cubemap";case gi:return"Octahedral";default:return"Equirect"}},Bc=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Uc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Nc=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},zc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Vc=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},Gc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},Hc=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new Et,o=new Et,h=new Et(0,0,1),l=[],c=function(t,e){var i=Gc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=Vc(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},Wc=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),Qc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new Us(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:_i,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Dt(0,0,512*a,256*a),h=$c(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&0!=(n&qa),t.litOptions.skin=n&&0!=(2&n),t.litOptions.useInstancing=n&&0!=(n&Wa),t.litOptions.useMorphPosition=n&&0!=(n&Ya),t.litOptions.useMorphNormal=n&&0!=(n&Ka),t.litOptions.useMorphTextureBased=n&&0!=(n&Za),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=0!=(4&i),r=0!=(8&i),a=0!=(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in eu)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var g=e[l].id,v=o[g];void 0===v&&(o[g]=i,v=i),t[l]=!!e[l],t[m]=v,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e){t.opacityTint=1!==e.opacity&&3!==e.blendType,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=(e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor)&&au(e.diffuse),h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&au(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||au(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===le||e.normalMap.type===li);t.opacityTint=1!==e.opacity&&3!==e.blendType?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&au(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s&&(1!==i.skyboxIntensity||i.physicalUnits),t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=0!=(1&n),0!=(64&n)&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,0!=(n&Xa)&&(t.dirLightMap=!0),0!=(n&Qa)&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&($h.collectLights(0,s[0],r,a),$h.collectLights(1,s[1],r,a),$h.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),eu)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Vo.get(t).getByIndex(s),c=2===s||3===s||l.isShadow,u=c?su.optionsContextMin:su.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new xo(a,o,h),f=Ao(t);f.register("standard",su);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},y(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}]),e}(Yo);vu.TEXTURE_PARAMETERS=cu,vu.CUBEMAP_PARAMETERS=du;var yu=function(t,e){_u[t]=e},xu=function(t,e,i,n){Object.defineProperty(vu.prototype,t,{get:n||function(){return this["_"+t]},set:i}),mu[t]={value:e}},Su=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function bu(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),eu[t]=e.length||-1,Su({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),Su({name:t+"MapTiling",defaultValue:new It(1,1)}),Su({name:t+"MapOffset",defaultValue:new It(0,0)}),Su({name:t+"MapRotation",defaultValue:0}),Su({name:t+"MapUv",defaultValue:n}),e&&(Su({name:t+"MapChannel",defaultValue:e}),i&&(Su({name:t+"VertexColor",defaultValue:!1}),Su({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";yu(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*_t.DEG_TO_RAD),d=Math.sin(l*_t.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function wu(t,e){Su({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),yu(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function Tu(t,e,i){Su({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),yu(t,i)}function Au(t,e){Su({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),yu(t,e)}function Cu(t,e){Su({name:t,defaultValue:e})}!function(){wu("ambient",new gt(.7,.7,.7)),wu("diffuse",new gt(1,1,1)),wu("specular",new gt(0,0,0)),wu("emissive",new gt(0,0,0)),wu("sheen",new gt(1,1,1)),wu("attenuation",new gt(1,1,1)),Tu("emissiveIntensity",1),Tu("specularityFactor",1),Tu("sheenGloss",0),Tu("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),Tu("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),Tu("opacity",1),Tu("alphaFade",1),Tu("alphaTest",0),Tu("bumpiness",1),Tu("normalDetailMapBumpiness",1),Tu("reflectivity",1),Tu("occludeSpecularIntensity",1),Tu("refraction",0),Tu("refractionIndex",1/1.5),Tu("thickness",0),Tu("attenuationDistance",0),Tu("metalness",1),Tu("anisotropy",0),Tu("clearCoat",0),Tu("clearCoatGloss",1),Tu("clearCoatBumpiness",1),Tu("aoUvSet",0,null),Tu("iridescence",0),Tu("iridescenceRefractionIndex",1/1.5),Tu("iridescenceThicknessMin",0),Tu("iridescenceThicknessMax",0),Au("ambientSH"),Au("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),Cu("ambientTint",!1),Cu("diffuseTint",!1),Cu("specularTint",!1),Cu("specularityFactorTint",!1),Cu("emissiveTint",!1),Cu("fastTbn",!1),Cu("useMetalness",!1),Cu("useMetalnessSpecularColor",!1),Cu("useSheen",!1),Cu("enableGGXSpecular",!1),Cu("occludeDirect",!1),Cu("normalizeNormalMap",!0),Cu("conserveEnergy",!0),Cu("opacityFadesSpecular",!0),Cu("occludeSpecular",1),Cu("shadingModel",1),Cu("fresnelModel",2),Cu("useDynamicRefraction",!1),Cu("cubeMapProjection",0),Cu("customFragmentShader",null),Cu("useFog",!0),Cu("useLighting",!0),Cu("useGammaTonemap",!0),Cu("useSkybox",!0),Cu("forceUv1",!1),Cu("pixelSnap",!1),Cu("twoSidedLighting",!1),Cu("nineSlicedMode",void 0),Cu("msdfTextAttribute",!1),Cu("useIridescence",!1),Cu("glossInvert",!1),Cu("sheenGlossInvert",!1),Cu("clearCoatGlossInvert",!1),bu("diffuse"),bu("specular"),bu("emissive"),bu("thickness","g"),bu("specularityFactor","g"),bu("normal",""),bu("metalness","g"),bu("gloss","g"),bu("opacity","a"),bu("refraction","g"),bu("height","g",!1),bu("ao","g"),bu("light","rgb",!0,1),bu("msdf",""),bu("diffuseDetail","rgb",!1),bu("normalDetail",""),bu("aoDetail","g",!1),bu("clearCoat","g"),bu("clearCoatGloss","g"),bu("clearCoatNormal",""),bu("sheen","rgb"),bu("sheenGloss","g"),bu("iridescence","g"),bu("iridescenceThickness","g"),Cu("diffuseDetailMode",Ha),Cu("aoDetailMode",Ha),Au("cubeMap"),Au("sphereMap"),Au("envAtlas");var t=[null,null,null,null,null,null];xu("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=Jc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}(),new Et(1,1,1),new Et(40,0,0);var Eu=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).layerComposition=void 0,r.scene=void 0,r.renderer=void 0,r.renderActions=[],r.layerComposition=i,r.scene=n,r.renderer=s,r}S(e,t);var i=e.prototype;return i.addRenderAction=function(t){if(this.renderActions.push(t),1===this.renderActions.length){var e=t.camera;this.fullSizeClearRect=e.camera.fullSizeClearRect,this.fullSizeClearRect&&(t.clearColor&&this.setClearColor(e.camera.clearColor),t.clearDepth&&this.setClearDepth(e.camera.clearDepth),t.clearStencil&&this.setClearStencil(e.camera.clearStencil))}},i.addLayer=function(t,e,i,n){void 0===n&&(n=!0);var s=new Ic;if(s.renderTarget=this.renderTarget,s.camera=t,s.layer=e,s.transparent=i,n){var r=0===this.renderActions.length;s.setupClears(r?t:void 0,e)}this.addRenderAction(s)},i.before=function(){var t=this.renderActions;if(t.length){var e=t[0];e.camera.onPreRender&&e.firstCameraUse&&e.camera.onPreRender()}},i.execute=function(){for(var t=this.layerComposition,e=this.renderActions,i=0;i0){var a=this._shaderVersion;ku.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==Yo.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),ku.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(Ou.sort(),n=$i(Ou),Ou.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyComposition=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyComposition=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyComposition=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e1&&Nu(this.cameras),this.camerasMap.clear();for(var a=0;a0)this.addDummyRenderAction(h,c);else{for(var u=!0,d=h,f=null,p=!1,m=0;m0&&c.layers.indexOf(_.id)>=0){o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0));var g=this.subLayerList[m];f=this.addRenderAction(h,_,g,c,u,p),h++,u=!1}}d=0;l--)if(h[l].camera===n&&h[l].renderTarget===a){o=!0;break}r&&n.postEffectsEnabled&&(a=null);var c=this.getNextRenderAction(t);c.triggerPostprocess=!1,c.layer=e,c.transparent=i,c.camera=n,c.renderTarget=a,c.firstCameraUse=s,c.lastCameraUse=!1;var u=s||!o,d=e.clearColorBuffer||e.clearDepthBuffer||e.clearStencilBuffer;return(u||d)&&c.setupClears(u?n:void 0,e),c},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=n.layer;if(n.renderTarget&&1!==s.id)break;if(1!==s.id){if(n.useCameraPasses)break;var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){return void 0!==(e?this.layerTransparentIndexMap:this.layerOpaqueIndexMap).get(t)},i.push=function(t){this._isLayerAdded(t)||(this.layerList.push(t),this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this._transparentOrder[t.id]=this.subLayerList.push(!0)-1,this.subLayerEnabled.push(!0),this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insert=function(t,e){if(!this._isLayerAdded(t)){this.layerList.splice(e,0,t,t),this.subLayerList.splice(e,0,!1,!0);var i=this.layerList.length;this._updateOpaqueOrder(e,i-1),this._updateTransparentOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.remove=function(t){var e=this.layerList.indexOf(t);for(delete this._opaqueOrder[e],delete this._transparentOrder[e];e>=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirty=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,Vu.mulScalar(-e*n)):(t.radius=e/(2*n),Vu.mulScalar(-t.radius)),t.center.add2(s.getPosition(),Vu)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*_t.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*_t.DEG_TO_RAD,this._innerConeAngle*_t.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|Hu[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=Hu[this._cookieChannel.charAt(1)]<<16,t|=Hu[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},y(t,[{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=Xu[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new zt),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Dt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=Ct.float2Half;this._textureFormat===ue&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=wo.screenDepthPS),s+=wo.particle_cpuVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_cpu_endVS,e.soft>0&&(s+=wo.particle_softVS)):(s+=wo.particle_initVS,s+=e.pack8?wo.particleInputRgba8PS:wo.particleInputFloatPS,e.soft>0&&(s+=wo.screenDepthPS),s+=wo.particleVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=wo.particle_wrapVS),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_endVS,e.soft>0&&(s+=wo.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=wo.decodePS,n+=Eo.gammaCode(e.gamma),n+=Eo.tonemapCode(e.toneMap),"linear"===e.fog?n+=wo.fogLinearPS:"exp"===e.fog?n+=wo.fogExpPS:"exp2"===e.fog?n+=wo.fogExp2PS:n+=wo.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=wo.screenDepthPS),n+=wo.particlePS,e.soft>0&&(n+=wo.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=wo.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?wo.particle_halflambertPS:wo.particle_lambertPS),e.normal>0&&(n+=wo.particle_lightingPS),2===e.blend?n+=wo.particle_blendNormalPS:1===e.blend?n+=wo.particle_blendAddPS:5===e.blend&&(n+=wo.particle_blendMultiplyPS),n+=wo.particle_endPS,hr.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(Eo),id=new ed,nd=1,sd=new zt,rd=new zt,ad=new Et,od=new Et,hd=new Et,ld=new Et,cd=new Et,ud=new Et,dd=new Et,fd=new Et,pd=new Et,md=new Et,_d=new Et,gd=new Et,vd=new Et;function yd(t){return t-Math.floor(t)}function xd(t){return Math.max(Math.min(t,1),0)}function Sd(t,e){return t-e*Math.floor(t/e)}function bd(t){var e=yd(t),i=yd(255*t);return[e-=i/255,i-=i/255]}var wd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),od.x=a-.5,od.y=o-.5,od.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(od.x),Math.max(Math.abs(od.y),Math.abs(od.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];od.x=u*(c===Math.abs(od.x)?Math.sign(od.x):2*od.x),od.y=d*(c===Math.abs(od.y)?Math.sign(od.y):2*od.y),od.z=f*(c===Math.abs(od.z)?Math.sign(od.z):2*od.z),r.localSpace?ad.copy(e.transformPoint(od)):ad.copy(n).add(e.transformPoint(od))}else{od.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?ad.copy(od.mulScalar(m*r.emitterRadius)):ad.copy(n).add(od.mulScalar(m*r.emitterRadius))}var _,g,v,y,x,S=-_t.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(ad.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,w=(ad.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,T=(ad.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,A=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a);A=A%(2*Math.PI)/(2*Math.PI);var C=bd(b);t[4*s]=C[0],t[4*s+1]=C[1];var E=bd(w);t[4*s+2]=E[0],t[4*s+3]=E[1];var M=bd(T);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=bd(A);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,L=(g=yd(_=S=(S+R)/(R+I)),v=yd(255*_),y=yd(65025*_),x=yd(160581375*_),[g-=v/255,v-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=L[0],t[4*s+1+4*r.numParticlesPot*3]=L[1],t[4*s+2+4*r.numParticlesPot*3]=L[2],t[4*s+3+4*r.numParticlesPot*3]=L[3]}else t[4*s]=ad.x,t[4*s+1]=ad.y,t[4*s+2]=ad.z,t[4*s+3]=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)sd.data[f]=d.data[f];rd.copy(sd),rd.invert(),Iu=u.meshInstance.node.localScale,nd=Math.max(Math.max(Iu.x,Iu.y),Iu.z)}r=null===u.meshInstance.node||u.localSpace?Et.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,g,v,y,x,S,b=u.camera?u.camera._node.getPosition():Et.ZERO,w=u.useMesh?17:15,T=u.precision-1,A=0;A=P)&&this.calcSpawnPosition(i,n,s,r,C);var O=R>0&&R0&&(1===u.emitterShape?(od.copy(hd).mulScalar(2).sub(Et.ONE).normalize(),ud.add(od.mulScalar(u.initialVelocity))):ud.add(Et.FORWARD.mulScalar(u.initialVelocity))),cd.x+=(dd.x-cd.x)*hd.x,cd.y+=(dd.y-cd.y)*hd.y,cd.z+=(dd.z-cd.z)*hd.z,_+=(g-_)*hd.y,L=(L+1e4*E%1*(v-L))*nd,D=1e3*E%1*(x-y),u.meshInstance.node&&(u.localSpace?(ud.x/=Iu.x,ud.y/=Iu.y,ud.z/=Iu.z):sd.transformPoint(ud,ud)),u.localSpace?(rd.transformPoint(cd,cd),ud.add(cd).add(pd)):(ud.add(cd.mul(Iu)),ud.add(pd.mul(Iu))),gd.copy(ud),md.copy(ld).add(ud.mulScalar(a)),_d.copy(md),i[4*C]=_d.x,i[4*C+1]=_d.y,i[4*C+2]=_d.z,i[4*C+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||_d.sub(r),_d.x=Sd(_d.x,u.wrapBounds.x)-.5*u.wrapBounds.x,_d.y=Sd(_d.y,u.wrapBounds.y)-.5*u.wrapBounds.y,_d.z=Sd(_d.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||_d.add(r)),u.sort>0&&(1===u.sort?(vd.copy(_d).sub(b),u.particleDistance[C]=-(vd.x*vd.x+vd.y*vd.y+vd.z*vd.z)):2===u.sort?u.particleDistance[C]=R:3===u.sort&&(u.particleDistance[C]=-R))),o?R<0&&(i[4*C+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*C+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*C+3+2*u.numParticlesPot*4]=1)),i[4*C+3+2*u.numParticlesPot*4]<0&&(O=!1),i[4*C+3+4*u.numParticlesPot]=R;for(var k=0;k0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),Hd("rate",1),Hd("rate2",this.rate),Hd("lifetime",50),Hd("emitterExtents",new Et(0,0,0)),Hd("emitterExtentsInner",new Et(0,0,0)),Hd("emitterRadius",0),Hd("emitterRadiusInner",0),Hd("emitterShape",0),Hd("initialVelocity",1),Hd("wrap",!1),Hd("localSpace",!1),Hd("screenSpace",!1),Hd("wrapBounds",null),Hd("colorMap",this.defaultParamTexture),Hd("normalMap",null),Hd("loop",!0),Hd("preWarm",!1),Hd("sort",0),Hd("mode",0),Hd("scene",null),Hd("lighting",!1),Hd("halfLambert",!1),Hd("intensity",1),Hd("stretch",0),Hd("alignToMotion",!1),Hd("depthSoftening",0),Hd("mesh",null),Hd("particleNormal",new Et(0,1,0)),Hd("orientation",0),Hd("depthWrite",!1),Hd("noFog",!1),Hd("blendType",2),Hd("node",null),Hd("startAngle",0),Hd("startAngle2",this.startAngle),Hd("animTilesX",1),Hd("animTilesY",1),Hd("animStartFrame",0),Hd("animNumFrames",1),Hd("animNumAnimations",1),Hd("animIndex",0),Hd("randomizeAnimIndex",!1),Hd("animSpeed",1),Hd("animLoop",!0),this._gpuUpdater=new Ed(this,i),this._cpuUpdater=new wd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),Hd("colorGraph",Fd),Hd("colorGraph2",this.colorGraph),Hd("scaleGraph",Od),Hd("scaleGraph2",this.scaleGraph),Hd("alphaGraph",Od),Hd("alphaGraph2",this.alphaGraph),Hd("localVelocityGraph",kd),Hd("localVelocityGraph2",this.localVelocityGraph),Hd("velocityGraph",kd),Hd("velocityGraph2",this.velocityGraph),Hd("rotationSpeedGraph",Dd),Hd("rotationSpeedGraph2",this.rotationSpeedGraph),Hd("radialSpeedGraph",Dd),Hd("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new jt,this.worldBoundsNoTrail=new jt,this.worldBoundsTrail=[new jt,new jt],this.worldBounds=new jt,this.worldBoundsSize=new Et,this.prevWorldBoundsSize=new Et,this.prevWorldBoundsCenter=new Et,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new Et,this.worldBoundsAdd=new Et,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],g=[0,0],v=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,Bd=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=_t.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=he),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?zt.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new Et(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new Et).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:He,components:4,type:6},{semantic:We,components:4,type:6},{semantic:Xe,components:4,type:6},{semantic:qe,components:1,type:6},{semantic:je,components:this.useMesh?4:2,type:6}],s=new sn(this.graphicsDevice,n);this.vertexBuffer=new Zi(this.graphicsDevice,s,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}else{var r=[{semantic:He,components:4,type:6}];this.useMesh&&r.push({semantic:We,components:2,type:6});var a=new sn(this.graphicsDevice,r);this.vertexBuffer=new Zi(this.graphicsDevice,a,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},y(t,[{key:"defaultParamTexture",get:function(){var t=this;return Yd.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new Eh(this.mesh,this.material,Jd)),this.positions.length=0,this.colors.length=0,t.push(this.meshInstance))},t}(),ef=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new tf(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},t}(),nf=[],sf=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new Ko;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new ef(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=Po(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+wo.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(uv0) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new no(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(Ce)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new Eh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s){nf.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z),this.getBatch(s,n).addLinesArrays(nf,i),nf.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],g=d[m+1];if(_.time<=this._time&&g.time>=this._time){var v=(this._time-_.time)/(g.time-_.time);f._pos.lerp(_.position,g.position,v),f._quat.slerp(_.rotation,g.rotation,v),f._scale.lerp(_.scale,g.scale,v),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2D(source, vUv0);\n\tc = c.a>0.0? c : texture2D(source, vUv0 - pixelOffset);\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + pixelOffset);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2D(source, vUv0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2D(source, coord);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},Tf="FILL_WINDOW",Af="KEEP_ASPECT",Cf="AUTO",Ef="FIXED";function Mf(){return Sf}function Pf(t){Sf=t,Ja.set(null==t?void 0:t.graphicsDevice)}var Rf=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();Rf._types=[];var If=!1,Lf=!1,Df={app:null,create:function(t,e){if(If){var i=e(Df.app);i._pcScriptName=t,Rf.push(i,If),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Lf||(Lf=!0,t(Mf()))}};Object.defineProperty(Df,"legacy",{get:function(){return If},set:function(t){If=t}}),R.attach(Df);var Of=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){t.frameUpdate();for(var e=this.renderPasses,i=t.beforePasses,n=0;n=0&&t<=1?0:1})),Vf(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Vf(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Vf(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Vf(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Vf(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Vf(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var Wf=zf[Gf(Uf)];function Xf(t){return zf[t]||Wf}var qf,jf=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-\\+\\.]*:)?//|data:|blob:)","i"),Yf=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),Kf=-1,Zf={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},Qf=["pvr","dxt","etc2","etc1","basis"],$f=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=Kf--,a._name=e||"",a.type=i,a.tags=new ut(w(a)),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}S(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!jf.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=L.getDirectory(this.file.url);return L.join(e,t)},i.getLocalizedAssetId=function(t){return t=Hf(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},y(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||Mf(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=Qf[a];if(t.variants[i]&&s[Zf[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=Qf.length;a=s)throw new Error("Invalid PAX header data format.");var l=parseInt(e.decode(new Uint8Array(t,i+a,h-a)),10),c=e.decode(new Uint8Array(t,i+h+1,l-(h-a)-2)).split("=");if(2!==c.length)throw new Error("Invalid PAX header data format.");0===c[1].length&&(c[1]=null),o.push({name:c[0],value:c[1]}),a+=l}return new n(o)},n.prototype.applyHeader=function(t){for(var e=0;e0&&(r=p.trim()+r.trim())}var m={name:r,start:l,size:o,url:c};return this._globalPaxHeader&&this._globalPaxHeader.applyHeader(m),this._paxHeader&&(this._paxHeader.applyHeader(m),this._paxHeader=null),m},s.prototype.untar=function(t){if(!e)return console.error("Cannot untar because TextDecoder interface is not available for this platform."),[];for(var i=[];this._hasNext();){var n=this._readNextFile();n&&(t&&n.name&&(n.name=t+n.name),i.push(n))}return i},t&&(self.onmessage=function(t){var e=t.data.id;try{var i=new s(t.data.arrayBuffer).untar(t.data.prefix);postMessage({id:e,files:i,arrayBuffer:t.data.arrayBuffer},[t.data.arrayBuffer])}catch(t){postMessage({id:e,error:t.toString()})}})}var rp=null;var ap=function(){function t(t){this._requestId=0,this._pendingRequests={},this._filenamePrefix=t,this._worker=new Worker(function(){if(!rp){var t="("+sp.toString()+")(true)\n\n",e=new Blob([t],{type:"application/javascript"});rp=URL.createObjectURL(e)}return rp}()),this._worker.addEventListener("message",this._onMessage.bind(this))}var e=t.prototype;return e._onMessage=function(t){var e=t.data.id;if(this._pendingRequests[e]){var i=this._pendingRequests[e];if(delete this._pendingRequests[e],t.data.error)i(t.data.error);else{for(var n=t.data.arrayBuffer,s=0,r=t.data.files.length;s0},e.destroy=function(){this._worker&&(this._worker.terminate(),this._worker=null,this._pendingRequests=null)},t}();sp();var op=function(){function t(t){this.handlerType="bundle",this._assets=t.assets,this._worker=null,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this;Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e("Error loading bundle resource "+t.original+": "+n);else try{i._untar(s,e)}catch(i){e("Error loading bundle resource "+t.original+": "+i)}}))},e._untar=function(t,e){var i=this;if(G.workers)i._worker||(i._worker=new ap(i._assets.prefix)),i._worker.untar(t,(function(t,n){e(t,n),i._worker.hasPendingRequests()||(i._worker.destroy(),i._worker=null)}));else{var n=new qf(t).untar(i._assets.prefix);e(null,n)}},e.open=function(t,e){return new np(e)},e.patch=function(t,e){},t}(),hp=function(){function t(t){this._handlers={},this._requests={},this._cache={},this._app=t}var e=t.prototype;return e.addHandler=function(t,e){this._handlers[t]=e,e._loader=this},e.removeHandler=function(t){delete this._handlers[t]},e.getHandler=function(t){return this._handlers[t]},t.makeKey=function(t,e){return t+"-"+e},e.load=function(e,i,n,s){var r=this._handlers[i];if(r)if(e){var a=t.makeKey(e,i);if(void 0!==this._cache[a])n(null,this._cache[a]);else if(this._requests[a])this._requests[a].push(n);else{this._requests[a]=[n];var o=this,h=function(t,e){t?o._onFailure(a,t):r.load(e,(function(t,i,n){if(o._requests[a])if(t)o._onFailure(a,t);else try{o._onSuccess(a,r.open(e.original,i,s),n)}catch(t){o._onFailure(a,t)}}),s)},l=e.split("?")[0];if(this._app.enableBundles&&this._app.bundles.hasUrl(l)){if(!this._app.bundles.canLoadUrl(l))return void h("Bundle for "+e+" not loaded yet");this._app.bundles.loadUrl(l,(function(t,e){h(t,{load:e,original:l})}))}else h(null,{load:e,original:s&&s.file.filename||e})}}else this._loadNull(r,n,s);else n("No resource handler for asset type: '"+i+"' when loading ["+e+"]")},e._loadNull=function(t,e,i){t.load(null,(function(n,s,r){if(n)e(n);else try{e(null,t.open(null,s,i),r)}catch(t){e(t)}}),i)},e._onSuccess=function(t,e,i){null!==e?this._cache[t]=e:delete this._cache[t];for(var n=0;n0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new zu("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new Bu(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[Ce]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===Tf&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===Cf){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&Bf.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=gt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s){void 0===i&&(i=gt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new zt;h.setTRS(new Et(t,e,0),Vt.IDENTITY,new Et(i,-n,0)),r||((r=new Yo).cull=he,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new Yo;r.cull=he,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Dc(Ap,t,e),Ap.mulScalar(.5*n),i._node.rotateLocal(Ap.x,0,Ap.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},y(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}]),e}(Tp),Ep=new Et,Mp=function(t){function e(e){var i=new fp("AmbientLight");return i.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:e.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:gt.WHITE,intensity:1,bakeDir:!1}),t.call(this,e,i.light.light)||this}return S(e,t),e.prototype.prepareVirtualLight=function(t,e){Oc(Ep,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(Ep.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},y(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}]),e}(Tp),Pp=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),Rp=function(){function t(t){this.device=t,this.shaderDilate=Po(t,wo.fullscreenQuadVS,wf.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=Po(this.device,wo.fullscreenQuadVS,wf.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),Ip=new Et,Lp=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new gt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;vh.decRef(this.blackTex),this.blackTex=null,vh.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new Rp(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new Us(this.device,{width:4,height:4,format:7,type:ai,name:"lightmapBlack"}),vh.incRef(this.blackTex);var e=new Zh;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new _h,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Ku(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new Et(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Pl(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){vh.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new vu;if(s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Bi,s.chunks.transformVS="#define UV1LAYOUT\n"+wo.transformVS,0===i){var r=wf.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new gt(0,0,0),s.ambientTint=!0),s.chunks.basePS=wo.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=wo.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=wf.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=he,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new Pp(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=Xa),this.scene.ambientBake&&(u|=Qa),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=dt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length}},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var w=0;w1&&y.prepareVirtualLight(w,b),y.startBake();var T=!1,A=this.lightCameraPrepare(r,y);for(_=0;_0&&w>0)&&!(x&&m>0);m++){var M=C.renderTargets[m],P=C.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?v=n.updateShaders:v&&(n.updateShaders=!0);var L=this.passMaterials[m];for(x&&w+1===b&&0===m&&(L=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,x({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},y(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new Bp(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}]),t}();Up.eventFrame={start:0,end:0,residual:0};var Np="NONE",zp="PREV_STATE",Vp="NEXT_STATE",Gp="PREV_STATE_NEXT_STATE",Hp="NEXT_STATE_PREV_STATE",Wp="GREATER_THAN",Xp="LESS_THAN",qp="GREATER_THAN_EQUAL_TO",jp="LESS_THAN_EQUAL_TO",Yp="EQUAL_TO",Kp="NOT_EQUAL_TO",Zp="INTEGER",Qp="FLOAT",$p="BOOLEAN",Jp="TRIGGER",tm="2D_DIRECTIONAL",em="2D_CARTESIAN",im="DIRECT",nm="START",sm="END",rm="ANY",am=[nm,sm,rm],om="OVERWRITE",hm="ADDITIVE",lm=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),_m=function(){function t(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}return y(t,[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),t}(),gm=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={};!function t(e){n[e.name]=e;for(var i=0;i0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new Up(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===pm?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new mf(r),this.toSkel=new mf(r),this.skeleton=new mf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new dm(new gm(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},y(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==pm.EMPTY}))},y(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==bm?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==am.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}]),t}(),Pm=function(){function t(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Np:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}return y(t,[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),t}(),Rm=function(){function t(t,e,i,n,s,r,a){var o=this;this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._states={},this._stateNames=[],this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),Nu(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case Xp:if(!(s.value=n.value))return!1;break;case jp:if(!(s.value<=n.value))return!1;break;case Yp:if(s.value!==n.value)return!1;break;case Kp:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case zp:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm));break;case Vp:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Gp:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Hp:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===sm){var r=this._findTransitionsFromState(nm)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new Pm({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new Mm(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==am.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=nm,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case It:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case Et:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Dt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case gt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Vt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new _m((function(e){r(e),t.material.update()}),a,o,n):new _m(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={};!function e(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}]),e}(Dp),zm=function(){this.enabled=!0},Vm=["enabled"],Gm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Nm,i.DataType=zm,i.schema=Vm,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.systems.on("animationUpdate",i.onAnimationUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Vm);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers?i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==pm.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})):i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(Op);Dp._buildAccessors(Nm.prototype,Vm);var Hm=function(t){function e(e,i){return t.call(this,e,i)||this}S(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(Dp),Wm=function(){this.enabled=!0},Xm=["enabled"],qm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=Hm,i.DataType=Wm,i.schema=Xm,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(Hm.prototype,Xm);var jm=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,w(n)),n.on("set_loop",n.onSetLoop,w(n)),n.on("set_volume",n.onSetVolume,w(n)),n.on("set_pitch",n.onSetPitch,w(n)),n.on("set_minDistance",n.onSetMinDistance,w(n)),n.on("set_maxDistance",n.onSetMaxDistance,w(n)),n.on("set_rollOffFactor",n.onSetRollOffFactor,w(n)),n.on("set_distanceModel",n.onSetDistanceModel,w(n)),n.on("set_3d",n.onSet3d,w(n)),n}S(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new gt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},e}(Dp);function d_(t){return new gt(t.r,t.g,t.b)}var f_=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Dt,this.transitionMode=0,this.hoverTint=new gt(.75,.75,.75),this.pressedTint=new gt(.5,.5,.5),this.inactiveTint=new gt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},p_=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],m_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=u_,i.DataType=f_,i.schema=p_,i.on("beforeremove",i._onRemoveComponent,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,p_)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(u_.prototype,p_);var __,g_,v_,y_=new Et,x_=new Vt,S_=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,w(n)),n.on("set_type",n.onSetType,w(n)),n.on("set_halfExtents",n.onSetHalfExtents,w(n)),n.on("set_linearOffset",n.onSetOffset,w(n)),n.on("set_angularOffset",n.onSetOffset,w(n)),n.on("set_radius",n.onSetRadius,w(n)),n.on("set_height",n.onSetHeight,w(n)),n.on("set_axis",n.onSetAxis,w(n)),n.on("set_asset",n.onSetAsset,w(n)),n.on("set_renderAsset",n.onSetRenderAsset,w(n)),n.on("set_model",n.onSetModel,w(n)),n.on("set_render",n.onSetRender,w(n)),n}S(e,t);var i=e.prototype;return i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(Et.ZERO)||!this.data.angularOffset.equals(Vt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof $f&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof $f&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i._getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),P_=new zt,R_=new Et,I_=new Et,L_=new Vt,D_=new _h,O_=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","asset","renderAsset","shape","model","render"],k_=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new $u,e.model.graph=new _h},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&(t._compoundParent&&t===t._compoundParent&&e.forEach(this.system.implementations.compound._updateEachDescendant,t),!t.rigidbody)){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new M_(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render};return this.system.addComponent(e,n)},t}(),F_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(k_),B_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(k_),U_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(k_),N_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(k_),z_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(k_),V_=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoMesh=function(t,e,i){var n;if(this.system._triMeshCache[t.id])n=this.system._triMeshCache[t.id];else{for(var s,r,a=t.vertexBuffer,o=a.getFormat(),h=0;h=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){if(this.unmaskMeshInstance){var t=function t(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===i_&&s>this._targetAspectRatio||e.fitMode===n_&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){t.off("set:meshes",this._onSpriteMeshesChange,this),t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof $f?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new an({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},y(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Dt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==e_&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==e_&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}]),t}(),j_=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,w(i)),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}S(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},y(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof $f?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof $f?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset(),this._localizedAsset=null),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}]),e}(P),Y_="msdf",K_="bitmap",Z_=/[A-Z|a-z|0-9|_|-|/]/,Q_=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(Z_)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function J_(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),J_(t[i],e[i])):t[i]=n}}function tg(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,v=this._element.calculatedWidth;(this.autoWidth&&!g||!this._wrapLines)&&(v=Number.POSITIVE_INFINITY);var y,x,S,b,w=0,T=0;function A(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)rg.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var C=!0;C;){C=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var E=this._fontSize/32;w=this._fontMinY*E,T=this._fontMaxY*E;for(var M=0;M=r?null:this._symbols[U+1],rg.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var q=this._font.data.kerning;if(q){var j=q[rt.getCodePoint(this._symbols[U-1])||0];j&&(X=j[rt.getCodePoint(this._symbols[U])||0]||0)}}H=x.scale||1,G=E*((x.width+x.height)/2)/H,V=(x.xadvance+X)*E,N=(x.xoffset-X)*E,z=x.yoffset*E}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=ag.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],$=a+this._spacing*V;if($>v&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=_t.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,C=!0;break}if(this.height=Math.max(this.height,T-(o+w)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=_t.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,C=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=U+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var ft=3*this._symbolColors[U];P=this._colorPalette[ft],R=this._colorPalette[ft+1],I=this._colorPalette[ft+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var pt=5*this._symbolOutlineParams[U];L=this._outlinePalette[pt]+256*this._outlinePalette[pt+1],D=this._outlinePalette[pt+2]+256*this._outlinePalette[pt+3],O=this._outlinePalette[pt+4]}if(Q.outlines[4*S*3+0]=L,Q.outlines[4*S*3+1]=D,Q.outlines[4*S*3+2]=O,Q.outlines[4*S*3+3]=L,Q.outlines[4*S*3+4]=D,Q.outlines[4*S*3+5]=O,Q.outlines[4*S*3+6]=L,Q.outlines[4*S*3+7]=D,Q.outlines[4*S*3+8]=O,Q.outlines[4*S*3+9]=L,Q.outlines[4*S*3+10]=D,Q.outlines[4*S*3+11]=O,this._symbolShadowParams){var mt=6*this._symbolShadowParams[U];k=this._shadowPalette[mt]+256*this._shadowPalette[mt+1],F=this._shadowPalette[mt+2]+256*this._shadowPalette[mt+3],B=this._shadowPalette[mt+4]+127+256*Math.round(Z*this._shadowPalette[mt+5]+127)}Q.shadows[4*S*3+0]=k,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=k,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=k,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=k,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}C||f=kt?(Ft.element[Ee].set(0,0,0),Ft.element[Oe].set(0,0),Ft.element[Le].set(0,0,0,0),Ft.element[Qe].set(0,0,0,0),Ft.element[$e].set(0,0,0,0)):(Ft.element[Ee].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[Oe].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Le].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[Qe].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[$e].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof It?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t;(this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(t=this.system.app.batcher)||t.remove(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Dt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(Qo.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Dt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===Jm?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===t_&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===Jm&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new vu,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new vu;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(Op);Dp._buildAccessors(Tg.prototype,Eg);var Pg="free",Rg="limited",Ig="locked",Lg=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],Dg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=Ig,n._linearLimitsX=new It(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=Ig,n._linearLimitsY=new It(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=Ig,n._linearLimitsZ=new It(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=Ig,n._angularLimitsX=new It(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=Ig,n._angularLimitsY=new It(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=Ig,n._angularLimitsZ=new It(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Vt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===Rg?(e=this._angularLimitsX.x*_t.DEG_TO_RAD,s=this._angularLimitsX.y*_t.DEG_TO_RAD):this._angularMotionX===Pg?(e=1,s=0):e=s=0,this._angularMotionY===Rg?(i=this._angularLimitsY.x*_t.DEG_TO_RAD,r=this._angularLimitsY.y*_t.DEG_TO_RAD):this._angularMotionY===Pg?(i=1,r=0):i=r=0,this._angularMotionZ===Rg?(n=this._angularLimitsZ.x*_t.DEG_TO_RAD,a=this._angularLimitsZ.y*_t.DEG_TO_RAD):this._angularMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===Rg?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===Pg?(e=1,s=0):e=s=0,this._linearMotionY===Rg?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===Pg?(i=1,r=0):i=r=0,this._linearMotionZ===Rg?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new zt,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=Lg;e=i?jg:Xg;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,Yg.x=e.containerSize.x-e.padding.x-e.padding.z,Yg.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>Yg[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>Yg[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,Yg[n.axis]);m===qg?c(r,p,n):m===jg&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op);Dp._buildAccessors(tv.prototype,iv);var sv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._asset=null,n._model=null,n._mapping={},n._castShadows=!0,n._receiveShadows=!0,n._materialAsset=null,n._material=void 0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._layers=[0],n._batchGroupId=-1,n._customAabb=null,n._area=null,n._materialEvents=null,n._clonedModel=!1,n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.addModelToLayers=function(){for(var t=this.system.app.scene.layers,e=0;e=0&&(null==(n=t.batcher)||n.insert(Qo.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof $f&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;n=this.system.app.assets.get(n)}n&&!n.resource&&this.system.app.assets.load(n)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var s=t.mesh;s instanceof no||(s=null),this.emitter=new Kd(this.system.app.graphicsDevice,{numParticles:t.numParticles,emitterExtents:t.emitterExtents,emitterExtentsInner:t.emitterExtentsInner,emitterRadius:t.emitterRadius,emitterRadiusInner:t.emitterRadiusInner,emitterShape:t.emitterShape,initialVelocity:t.initialVelocity,wrap:t.wrap,localSpace:t.localSpace,screenSpace:t.screenSpace,wrapBounds:t.wrapBounds,lifetime:t.lifetime,rate:t.rate,rate2:t.rate2,orientation:t.orientation,particleNormal:t.particleNormal,animTilesX:t.animTilesX,animTilesY:t.animTilesY,animStartFrame:t.animStartFrame,animNumFrames:t.animNumFrames,animNumAnimations:t.animNumAnimations,animIndex:t.animIndex,randomizeAnimIndex:t.randomizeAnimIndex,animSpeed:t.animSpeed,animLoop:t.animLoop,startAngle:t.startAngle,startAngle2:t.startAngle2,scaleGraph:t.scaleGraph,scaleGraph2:t.scaleGraph2,colorGraph:t.colorGraph,colorGraph2:t.colorGraph2,alphaGraph:t.alphaGraph,alphaGraph2:t.alphaGraph2,localVelocityGraph:t.localVelocityGraph,localVelocityGraph2:t.localVelocityGraph2,velocityGraph:t.velocityGraph,velocityGraph2:t.velocityGraph2,rotationSpeedGraph:t.rotationSpeedGraph,rotationSpeedGraph2:t.rotationSpeedGraph2,radialSpeedGraph:t.radialSpeedGraph,radialSpeedGraph2:t.radialSpeedGraph2,colorMap:t.colorMap,normalMap:t.normalMap,loop:t.loop,preWarm:t.preWarm,sort:t.sort,stretch:t.stretch,alignToMotion:t.alignToMotion,lighting:t.lighting,halfLambert:t.halfLambert,intensity:t.intensity,depthSoftening:t.depthSoftening,scene:this.system.app.scene,mesh:s,depthWrite:t.depthWrite,noFog:t.noFog,node:this.entity,blendType:t.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,t.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this.system.app.scene.on("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.on("add",this.onLayerAdded,this),this.system.app.scene.layers.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&t.depthSoftening&&this._requestDepth()}},i.onDisable=function(){this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();vv._skinInstanceCache=new Map;var yv=function(){function t(t,e,i,n,s){this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&this._registry.on("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.on("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.on("load:url:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:url:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:url:"+this.url,this._onRemove,this))},e._unbind=function(){this.id&&(this._onAssetLoad&&this._registry.off("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.off("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.off("load:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.url,this._onRemove,this))},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},y(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}]),t}(),xv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=[],n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._rootBone=new Qm(w(n),"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,w(n)),n._assetReference=new yv("asset",w(n),e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},w(n)),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof $f?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(i=t.batcher)||i.insert(Qo.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(Qo.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),Lv=new Vt,Dv=new Vt,Ov=new Et,kv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new Et(1,1,1),n._angularVelocity=new Et,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new Et(1,1,1),n._linearVelocity=new Et,n._mask=E_,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=w_,n}S(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(Av=new Ammo.btTransform,Cv=new Ammo.btVector3,Ev=new Ammo.btVector3,Mv=new Ammo.btQuaternion)};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&(this.system.removeBody(this._body),this.system.destroyBody(this._body),this._body=null);var i=this._type===T_?this._mass:0;this._getEntityTransform(Av);var n=this.system.createBody(i,t,Av);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===T_){var s=this._linearFactor;Cv.setValue(s.x,s.y,s.z),n.setLinearFactor(Cv);var r=this._angularFactor;Cv.setValue(r.x,r.y,r.z),n.setAngularFactor(Cv)}else this._type===A_&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case T_:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case A_:this.system._kinematic.push(this),e.forceActivationState(4);break;case w_:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyForce(Cv,Ev))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorque(Cv))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyImpulse(Cv,Ev))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorqueImpulse(Cv))},i.isStatic=function(){return this._type===w_},i.isStaticOrKinematic=function(){return this._type===w_||this._type===A_},i.isKinematic=function(){return this._type===A_},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();Cv.setValue(n.x,n.y,n.z),Mv.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();Cv.setValue(r.x,r.y,r.z),Mv.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(Cv),t.setRotation(Mv)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(Av),t.setWorldTransform(Av),this._type===A_){var e=t.getMotionState();e&&e.setWorldTransform(Av)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(Av);var n=Av.getOrigin(),s=Av.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=Dv.copy(o).invert(),l=Lv.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,Ov),i.setPosition(n.x()-Ov.x,n.y()-Ov.y,n.z()-Ov.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(Av),t.setWorldTransform(Av))},i.teleport=function(t,e,i,n,s,r){t instanceof Et?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Vt?this.entity.setRotation(e):e instanceof Et?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},y(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setAngularFactor(Cv)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(Cv),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setLinearFactor(Cv)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(Cv),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===T_)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,Cv),this._body.setMassProps(t,Cv),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case T_:this._group=1,this._mask=C_;break;case A_:this._group=4,this._mask=C_;break;default:this._group=2,this._mask=E_}this.createBody()}}}]),e}(Dp),Fv=function(){this.enabled=!0},Bv=function(t,e,i,n){this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Uv=function(t,e,i){0===arguments.length?(this.a=null,this.b=null,this.impulse=0,this.localPointA=new Et,this.localPointB=new Et,this.pointA=new Et,this.pointB=new Et,this.normal=new Et):(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal)},Nv=function(t,e,i,n,s,r){void 0===t&&(t=new Et),void 0===e&&(e=new Et),void 0===i&&(i=new Et),void 0===n&&(n=new Et),void 0===s&&(s=new Et),void 0===r&&(r=0),this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},zv=function(t,e){this.other=t,this.contacts=e},Vv=["enabled"],Gv=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new Et(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=kv,i.DataType=Fv,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Vv,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}Pv=new Ammo.btVector3,Rv=new Ammo.btVector3,kv.onLibraryLoaded(),this.contactPointPool=new Iv(Nv,1),this.contactResultPool=new Iv(zv,1),this.singleContactResultPool=new Iv(Uv,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var v=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));v&&(!(g=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(g=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(g||(g=this._storeCollision(u,c)),g&&c.rigidbody.fire("triggerenter",u)),S&&(g||(g=this._storeCollision(c,u)),g&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),w=this._hasContactEvent(u),T=this.hasEvent("contact");if(T||b||w){for(var A=0;A=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}]),e}(Dp),jv=function(){this.enabled=!0},Yv=["enabled"],Kv=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=qv,i.DataType=jv,i.schema=Yv,i.windowResolution=new It,i._drawOrderSyncQueue=new at,i.app.graphicsDevice.on("resizecanvas",i._onResize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.on("beforeremove",i.onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof It?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof It?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,ty),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return _t.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:_t.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return my.x=0===e?0:t.x/e,my.y=0===i?0:t.y/-i,my},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=_t.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=_t.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new It(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function e(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=_t.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=_t.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},e}(Dp),Sy=function(){this.enabled=!0},by=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=xy,i.DataType=Sy,i.schema=by,i.on("beforeremove",i._onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,by)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(Op);Dp._buildAccessors(xy.prototype,by);var Ty={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new Et,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},Ay=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof $f&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(w(s)),s._onInstancePauseHandler=s._onInstancePause.bind(w(s)),s._onInstanceResumeHandler=s._onInstanceResume.bind(w(s)),s._onInstanceStopHandler=s._onInstanceStop.bind(w(s)),s._onInstanceEndHandler=s._onInstanceEnd.bind(w(s)),s}S(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof Ay?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new Ay(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}]),e}(Dp),Ey=function(){this.enabled=!0},My=["enabled"],Py=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=Cy,i.DataType=Ey,i.schema=My,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},y(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e;(this._sprite&&(this._sprite.off("set:meshes",this._onSpriteMeshesChange,this),this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this)),this._sprite=t,this._sprite&&(this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((e=this._component._meshInstance)&&(e.setParameter("texture_emissiveMap",t.atlas.texture),e.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((e=this._component._meshInstance)&&(e.deleteParameter("texture_emissiveMap"),e.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}]),e}(P),Dy="texture_emissiveMap",Oy="texture_opacityMap",ky="material_emissive",Fy="material_opacity",By=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type=Ry,n._material=e.defaultMaterial,n._color=new gt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new It(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Dt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Dt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new _h,n._model=new $u,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(w(n)),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Ly(w(n),{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}S(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene;(i.on("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.on("add",this._onLayerAdded,this),i.layers.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.off("add",this._onLayerAdded,this),i.layers.off("remove",this._onLayerRemoved,this)),this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Ly?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}]),e}(Dp),Uy=function(){this.enabled=!0},Ny=["enabled"],zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=By,i.DataType=Uy,i.schema=Ny,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof gt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},y(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new Us(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new vu;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=he,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}]),e}(Op);Dp._buildAccessors(By.prototype,Ny);var Vy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new Et,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},y(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof Et?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}]),e}(Dp),Gy=function(){this.enabled=!0},Hy=["enabled"],Wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Vy,i.DataType=Gy,i.schema=Hy,i.on("beforeremove",i._onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof Et?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(Op);Dp._buildAccessors(Vy.prototype,Hy);var Xy=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},qy=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new Us(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getRenderableHdrFormat([ue,fe],!0)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new ln({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new Xy(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}]),e}(Dp),Yy=function(){this.enabled=!0},Ky=["enabled"],Zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=jy,i.DataType=Yy,i.schema=Ky,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.on("prerender",i.onAppPrerender,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),Nu(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(jy.prototype,Ky);var Qy=[],$y=[],Jy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}S(e,t);var i=e.prototype;return i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(o=e.ind),this._insertScriptInstance(r,o,a),this._scriptsIndex[s]={instance:r,onSwap:function(){i.swap(s)}},this[s]=r,e.preloading||r.__initializeAttributes(),this.fire("create",s,r),this.fire("create:"+s,r),this.system.app.scripts.on("swap:"+s,this._scriptsIndex[s].onSwap),e.preloading||(r.enabled&&!r._initialized&&(r._initialized=!0,r.initialize&&this._scriptMethod(r,ox)),r.enabled&&!r._postInitialized&&(r._postInitialized=!0,r.postInitialize&&this._scriptMethod(r,hx))),r}}else this._scriptsIndex[s]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(a.__initializeAttributes(),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},y(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){for(var e in this._scriptsData=t,t)if(t.hasOwnProperty(e)){var i=this._scriptsIndex[e];if(i){if("boolean"==typeof t[e].enabled&&(i.enabled=!!t[e].enabled),"object"==typeof t[e].attributes)for(var n in t[e].attributes)if(!ax.reservedNames.has(n)){if(!i.__attributes.hasOwnProperty(n)){var s=this.system.app.scripts.get(e);s&&s.attributes.add(n,{})}i[n]=t[e].attributes[n]}}else console.log(this.order)}}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}]),e}(Dp),cx=function(){this.enabled=!0},ux=0,dx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=lx,i.DataType=cx,i._components=new ct({sortBy:"_executionOrder"}),i._enabledComponents=new ct({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,w(i)),i.app.systems.on("initialize",i._onInitialize,w(i)),i.app.systems.on("postInitialize",i._onPostInitialize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.app.systems.on("postUpdate",i._onPostUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=ux++,this._components.append(t),ux>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op),fx=function(t){function e(){var e;return(e=t.call(this)||this)._meshes=null,e}S(e,t);var i=e.prototype;return i.destroy=function(){this.meshes=null},i.decRefMeshes=function(){if(this._meshes)for(var t=this._meshes.length,e=0;e0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),Cx=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},Ex=function(t){if(Sx)return!0;if(!t)if(bx)t=bx;else{var e=ht.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(Sx=new Ax,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};Ca.get(i,n,(function(i,n){i?e(i):t(n)}))}))),Cx(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+xx.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},Hx=function(t,e,i,n,s,r,a){var o,h=new no(t);h.aabb=Ux(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(nS.data.set(t.matrix),nS.getTranslation(sS),i.setLocalPosition(sS),nS.getEulerAngles(sS),i.setLocalEulerAngles(sS),nS.getScale(sS),i.setLocalScale(sS)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},aS=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*_t.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new fp(t.name);return r.addComponent("camera",s),r},oS=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new gt(t.color):gt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?_t.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*_t.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*_t.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*Yu.getLightUnitConversion(Wu[i.type],i.outerConeAngle,i.innerConeAngle));var n=new fp(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},hS=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=Fx(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===D.paths[0].propertyPath[0]&&2!==D.interpolation&&g.push(P[P.length-1].output))}g.sort();var O,k=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:aS,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},_S=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:oS,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},gS=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},vS=(Tx=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_,g,v,y,x,S,b,w,T,A,C,E,M,P,R;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=fS(i,r),d=pS(i,u),f=_S(i,u,r),p=mS(i,u,r),_=uS(i),t.next=12,Promise.all(n);case 12:return g=t.sent,v=lS(e,i,g,c,r),y=v.meshes,x=v.meshVariants,S=v.meshDefaultMaterials,b=v.promises,w=dS(i,u,g,r),t.next=17,Promise.all(s);case 17:for(T=t.sent,A=T.map((function(t){return t.resource})),C=cS(i,A,r,c),E=hS(e,i,u,g),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},SS=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){xS(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===L.getExtension(t.original).toLowerCase()?SS.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new yx(1,t)})),r=e.outputs.map((function(t){return new yx(t.components,t.data)})),a=e.curves.map((function(t){return new vx([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new pm(i,n,s,r,a)},e.patch=function(t,e){},t}(),TS=function(){function t(t){this.handlerType="animstategraph",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return new Um(e)},e.patch=function(t,e){},t}(),AS=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),CS=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],ES=function(){function t(t){this.handlerType="audio",this.manager=t.soundManager,this.maxRetries=0}var e=t.prototype;return e._isSupported=function(t){var e=L.getExtension(t);return CS.indexOf(e)>-1},e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new ka(t))}),i)}else i(null)},e.open=function(t,e){return e},e.patch=function(t,e){},e._createSound=function(t,e,i){if(Ea()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=Aa.ResponseType.ARRAY_BUFFER),Ca.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}AS&&document.body.appendChild(r);r.onerror=function(){r.onerror=null,AS&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",(function t(){r.removeEventListener("canplaythrough",t),AS&&document.body.removeChild(r),e(r)})),r.src=t}},t}(),MS=function(){function t(t){this.handlerType="binary",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),PS=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s):SS.parse(n._getUrlWithoutParams(t.original),L.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new PS(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),IS=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),LS=function(){function t(t){this.handlerType="container",this.glbContainerParser=new RS(t.graphicsDevice,t.assets,0),this.parsers={}}var e=t.prototype;return e._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},e._getParser=function(t){var e=t?L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){return this._getParser(t).open(t,e,i)},e.patch=function(t,e){},y(t,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}]),t}(),DS=function(){function t(t){this.handlerType="css",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),OS=function(){function t(t){this.handlerType="cubemap",this._device=t.graphicsDevice,this._registry=t.assets,this._loader=t.loader}var e=t.prototype;return e.load=function(t,e,i){this.loadAssets(i,e)},e.open=function(t,e,i){return i?i.resource:null},e.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},e.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},e.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},e.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?ai:ri:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new Us(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=hi,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=BS(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=BS(i.data)),this._loadTextures(t.load,i&&i.data,e))},e._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),HS=function(){function t(t){this.handlerType="hierarchy",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){GS.load(t,this.maxRetries,e)},e.open=function(t,e){this._app.systems.script.preloading=!0;var i=new VS(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},t}(),WS=function(){function t(t){this.handlerType="html",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),XS=function(){function t(t){this.handlerType="json",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),qS=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([he,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=lu,i=pu,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof Us&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),jS=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new vu;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=x({},e.chunks)),e){var n=lu[i],s=e[i];if("vec2"===n)t[i]=new It(s[0],s[1]);else if("rgb"===n)t[i]=new gt(s[0],s[1],s[2]);else if("texture"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new Et(s.center[0],s.center[1],s.center[2]),a=new Et(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new jt(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;void 0===t.shadingModel&&("blinn"===t.shader?t.shadingModel=1:t.shadingModel=0),t.shader&&delete t.shader,t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},e.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},e._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new Us(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},e.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},e._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},e._assignTexture=function(t,e,i){e.resource[t]=i},e._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=YS[t];return this._placeholderTextures[e]},e._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},e._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},e._onTextureAdd=function(t,e,i){this._assets.load(i)},e._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},e._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},e._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},e._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},e._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},e._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=cu;for(i=0;i0){for(var c=i.blendIndices.data[4*h+l],u=!0,d=0;dn)return!1;for(var f=0;f=0;n--)if(l[n].boneNames.length>i){var f=l.splice(n,1)[0],p=[];for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.push({mesh:o,node:u[r].node}),e&&e.push({material:e[r].material,path:e[r].path}));for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.splice(r,1),e&&e.splice(r,1))}!function(t){for(var e=t.vertices,i=t.skins,n=t.meshes,s=t.meshInstances,r=0;r0&&JS(s,null,this._device.getBoneLimit());for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new Tr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new Tr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}();function ob(t){this.resource&&(this.resource.atlas=t.resource)}function hb(t){this.registry.load(t)}var lb=function(){function t(t){this.handlerType="sprite",this._assets=t.assets,this._device=t.graphicsDevice,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===L.getExtension(t.original)&&Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},e.open=function(t,e){var i=new lf(this._device);return t&&(i.__data=e),i},e.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},e._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ob,t),this._assets.on("load:"+t.data.textureAtlasAsset,ob,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,hb,t),this._assets.on("add:"+t.data.textureAtlasAsset,hb,t))}else e.atlas=null},e._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ob,t),this._assets.off("add:"+n.textureAtlasAsset,hb,t))},t}(),cb=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new VS(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),ub=function(){function t(t){this.handlerType="template",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},e.open=function(t,e){return new cb(this._app,e)},t}(),db=function(){function t(t){this.handlerType="text",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),fb={repeat:0,clamp:1,mirror:2},pb={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},mb=/^data\.frames\.(\d+)$/,_b=function(){function t(t){this.handlerType="textureatlas",this._loader=t.loader,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===L.getExtension(t.original)?Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},e.open=function(t,e){var i=new cf;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},e.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==pb[t.data.minfilter]&&(i.minFilter=pb[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==pb[t.data.magfilter]&&(i.magFilter=pb[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==fb[t.data.addressu]&&(i.addressU=fb[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==fb[t.data.addressv]&&(i.addressV=fb[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?ai:ri;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Dt(a.rect),pivot:new It(a.pivot),border:new Dt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},e._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Dt(n.rect),pivot:new It(n.pivot),border:new Dt(n.border)};t.resource.frames=s}else{var a=e.match(mb);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Dt(i.rect),pivot:new It(i.pivot),border:new Dt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},t}();function gb(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},g=21,v=22,y=23,x=8,S=10,b=26,w=27,T=28,A=29,C=30,E=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?g:v;case s:return y;case r:return x;case a:return S;case o:return b;case h:return w;case l:return T;case c:return A;case u:return C;case d:return E;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},D=function(){return"undefined"!=typeof performance?performance.now():0},O=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;Ca.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else Ca.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))},xb=function(){function t(){this.callbacks={},this.queue=[],this.clients=[]}var e=t.prototype;return e.enqueueJob=function(t,e,i,n){if(this.callbacks.hasOwnProperty(t))this.callbacks[t].push(i);else{this.callbacks[t]=[i];var s={url:t,data:e,options:n};this.clients.length>0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},e._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},e._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},t}(),Ob=[1481919403,3140563232,169478669],kb={33776:8,33778:9,33779:le,36196:ve,37492:22,37496:23,35840:Se,35841:ye,35842:be,35843:xe,32849:6,32856:7,35905:19,35907:20,35898:ge,34843:ce,34842:ue};for(var Fb=function(){function t(t){this.maxRetries=0}var e=t.prototype;return e.load=function(t,e,i){$f.fetchArrayBuffer(t.load,e,i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new Us(i,x({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},e.parse=function(t){var e=new Uint32Array(t);if(Ob[0]!==e[0]||Ob[1]!==e[1]||Ob[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=kb[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===ge?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},t}(),Bb=166,Ub=function(){function t(t,e){this.maxRetries=0,this.device=e}var e=t.prototype;return e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=new Us(i,x({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},e.parse=function(t,e,i,n){var s=new lt(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var w,T=128,A=d?6:1,C=c===f?8:16,E=0;E32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||0!=(128&s[2]))return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},e._getParser=function(t){var e=L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},e._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Gb[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Gb[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Vb[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Vb[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Hb[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=ai:t.file&&0!=(8&t.file.opt)&&(e.type=li)}return e},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new Us(this._device,{width:4,height:4,format:6}):(!function(t){var e=es.calcMipLevelsCount(t._width,t._height);if(!(7!==t._format&&t._format!==fe||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},e.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);s=a||(a=d,o=t[c],h.copy(u.transform.position),l.copy(u.transform.orientation))}this.fire("result",h,l,e,o),this.manager.hitTest.fire("result",this,h,l,e,o),iw.push(r),iw.push(h),nw.push(l)}},e}(P),rw=function(t){function e(e){var i;return(i=t.call(this)||this).manager=void 0,i._supported=G.browser&&!(!window.XRSession||!window.XRSession.prototype.requestHitTestSource),i._session=null,i.sources=[],i.manager=e,i._supported&&(i.manager.on("start",i._onSessionStart,w(i)),i.manager.on("end",i._onSessionEnd,w(i))),i}S(e,t);var i=e.prototype;return i._onSessionStart=function(){this.manager.type===Yb&&(this._session=this.manager.session)},i._onSessionEnd=function(){if(this._session){this._session=null;for(var t=0;tthis.views.length;){var a=this.viewsPool.pop();a||(a={viewport:new Dt,projMat:new zt,viewMat:new zt,viewOffMat:new zt,viewInvMat:new zt,viewInvOffMat:new zt,projViewOffMat:new zt,viewMat3:new Pt,position:new Float32Array(3),rotation:new Vt}),this.views.push(a)}for(;r0){var p=new zt,m=this.views[0];p.copy(m.projMat);var _=p.data,g=2*Math.atan(1/_[5])*180/Math.PI,v=_[5]/_[0],y=_[14]/(_[10]+1),x=_[14]/(_[10]-1);this._camera.camera.setXrProperties({aspectRatio:v,farClip:y,fov:g,horizontalFov:!1,nearClip:x})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===Yb&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.depthSensing.supported&&this.depthSensing.update(t,n&&n.views[0]),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t)),this.fire("update",t),!0},y(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}]),e}(P),kw=function(t){function e(e,i){var n;void 0===i&&(i={}),n=t.call(this,e)||this;var s=new bp;return s.graphicsDevice=n.createDevice(e,i),n.addComponentSystems(s),n.addResourceHandles(s),s.elementInput=i.elementInput,s.keyboard=i.keyboard,s.mouse=i.mouse,s.touch=i.touch,s.gamepads=i.gamepads,s.scriptPrefix=i.scriptPrefix,s.assetPrefix=i.assetPrefix,s.scriptsOrder=i.scriptsOrder,s.soundManager=new Oa,s.lightmapper=Lp,s.batchManager=kh,s.xr=Ow,n.init(s),n}S(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new mr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Gv,H_,Bg,Sm,Gm,ov,Tv,Zy,ix,Df.legacy?ry:dx,Zm,Py,qm,_v,Kv,Mg,m_,yy,wy,zy,nv,Vg,Wy]},i.addResourceHandles=function(t){t.resourceHandlers=[gx,bS,wS,TS,nb,KS,Xb,db,XS,ES,rb,sb,OS,WS,DS,ab,HS,kS,US,MS,_b,lb,ub,LS]},e}(yp),Fw=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof $f)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),Bw=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new Us(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),Uw=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new gt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}S(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new Bw(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=rt.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dw&&(w=this.fontSize*this.fontSize/T,o.ctx.font=this.fontWeight+" "+w.toString()+"px "+this.fontName,T=this.fontSize),this.renderCharacter(o.ctx,S,v+_,y+g,n);var A=this.padding+(this.glyphSize-T)/2,C=-this.padding+u[S].descent-c,E=T;this._addChar(this.data,S,b,v,y,p,m,A,C,E,a-1,e,i),(v+=p)+p>e&&(v=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,Nw,zw,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(Gi.NOBLEND)})),Nw.length=0)}}},e}(Er),Gw=new Set,Hw=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof on&&(t=Mf()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new Vw(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){var s=this.device;if("object"==typeof t){var r=t;t=r.x,e=r.y,i=r.width,n=r.height}else e=this.renderTarget.height-(e+(n||1));t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i||1,1)),n=Math.floor(Math.max(n||1,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var a=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,a),s.updateEnd();for(var o=this.mapping,h=0;h0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return S(e,t),e}(yT),ST=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return S(e,t),e}(yT),bT=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return S(e,t),e}(yT),wT=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=gw,this._lastY=vw)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new ST(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new ST(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,gw,vw)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new xT(e,i,s,gw,vw,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new xT(e,this._pressedElement,s,gw,vw,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new xT(e,n,s,gw,vw,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(Zw,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new bT(i,a,r,e)),s&&this._fireEvent("selectenter",new bT(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new bT(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new bT(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new bT(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new bT(i,l,r,e)),l&&l===a&&this._fireEvent("click",new bT(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);gw=t.clientX-i,vw=t.clientY-n},e._calcTouchCoords=function(t){for(var e=0,i=0,n=t.target;!(n instanceof HTMLElement);)n=n.parentNode;var s=n;do{e+=s.offsetLeft-s.scrollLeft,i+=s.offsetTop-s.scrollTop,s=s.offsetParent}while(s);return{x:t.pageX-e,y:t.pageY-i}},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,Yw)?Yw:null,s=this._calculateRay3d(e,i,t,Kw)?Kw:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){Yw.origin.copy(t.origin),Yw.direction.copy(t.direction),Yw.end.copy(Yw.direction).mulScalar(2*e.farClip).add(Yw.origin);var i=Yw,n=e.worldToScreen(i.origin,qw),s=this._calculateRayScreen(n.x,n.y,e,Kw)?Kw:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,qw),i.screenToWorld(d,f,i.farClip,jw),n.origin.copy(qw),n.direction.set(0,0,-1),n.end.copy(jw),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){Qw.sub2(e,t),$w.sub2(i[0],t),Jw.sub2(i[1],t),tT.sub2(i[2],t),iT.cross(tT,Qw);var n,s,r=$w.dot(iT);if(r>=0){if((n=-Jw.dot(iT))<0)return-1;if((s=vT(Qw,Jw,$w))<0)return-1;var a=1/(n+r+s);nT.copy(i[0]).mulScalar(n*a),sT.copy(i[1]).mulScalar(r*a),rT.copy(i[2]).mulScalar(s*a),aT.copy(nT).add(sT).add(rT)}else{if(eT.sub2(i[3],t),(n=eT.dot(iT))<0)return-1;if((s=vT(Qw,$w,eT))<0)return-1;var o=1/(n+(r=-r)+s);nT.copy(i[0]).mulScalar(n*o),sT.copy(i[3]).mulScalar(r*o),rT.copy(i[2]).mulScalar(s*o),aT.copy(nT).add(sT).add(rT)}return Qw.sub2(i[0],i[2]).lengthSq()<1e-8||Qw.sub2(i[1],i[3]).lengthSq()<1e-8?-1:aT.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||gT;lT.copy(t.entity.up),cT.copy(lT).mulScalar(-1),dT.copy(t.entity.right),uT.copy(dT).mulScalar(-1),lT.mulScalar(s.w*i.y),cT.mulScalar(s.y*i.y),dT.mulScalar(s.z*i.x),uT.mulScalar(s.x*i.x),fT.copy(n[0]).add(cT).add(uT),pT.copy(n[1]).add(cT).add(dT),mT.copy(n[2]).add(lT).add(dT),_T.copy(n[3]).add(lT).add(uT),n=[fT,pT,mT,_T]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for(hT.set(i,i,i);e&&!e.screen;)hT.mul(e.getLocalScale()),e=e.parent;return hT},t.calculateScaleToWorld=function(t){var e=t.entity;for(hT.set(1,1,1);e;)hT.mul(e.getLocalScale()),e=e.parent;return hT},y(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||Mf()},set:function(t){this._app=t}}]),t}(),TT=new RegExp("^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^\\(\\s\\/]*)\\s*"),AT=function(t){function e(e){var i;return(i=t.call(this)||this).app=void 0,i.entity=void 0,i._enabled=void 0,i._enabledOld=void 0,i._initialized=void 0,i._postInitialized=void 0,i.__destroyed=void 0,i.__attributes=void 0,i.__attributesRaw=void 0,i.__scriptType=void 0,i.__executionOrder=void 0,i.initScriptType(e),i}S(e,t);var i=e.prototype;return i.initScriptType=function(t){var e=this.constructor;this.app=t.app,this.entity=t.entity,this._enabled="boolean"!=typeof t.enabled||t.enabled,this._enabledOld=this.enabled,this.__destroyed=!1,this.__attributes={},this.__attributesRaw=t.attributes||{},this.__scriptType=e,this.__executionOrder=-1},e.__getScriptName=function(t){if("function"==typeof t){if("name"in Function.prototype)return t.name;if(t===Function||t===Function.prototype.constructor)return"Function";var e=(""+t).match(TT);return e?e[1]:void 0}},i.__initializeAttributes=function(t){if(t||this.__attributesRaw){for(var e in this.__scriptType.attributes.index)this.__attributesRaw&&this.__attributesRaw.hasOwnProperty(e)?this[e]=this.__attributesRaw[e]:this.__attributes.hasOwnProperty(e)||(this.__scriptType.attributes.index[e].hasOwnProperty("default")?this[e]=this.__scriptType.attributes.index[e].default:this[e]=null);this.__attributesRaw=null}},e.extend=function(t){for(var e in t)t.hasOwnProperty(e)&&(this.prototype[e]=t[e])},y(e,[{key:"enabled",get:function(){return this._enabled&&!this._destroyed&&this.entity.script.enabled&&this.entity.enabled},set:function(t){this._enabled=!!t,this.enabled!==this._enabledOld&&(this._enabledOld=this.enabled,this.fire(this.enabled?"enable":"disable"),this.fire("state",this.enabled),!this._initialized&&this.enabled&&(this._initialized=!0,this.__initializeAttributes(!0),this.initialize&&this.entity.script._scriptMethod(this,ox)),this._initialized&&!this._postInitialized&&this.enabled&&!this.entity.script._beingEnabled&&(this._postInitialized=!0,this.postInitialize&&this.entity.script._scriptMethod(this,hx)))}}],[{key:"scriptName",get:function(){return this.__name}},{key:"attributes",get:function(){return this.hasOwnProperty("__attributes")||(this.__attributes=new ax(this)),this.__attributes}}]),e}(P);AT.__name=null;var CT=new Set(["system","entity","create","destroy","swap","move","data","scripts","_scripts","_scriptsIndex","_scriptsData","enabled","_oldState","onEnable","onDisable","onPostStateChange","_onSetEnabled","_checkState","_onBeforeRemove","_onInitializeAttributes","_onInitialize","_onPostInitialize","_onUpdate","_onPostUpdate","_callbacks","_callbackActive","has","get","on","off","fire","once","hasEvent"]);function ET(t,e){if(Df.legacy)return null;if(CT.has(t))throw new Error("Script name '"+t+"' is reserved, please rename the script");var i=function(t){P.prototype.initEventHandler.call(this),AT.prototype.initScriptType.call(this,t)};return(i.prototype=Object.create(AT.prototype)).constructor=i,i.extend=AT.extend,i.attributes=new ax(i),PT(i,t,e),i}var MT={};function PT(t,e,i){if(!t.legacy){if("function"!=typeof t)throw new Error("script class: '"+t+"' must be a constructor function (i.e. class).");if(!(t.prototype instanceof AT))throw new Error("script class: '"+AT.__getScriptName(t)+"' does not extend pc.ScriptType.");if(e=e||t.__name||AT.__getScriptName(t),CT.has(e))throw new Error("script name: '"+e+"' is reserved, please change script name");t.__name=e,(i?i.scripts:yp.getApplication().scripts).add(t),Rf.push(t,t.legacy)}}ax.reservedNames.forEach((function(t,e,i){MT[t]=1})),ET.reservedAttributes=MT;var RT={write:function(t){console.log(t)},open:function(){RT.write("Powered by PlayCanvas "+c+" "+u)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){RT.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&RT.write("ASSERT: "+e)}};rt.endsWith=function(t,e){return t.endsWith(e)},rt.startsWith=function(t,e){return t.startsWith(e)};var IT=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=dt()},e.stop=function(){this._isRunning=!1,this._b=dt()},e.getMilliseconds=function(){return this._b-this._a},t}(),LT={now:dt,Timer:IT};Object.defineProperty(gt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(gt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),_t.INV_LOG2=Math.LOG2E,_t.intToBytes=_t.intToBytes32,_t.bytesToInt=_t.bytesToInt32,Object.defineProperty(It.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),It.prototype.scale=It.prototype.mulScalar,Object.defineProperty(Et.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),Et.prototype.scale=Et.prototype.mulScalar,Object.defineProperty(Dt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Dt.prototype.scale=Dt.prototype.mulScalar;var DT={Aabb:jt,Sphere:Zt,Plane:se};Zt.prototype.intersectRay=Zt.prototype.intersectsRay,Qt.prototype.update=function(t,e){var i=new zt;i.mul2(t,e),this.setFromMat4(i)};var OT=yi;function kT(t){this.name="UnsupportedBrowserError",this.message=t||""}function FT(t){this.name="ContextCreationError",this.message=t||""}kT.prototype=Error.prototype,FT.prototype=Error.prototype;var BT={begin:Eo.begin,dummyFragmentCode:hr.dummyFragmentCode,end:Eo.end,fogCode:Eo.fogCode,gammaCode:Eo.gammaCode,precisionCode:hr.precisionCode,skinCode:Eo.skinCode,tonemapCode:Eo.tonemapCode,versionCode:hr.versionCode},UT={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:he,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:yi,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:Ce,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:Ee,SEMANTIC_NORMAL:Me,SEMANTIC_COLOR:Le,SEMANTIC_TEXCOORD:De,SEMANTIC_TEXCOORD0:Oe,SEMANTIC_TEXCOORD1:ke,SEMANTIC_ATTR0:He,SEMANTIC_ATTR1:We,SEMANTIC_ATTR2:Xe,SEMANTIC_ATTR3:qe,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Uo,programlib:BT,shaderChunks:wo,ContextCreationError:FT,Device:on,IndexBuffer:Tr,ProgramLibrary:bf,RenderTarget:ln,ScopeId:ji,Shader:vs,ShaderInput:Gs,Texture:Us,UnsupportedBrowserError:kT,VertexBuffer:Zi,VertexFormat:sn,VertexIterator:Gr},NT=new Dt;function zT(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=NT.set(s.x*a,s.y*o,s.z*a,s.w*o)}Uo(t,e,n,r)}var VT={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:zT,PostEffect:gf,PostEffectQueue:qy};Object.defineProperty(wo,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+wo.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(wo,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(ln.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(sn,"defaultInstancingFormat",{get:function(){return sn.getDefaultInstancingFormat(Ja.get())}}),Object.defineProperties(Us.prototype,{rgbm:{get:function(){return this.type===ai},set:function(t){this.type=t?ai:ri}},swizzleGGGR:{get:function(){return this.type===li},set:function(t){this.type=t?li:ri}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(on.prototype,"webgl2",{get:function(){return this.isWebGL2}}),on.prototype.getProgramLibrary=function(){return Ao(this)},on.prototype.setProgramLibrary=function(t){Co(this,t)},on.prototype.removeShaderFromCache=function(t){Ao(this).removeFromCache(t)},Gi.DEFAULT=Object.freeze(new Gi);var GT=new Gi,HT=new Hi;on.prototype.setBlendFunction=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(i.colorOp,t,e),GT.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(GT)},on.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorBlend(s.colorOp,t,e),GT.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(GT)},on.prototype.setBlendEquation=function(t){var e=this.blendState;GT.copy(e),GT.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),GT.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(GT)},on.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),GT.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(GT)},on.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorWrite(t,e,i,n),this.setBlendState(GT)},on.prototype.getBlending=function(){return this.blendState.blend},on.prototype.setBlending=function(t){GT.copy(this.blendState),GT.blend=t,this.setBlendState(GT)},on.prototype.setDepthWrite=function(t){HT.copy(this.depthState),HT.write=t,this.setDepthState(HT)},on.prototype.setDepthFunc=function(t){HT.copy(this.depthState),HT.func=t,this.setDepthState(HT)},on.prototype.setDepthTest=function(t){HT.copy(this.depthState),HT.test=t,this.setDepthState(HT)},on.prototype.getCullMode=function(){return this.cullMode};var WT=vu,XT=Qh,qT={partitionSkin:JS,procedural:{calculateTangents:ho,createMesh:lo,createTorus:co,createCylinder:fo,createCapsule:po,createCone:mo,createSphere:_o,createPlane:go,createBox:vo},BasicMaterial:Ko,ForwardRenderer:Ru,GraphNode:_h,Material:Yo,Mesh:no,MeshInstance:Eh,Model:$u,ParticleEmitter:Kd,PhongMaterial:vu,Picker:Hw,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:rf,Skin:af,SkinInstance:Jo};function jT(t,e){Object.defineProperty(vu.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function YT(t,e){"pass"!==t&&Object.defineProperty(tu.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(rf.prototype,"defaultMaterial",{get:function(){return Xo(Mf().graphicsDevice)}}),Object.defineProperty(zu.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(rf.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(rf.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(rf.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(Bu.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyComposition=!0},get:function(){return this._renderTarget}}),rf.prototype._updateSkybox=function(t){this._updateSky(t)},rf.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},rf.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},rf.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},rf.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},rf.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},rf.prototype.getModels=function(t){return this.models},Object.defineProperty(Zo.prototype,"model",{get:function(){return null}}),Ru.prototype.renderComposition=function(t){Mf().renderComposition(t)},Eh.prototype.syncAabb=function(){},Ju.prototype.getTarget=function(t){return this.targets[t]},_h.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},_h.prototype.addLabel=function(t){this._labels[t]=!0},_h.prototype.getLabels=function(){return Object.keys(this._labels)},_h.prototype.hasLabel=function(t){return!!this._labels[t]},_h.prototype.removeLabel=function(t){delete this._labels[t]},_h.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))}()}))},t.createMesh=lo,t.createPlane=go,t.createScript=ET,t.createShader=Mo,t.createShaderFromCode=Po,t.createSphere=_o,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=co,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?bx=t:Ex(t)},t.drawFullscreenQuad=zT,t.drawQuadWithShader=Uo,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Uo(t,i,n,s,r)},t.events=R,t.extend=p,t.getPixelFormatArrayType=Ae,t.getReservedScriptNames=function(){return CT},t.getTouchTargetCoords=Sa,t.gfx=UT,t.guid=I,t.http=Ca,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=tA,t.isCompressedPixelFormat=Te,t.log=RT,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=_t,t.now=dt,t.path=L,t.pixelFormatInfo=we,t.platform=G,t.posteffect=VT,t.prefilterCubemap=function(t){},t.programlib=BT,t.registerScript=PT,t.reprojectTexture=Qc,t.revision=u,t.scene=qT,t.script=Df,t.semanticToLocation=Oi,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=Po(t,wo.fullscreenQuadVS,wo.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1}),c=new ln({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(Gi.NOBLEND),Uo(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p Date: Fri, 8 Dec 2023 17:42:42 +0900 Subject: [PATCH 6/8] GemQuest init --- GemQuest/GemQuest/1904849.json | 1 + GemQuest/GemQuest/__game-scripts.js | 1 + GemQuest/GemQuest/__loading__.js | 112 +++++++++ GemQuest/GemQuest/__modules__.js | 45 ++++ GemQuest/GemQuest/__settings__.js | 21 ++ GemQuest/GemQuest/__start__.js | 228 ++++++++++++++++++ .../files/assets/158042711/1/click3.mp3 | Bin 0 -> 7670 bytes .../files/assets/158042712/1/SoundOff.png | Bin 0 -> 12531 bytes .../files/assets/158042720/1/Clear_copy.png | Bin 0 -> 1091 bytes .../files/assets/158042722/1/rect.png | Bin 0 -> 14647 bytes .../files/assets/158042725/1/SoundOn.png | Bin 0 -> 17543 bytes .../files/assets/158042726/1/open.mp3 | Bin 0 -> 4381 bytes .../files/assets/158042728/1/lose.mp3 | Bin 0 -> 9440 bytes .../files/assets/158042732/1/cardFront.png | Bin 0 -> 18416 bytes .../files/assets/158042734/1/circle.png | Bin 0 -> 10317 bytes .../files/assets/158042738/1/Jalnan.png | Bin 0 -> 103866 bytes .../files/assets/158042740/1/UI_Card.png | Bin 0 -> 3180 bytes .../GemQuest/files/assets/158042741/1/win.mp3 | Bin 0 -> 7040 bytes .../files/assets/158042746/1/dia_2.png | Bin 0 -> 57124 bytes .../assets/158042747/1/Layer_5_copy_5.png | Bin 0 -> 662 bytes .../files/assets/158042748/1/up_Money.png | Bin 0 -> 660 bytes .../files/assets/158042749/1/Cancel.png | Bin 0 -> 4757 bytes .../GemQuest/files/assets/158042750/1/Ok.png | Bin 0 -> 4799 bytes .../files/assets/158042751/1/Clear.png | Bin 0 -> 4780 bytes .../158042752/1/superstar_memesbruh03 (1).png | Bin 0 -> 28716 bytes .../files/assets/158042754/1/edit.png | Bin 0 -> 33425 bytes .../files/assets/158043146/1/bottom_2.png | Bin 0 -> 1421 bytes .../files/assets/158043147/1/bottom_4.png | Bin 0 -> 1432 bytes .../files/assets/158043148/1/bottom_5.png | Bin 0 -> 1416 bytes .../files/assets/158043149/1/bottom_1.png | Bin 0 -> 1422 bytes .../files/assets/158043150/1/bottom_3.png | Bin 0 -> 1430 bytes .../files/assets/158043151/1/bottom_6.png | Bin 0 -> 1427 bytes .../files/assets/158043152/1/Group_9.png | Bin 0 -> 1408 bytes .../files/assets/158051372/1/shadow_2.png | Bin 0 -> 2096 bytes .../files/assets/158051373/1/shadow_6.png | Bin 0 -> 2096 bytes .../files/assets/158051374/1/shadow_3.png | Bin 0 -> 2107 bytes .../files/assets/158051375/1/shadow_1.png | Bin 0 -> 2095 bytes .../files/assets/158051376/1/shadow_4.png | Bin 0 -> 2073 bytes .../files/assets/158051377/1/shadow_5.png | Bin 0 -> 2063 bytes .../files/assets/158051378/1/shadow_7.png | Bin 0 -> 2000 bytes .../files/assets/158483931/1/Asset_3.png | Bin 0 -> 5300 bytes .../files/assets/158483964/1/Asset_2.png | Bin 0 -> 5224 bytes .../files/assets/159797215/1/gems01-1.png | Bin 0 -> 9935 bytes .../files/assets/159797216/1/gems04.png | Bin 0 -> 3308 bytes .../files/assets/159797217/1/gems03-2.png | Bin 0 -> 11145 bytes .../files/assets/159797218/1/gems01.png | Bin 0 -> 3225 bytes .../files/assets/159797219/1/gems05-2.png | Bin 0 -> 9587 bytes .../files/assets/159797220/1/gems02.png | Bin 0 -> 3113 bytes .../files/assets/159797221/1/gems03.png | Bin 0 -> 5602 bytes .../files/assets/159797222/1/gems06.png | Bin 0 -> 4593 bytes .../files/assets/159797223/1/gems04-2.png | Bin 0 -> 9213 bytes .../files/assets/159797224/1/gems02-2.png | Bin 0 -> 9115 bytes .../files/assets/159797225/1/gems06-2.png | Bin 0 -> 9005 bytes .../files/assets/159797226/1/gems05.png | Bin 0 -> 4707 bytes GemQuest/GemQuest/index.html | 17 ++ GemQuest/GemQuest/logo.png | Bin 0 -> 2599 bytes GemQuest/GemQuest/manifest.json | 1 + GemQuest/GemQuest/playcanvas-stable.min.js | 6 + GemQuest/GemQuest/styles.css | 43 ++++ 59 files changed, 475 insertions(+) create mode 100644 GemQuest/GemQuest/1904849.json create mode 100644 GemQuest/GemQuest/__game-scripts.js create mode 100644 GemQuest/GemQuest/__loading__.js create mode 100644 GemQuest/GemQuest/__modules__.js create mode 100644 GemQuest/GemQuest/__settings__.js create mode 100644 GemQuest/GemQuest/__start__.js create mode 100644 GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 create mode 100644 GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png create mode 100644 GemQuest/GemQuest/files/assets/158042720/1/Clear_copy.png create mode 100644 GemQuest/GemQuest/files/assets/158042722/1/rect.png create mode 100644 GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png create mode 100644 GemQuest/GemQuest/files/assets/158042726/1/open.mp3 create mode 100644 GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 create mode 100644 GemQuest/GemQuest/files/assets/158042732/1/cardFront.png create mode 100644 GemQuest/GemQuest/files/assets/158042734/1/circle.png create mode 100644 GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png create mode 100644 GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png create mode 100644 GemQuest/GemQuest/files/assets/158042741/1/win.mp3 create mode 100644 GemQuest/GemQuest/files/assets/158042746/1/dia_2.png create mode 100644 GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png create mode 100644 GemQuest/GemQuest/files/assets/158042748/1/up_Money.png create mode 100644 GemQuest/GemQuest/files/assets/158042749/1/Cancel.png create mode 100644 GemQuest/GemQuest/files/assets/158042750/1/Ok.png create mode 100644 GemQuest/GemQuest/files/assets/158042751/1/Clear.png create mode 100644 GemQuest/GemQuest/files/assets/158042752/1/superstar_memesbruh03 (1).png create mode 100644 GemQuest/GemQuest/files/assets/158042754/1/edit.png create mode 100644 GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png create mode 100644 GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png create mode 100644 GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png create mode 100644 GemQuest/GemQuest/files/assets/158043149/1/bottom_1.png create mode 100644 GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png create mode 100644 GemQuest/GemQuest/files/assets/158043151/1/bottom_6.png create mode 100644 GemQuest/GemQuest/files/assets/158043152/1/Group_9.png create mode 100644 GemQuest/GemQuest/files/assets/158051372/1/shadow_2.png create mode 100644 GemQuest/GemQuest/files/assets/158051373/1/shadow_6.png create mode 100644 GemQuest/GemQuest/files/assets/158051374/1/shadow_3.png create mode 100644 GemQuest/GemQuest/files/assets/158051375/1/shadow_1.png create mode 100644 GemQuest/GemQuest/files/assets/158051376/1/shadow_4.png create mode 100644 GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png create mode 100644 GemQuest/GemQuest/files/assets/158051378/1/shadow_7.png create mode 100644 GemQuest/GemQuest/files/assets/158483931/1/Asset_3.png create mode 100644 GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png create mode 100644 GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png create mode 100644 GemQuest/GemQuest/files/assets/159797216/1/gems04.png create mode 100644 GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png create mode 100644 GemQuest/GemQuest/files/assets/159797218/1/gems01.png create mode 100644 GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png create mode 100644 GemQuest/GemQuest/files/assets/159797220/1/gems02.png create mode 100644 GemQuest/GemQuest/files/assets/159797221/1/gems03.png create mode 100644 GemQuest/GemQuest/files/assets/159797222/1/gems06.png create mode 100644 GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png create mode 100644 GemQuest/GemQuest/files/assets/159797224/1/gems02-2.png create mode 100644 GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png create mode 100644 GemQuest/GemQuest/files/assets/159797226/1/gems05.png create mode 100644 GemQuest/GemQuest/index.html create mode 100644 GemQuest/GemQuest/logo.png create mode 100644 GemQuest/GemQuest/manifest.json create mode 100644 GemQuest/GemQuest/playcanvas-stable.min.js create mode 100644 GemQuest/GemQuest/styles.css diff --git a/GemQuest/GemQuest/1904849.json b/GemQuest/GemQuest/1904849.json new file mode 100644 index 0000000..9620ca5 --- /dev/null +++ b/GemQuest/GemQuest/1904849.json @@ -0,0 +1 @@ +{"branch_id":"fa201fb2-9558-40a9-9aae-93e54c6576ef","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true}},"entities":{"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[2,2,-2],"scale":[1,1,1],"name":"Light","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"light":{"castShadows":true,"isStatic":false,"vsmBlurSize":11,"shadowUpdateMode":2,"normalOffsetBias":0.05,"color":[1,1,1],"bakeArea":0,"numCascades":1,"outerConeAngle":45,"bakeNumSamples":1,"affectDynamic":true,"intensity":1,"bakeDir":true,"cookieAngle":0,"affectLightmapped":false,"cookieChannel":"rgb","innerConeAngle":40,"shadowBias":0.2,"bake":false,"falloffMode":0,"cookieAsset":null,"vsmBias":0.01,"layers":[0],"cookieIntensity":1,"cascadeDistribution":0.5,"cookieOffset":[0,0],"shadowResolution":1024,"cookieScale":[1,1],"enabled":true,"shape":0,"range":8,"vsmBlurMode":1,"shadowDistance":16,"type":"directional","cookieFalloff":true,"shadowType":0}},"rotation":[45,135,0],"tags":[],"enabled":true,"children":[]},"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[0,0,0],"scale":[1,1,1],"name":"Root","parent":null,"resource_id":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{},"rotation":[0,0,0],"tags":[],"enabled":true,"children":["80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","a019517d-368f-4ce7-87bb-e99894bcc1e2","6a132463-4065-4029-8123-50daf0892779"]},"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[4,3.5,4],"scale":[1,1,1],"name":"Camera","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"camera":{"projection":0,"farClip":1000,"clearColorBuffer":true,"layers":[0,1,2,3,4],"priority":0,"fov":45,"clearDepthBuffer":true,"frustumCulling":true,"clearColor":[0.118,0.118,0.118,1],"enabled":true,"orthoHeight":4,"nearClip":0.1,"rect":[0,0,1,1]}},"rotation":[-30,45,0],"tags":[],"enabled":true,"children":[]},"a019517d-368f-4ce7-87bb-e99894bcc1e2":{"name":"2D Screen","tags":[],"enabled":true,"resource_id":"a019517d-368f-4ce7-87bb-e99894bcc1e2","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["553caf6c-a2e2-456e-bab1-af926693d0bd","7e408ddb-a1c0-4c54-ad0a-9b33af456156","c98c1544-8c4e-488d-ab9c-d889c34639ad","43776b5d-805c-405d-8a6a-693a0848e585","6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","cf778ab4-4cd6-4c44-a880-8eca997d8fcc"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"screen":{"enabled":true,"screenSpace":true,"scaleMode":"blend","scaleBlend":0.5,"resolution":[1280,720],"referenceResolution":[1000,1600]}}},"553caf6c-a2e2-456e-bab1-af926693d0bd":{"name":"BakcgourndCover","tags":[],"enabled":false,"resource_id":"553caf6c-a2e2-456e-bab1-af926693d0bd","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-800,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c98c1544-8c4e-488d-ab9c-d889c34639ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"c98c1544-8c4e-488d-ab9c-d889c34639ad","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["39d376ac-458e-43c3-8d1e-efab6ddb7a46","5d189437-9722-4cdb-92e0-34304dbe04de"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,1,0.5,1],"pivot":[0.5,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":250,"margin":[-500,-250,-500,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["userBalance"],"scripts":{"userBalance":{"enabled":true,"attributes":{"userBalanceText":"5d189437-9722-4cdb-92e0-34304dbe04de","userName":"39d376ac-458e-43c3-8d1e-efab6ddb7a46"}}}}}},"39d376ac-458e-43c3-8d1e-efab6ddb7a46":{"name":"UserName","tags":[],"enabled":false,"resource_id":"39d376ac-458e-43c3-8d1e-efab6ddb7a46","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[-475.1432317571818,-35,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,1,1,1],"pivot":[1,1],"text":"UserName","key":null,"fontAsset":158042738,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":315,"height":67.44,"margin":[-803.943,-102.58,475.143,35],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d189437-9722-4cdb-92e0-34304dbe04de":{"name":"Balance","tags":[],"enabled":true,"resource_id":"5d189437-9722-4cdb-92e0-34304dbe04de","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[0,35.5076950865905,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"100","key":null,"fontAsset":158042752,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":150,"height":97.5,"margin":[-75,-13.242,-75,-84.258],"alignment":[1,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"43776b5d-805c-405d-8a6a-693a0848e585":{"name":"Middle","tags":[],"enabled":true,"resource_id":"43776b5d-805c-405d-8a6a-693a0848e585","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["b892d94b-b6fd-4fbb-97ef-13c142300082","efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b"],"position":[0,91.35106736896113,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-708.649,-500,-891.351],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["middle","gemController"],"scripts":{"middle":{"enabled":true,"attributes":{"resultText":null,"boxButton":[]}},"gemController":{"enabled":true,"attributes":{"front":[159797215,159797224,159797217,159797223,159797219,159797225],"back":[159797218,159797220,159797221,159797216,159797226,159797222],"bottom":[158043149,158043146,158043150,158043147,158043148,158043151,158043152],"shadow":[158051375,158051372,158051374,158051376,158051377,158051373,158051378],"gems":["77b77b27-30a7-4cdc-8b54-62af4619ebca","10520a74-44dd-4c4d-b996-4287b282d419","e59df02d-9cef-4560-b9ae-2edb8a519ac1","1776e15a-5b3f-47ba-a138-a858fe37f268","7b1adc07-6b13-41f1-9f3f-9123400c4dba"]}}}}}},"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["717f1daa-0043-4f79-90ec-85deecdc5e73","480c18f6-d3b8-478a-b573-4889b0154e56","4a5d316b-7653-4505-b82f-693edb49b6a2","85b17c53-513d-4bfa-871d-1e0e273b8786"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,0,-500,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bottom"],"scripts":{"bottom":{"enabled":true,"attributes":{"startButton":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","winResult":"5665afa5-5303-4c36-90aa-082859636427","loseResult":"8d022bf0-009d-4913-9cba-07b973de155d","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a","profit":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","randomButton":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","clearButton":"1a458b72-d5fb-4f25-a042-540371d7162f","betEditButton":"f5286247-662e-4692-b877-1758d446897b","betAmountText":"da783934-28fc-4d8c-a03c-c23c231a31ba","multiplier":"408ea63d-61d1-46e5-a3bc-7c020d2e654e"}}}}}},"717f1daa-0043-4f79-90ec-85deecdc5e73":{"name":"Idle","tags":[],"enabled":true,"resource_id":"717f1daa-0043-4f79-90ec-85deecdc5e73","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["ac86bc84-6e51-4fca-9e3c-eb36f48b4a86"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"480c18f6-d3b8-478a-b573-4889b0154e56":{"name":"InGame","tags":[],"enabled":true,"resource_id":"480c18f6-d3b8-478a-b573-4889b0154e56","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["1a458b72-d5fb-4f25-a042-540371d7162f","6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","2e0a4330-1edb-4584-bb1d-0459e4d45884","d8fdcb3c-7e91-467f-9d37-deac44bb1780","f5286247-662e-4692-b877-1758d446897b"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4a5d316b-7653-4505-b82f-693edb49b6a2":{"name":"Result","tags":[],"enabled":true,"resource_id":"4a5d316b-7653-4505-b82f-693edb49b6a2","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5665afa5-5303-4c36-90aa-082859636427","8d022bf0-009d-4913-9cba-07b973de155d"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86":{"name":"StartButton","tags":[],"enabled":true,"resource_id":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","parent":"717f1daa-0043-4f79-90ec-85deecdc5e73","children":["ef9eb80a-dac0-413c-8134-6174cd11f061"],"position":[0,-110,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042751,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[-147,-161.5,-147,58.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef9eb80a-dac0-413c-8134-6174cd11f061":{"name":"Text","tags":[],"enabled":true,"resource_id":"ef9eb80a-dac0-413c-8134-6174cd11f061","parent":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","children":[],"position":[0,9,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"START","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":106.875,"height":36.563,"margin":[-118.75,-31.625,-118.75,-49.625],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a132463-4065-4029-8123-50daf0892779":{"name":"Controller","tags":[],"enabled":true,"resource_id":"6a132463-4065-4029-8123-50daf0892779","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["3789b06d-2fd1-4703-9075-6b91a609741b","3d2631fa-a332-4c94-85d0-9e6aed3a924a","1b0059ce-7c72-4a34-aef1-b2b0d6cd2136"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{}},"3789b06d-2fd1-4703-9075-6b91a609741b":{"name":"DummyServer","tags":[],"enabled":true,"resource_id":"3789b06d-2fd1-4703-9075-6b91a609741b","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["dummyServer"],"scripts":{"dummyServer":{"enabled":true,"attributes":{}}}}}},"3d2631fa-a332-4c94-85d0-9e6aed3a924a":{"name":"GameController","tags":[],"enabled":true,"resource_id":"3d2631fa-a332-4c94-85d0-9e6aed3a924a","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["gameController"],"scripts":{"gameController":{"enabled":true,"attributes":{}}}}}},"5665afa5-5303-4c36-90aa-082859636427":{"name":"Win","tags":[],"enabled":false,"resource_id":"5665afa5-5303-4c36-90aa-082859636427","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1844b778-6764-46e5-b3dd-d0f182761b4f","408ea63d-61d1-46e5-a3bc-7c020d2e654e","bfede50e-d7ca-47a2-9fb6-1bd77c5a515e"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1844b778-6764-46e5-b3dd-d0f182761b4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"1844b778-6764-46e5-b3dd-d0f182761b4f","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,89.89380877091162,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"WIN","key":null,"fontAsset":158042752,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":345,"height":195,"margin":[-172.5,-7.606,-172.5,-187.394],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8d022bf0-009d-4913-9cba-07b973de155d":{"name":"Lose","tags":[],"enabled":false,"resource_id":"8d022bf0-009d-4913-9cba-07b973de155d","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Lose","key":null,"fontAsset":158042752,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":480,"height":195,"margin":[-240,-97.5,-240,-97.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136":{"name":"AudioController","tags":[],"enabled":true,"resource_id":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","parent":"6a132463-4065-4029-8123-50daf0892779","children":["3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","81a10236-090f-4364-b5ad-8e296a5eb78e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["audioController"],"scripts":{"audioController":{"enabled":true,"attributes":{"soundSource":"81a10236-090f-4364-b5ad-8e296a5eb78e"}}}}}},"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc":{"name":"Audio Listener","tags":[],"enabled":true,"resource_id":"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"audiolistener":{"enabled":true}}},"81a10236-090f-4364-b5ad-8e296a5eb78e":{"name":"Sound","tags":[],"enabled":true,"resource_id":"81a10236-090f-4364-b5ad-8e296a5eb78e","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"sound":{"enabled":true,"volume":1,"pitch":1,"positional":true,"refDistance":1,"maxDistance":10000,"rollOffFactor":1,"distanceModel":"linear","slots":{"2":{"name":"Click","loop":false,"autoPlay":false,"overlap":false,"asset":158042711,"startTime":0,"duration":null,"volume":1,"pitch":1},"3":{"name":"Lose","loop":false,"autoPlay":false,"overlap":false,"asset":158042728,"startTime":0,"duration":null,"volume":1,"pitch":1},"4":{"name":"Open","loop":false,"autoPlay":false,"overlap":false,"asset":158042726,"startTime":0,"duration":null,"volume":1,"pitch":1},"5":{"name":"Win","loop":false,"autoPlay":false,"overlap":false,"asset":158042741,"startTime":0,"duration":null,"volume":1,"pitch":1}}}}},"cf778ab4-4cd6-4c44-a880-8eca997d8fcc":{"name":"SoundButton","tags":[],"enabled":true,"resource_id":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["50ad00e6-271c-4756-b28d-11e6b1ef52eb"],"position":[20,-20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[20,-140,-140,20],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"50ad00e6-271c-4756-b28d-11e6b1ef52eb":{"name":"Button","tags":[],"enabled":true,"resource_id":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","parent":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","children":["1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","2753f9e8-255b-4725-84a2-16795c7174e6"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042734,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[-60,-60,-60,-60],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["soundButton"],"scripts":{"soundButton":{"enabled":true,"attributes":{"onImg":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","offImg":"2753f9e8-255b-4725-84a2-16795c7174e6"}}}}}},"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58":{"name":"On","tags":[],"enabled":false,"resource_id":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042725,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2753f9e8-255b-4725-84a2-16795c7174e6":{"name":"Off","tags":[],"enabled":true,"resource_id":"2753f9e8-255b-4725-84a2-16795c7174e6","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042712,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85b17c53-513d-4bfa-871d-1e0e273b8786":{"name":"BetController","tags":[],"enabled":true,"resource_id":"85b17c53-513d-4bfa-871d-1e0e273b8786","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5a034e63-1b15-486b-96fc-2b2e2847420a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,0,-500,-600],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betController"],"scripts":{"betController":{"enabled":true,"attributes":{"betButton":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892"],"okButton":"e905deb6-b6db-4c52-acbf-f678b6491e58","cancelButton":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","clearButton":"520409b8-ff1b-4179-92e0-317a07036fd4","betAmountText":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","errorText":"0482f254-0b73-45a9-8881-807ee55524be","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a"}}}}}},"5a034e63-1b15-486b-96fc-2b2e2847420a":{"name":"BackGround","tags":[],"enabled":false,"resource_id":"5a034e63-1b15-486b-96fc-2b2e2847420a","parent":"85b17c53-513d-4bfa-871d-1e0e273b8786","children":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892","d24500da-4b2a-4d7c-9215-53b4fb6bd76e","e905deb6-b6db-4c52-acbf-f678b6491e58","87973658-53ec-488e-aef0-a8f678900356","520409b8-ff1b-4179-92e0-317a07036fd4","0482f254-0b73-45a9-8881-807ee55524be"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.16470588235294117,0.16470588235294117,0.16470588235294117],"opacity":0.99,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,-300,-500,-300],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1cf8d121-4dba-4338-8004-c37c5648d1ac":{"name":"Button","tags":[],"enabled":true,"resource_id":"1cf8d121-4dba-4338-8004-c37c5648d1ac","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["8b15b958-beb8-43ea-b8f6-5fb59cc50677"],"position":[-319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1cf8d121-4dba-4338-8004-c37c5648d1ac","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,63.247,165,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1}}}}}},"8b15b958-beb8-43ea-b8f6-5fb59cc50677":{"name":"Text","tags":[],"enabled":true,"resource_id":"8b15b958-beb8-43ea-b8f6-5fb59cc50677","parent":"1cf8d121-4dba-4338-8004-c37c5648d1ac","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85736018-f6da-4142-b0da-753be93796e0":{"name":"Button","tags":[],"enabled":true,"resource_id":"85736018-f6da-4142-b0da-753be93796e0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["eafbf68e-a08d-439e-9c08-e1f0c393b867"],"position":[0,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"85736018-f6da-4142-b0da-753be93796e0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,63.247,-155,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10}}}}}},"eafbf68e-a08d-439e-9c08-e1f0c393b867":{"name":"Text","tags":[],"enabled":true,"resource_id":"eafbf68e-a08d-439e-9c08-e1f0c393b867","parent":"85736018-f6da-4142-b0da-753be93796e0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0f9874ca-b06b-4b03-a7fa-e8cc04692bde":{"name":"Button","tags":[],"enabled":true,"resource_id":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["c5508cc8-5056-422d-b761-052b3a319b99"],"position":[319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,63.247,-475,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100}}}}}},"c5508cc8-5056-422d-b761-052b3a319b99":{"name":"Text","tags":[],"enabled":true,"resource_id":"c5508cc8-5056-422d-b761-052b3a319b99","parent":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0":{"name":"Button","tags":[],"enabled":true,"resource_id":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c"],"position":[-319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,-56.753,165,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1000}}}}}},"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c":{"name":"Text","tags":[],"enabled":true,"resource_id":"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c","parent":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf2a2801-e64c-471c-9c01-8b87b2550734":{"name":"Button","tags":[],"enabled":true,"resource_id":"cf2a2801-e64c-471c-9c01-8b87b2550734","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["61bcedac-217b-4855-9e44-de5fc08a3f1f"],"position":[0,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"cf2a2801-e64c-471c-9c01-8b87b2550734","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,-56.753,-155,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10000}}}}}},"61bcedac-217b-4855-9e44-de5fc08a3f1f":{"name":"Text","tags":[],"enabled":true,"resource_id":"61bcedac-217b-4855-9e44-de5fc08a3f1f","parent":"cf2a2801-e64c-471c-9c01-8b87b2550734","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"88edaf23-57fb-4d4c-8499-37b285e47892":{"name":"Button","tags":[],"enabled":true,"resource_id":"88edaf23-57fb-4d4c-8499-37b285e47892","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["04788a9b-8bdc-48e3-9b88-3d484f890d82"],"position":[319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"88edaf23-57fb-4d4c-8499-37b285e47892","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,-56.753,-475,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100000}}}}}},"04788a9b-8bdc-48e3-9b88-3d484f890d82":{"name":"Text","tags":[],"enabled":true,"resource_id":"04788a9b-8bdc-48e3-9b88-3d484f890d82","parent":"88edaf23-57fb-4d4c-8499-37b285e47892","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100,000","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d24500da-4b2a-4d7c-9215-53b4fb6bd76e":{"name":"CancelButton","tags":[],"enabled":true,"resource_id":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["e0918e69-2b3d-4418-84ea-a29337e12201"],"position":[200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042749,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[45,-291.164,-355,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e0918e69-2b3d-4418-84ea-a29337e12201":{"name":"Text","tags":[],"enabled":true,"resource_id":"e0918e69-2b3d-4418-84ea-a29337e12201","parent":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Cancel","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":26,"margin":[-150,-8,-150,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e905deb6-b6db-4c52-acbf-f678b6491e58":{"name":"OkButton","tags":[],"enabled":true,"resource_id":"e905deb6-b6db-4c52-acbf-f678b6491e58","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["746363d7-a558-440e-9e91-ad949975e57b"],"position":[-200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"e905deb6-b6db-4c52-acbf-f678b6491e58","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042751,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[-347,-291.164,53,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"746363d7-a558-440e-9e91-ad949975e57b":{"name":"Text","tags":[],"enabled":true,"resource_id":"746363d7-a558-440e-9e91-ad949975e57b","parent":"e905deb6-b6db-4c52-acbf-f678b6491e58","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Ok","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":26,"margin":[-100,-8,-100,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"408ea63d-61d1-46e5-a3bc-7c020d2e654e":{"name":"Multiplier","tags":[],"enabled":true,"resource_id":"408ea63d-61d1-46e5-a3bc-7c020d2e654e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,-43.88431665325958,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1.5x","key":null,"fontAsset":158042752,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[0.2901960784313726,1,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":172.5,"height":97.5,"margin":[-86.25,-92.634,-86.25,-4.866],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e408ddb-a1c0-4c54-ad0a-9b33af456156":{"name":"BakcgourndCover","tags":[],"enabled":true,"resource_id":"7e408ddb-a1c0-4c54-ad0a-9b33af456156","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[63.246499999999855,72.27699999999993,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.28627450980392155,0.28627450980392155,0.28627450980392155],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":2130.730576948686,"height":1728.065873800372,"margin":[-1002.119,-791.756,-1128.612,-936.31],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"87973658-53ec-488e-aef0-a8f678900356":{"name":"Image","tags":[],"enabled":true,"resource_id":"87973658-53ec-488e-aef0-a8f678900356","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["d9ac37ec-0f58-4e1e-8e3a-493afae8f818"],"position":[-153.74922561263267,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042747,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-475.249,-176.5,-167.751,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"520409b8-ff1b-4179-92e0-317a07036fd4":{"name":"ClearButton","tags":[],"enabled":true,"resource_id":"520409b8-ff1b-4179-92e0-317a07036fd4","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["968dad83-b059-4f0a-bcdf-c87c1f24d98b"],"position":[327.4116066032516,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"520409b8-ff1b-4179-92e0-317a07036fd4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042750,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[172.412,-176.5,-482.412,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"968dad83-b059-4f0a-bcdf-c87c1f24d98b":{"name":"Text","tags":[],"enabled":true,"resource_id":"968dad83-b059-4f0a-bcdf-c87c1f24d98b","parent":"520409b8-ff1b-4179-92e0-317a07036fd4","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Clear","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":239.861,"height":102.509,"margin":[-119.93,-46.255,-119.93,-56.255],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d9ac37ec-0f58-4e1e-8e3a-493afae8f818":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","parent":"87973658-53ec-488e-aef0-a8f678900356","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":52,"margin":[-40.414,-26,8.414,-26],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0482f254-0b73-45a9-8881-807ee55524be":{"name":"errorText","tags":[],"enabled":true,"resource_id":"0482f254-0b73-45a9-8881-807ee55524be","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[0,225.18919542295134,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Not enough balance.","key":null,"fontAsset":158042752,"fontSize":100,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":100,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":700,"height":65,"margin":[-350,192.689,-350,-257.689],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.59,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a458b72-d5fb-4f25-a042-540371d7162f":{"name":"Clear","tags":[],"enabled":false,"resource_id":"1a458b72-d5fb-4f25-a042-540371d7162f","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["be83f1e4-6463-4904-b112-f6536d494d88"],"position":[8.060000091791153,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1a458b72-d5fb-4f25-a042-540371d7162f","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042749,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-146.94,-164.842,-163.06,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"be83f1e4-6463-4904-b112-f6536d494d88":{"name":"Text","tags":[],"enabled":true,"resource_id":"be83f1e4-6463-4904-b112-f6536d494d88","parent":"1a458b72-d5fb-4f25-a042-540371d7162f","children":[],"position":[0,8,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"CLEAR","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":36.563,"margin":[-100,-24.5,-100,-40.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be":{"name":"RandomButton","tags":[],"enabled":false,"resource_id":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["e91ffea1-c1fc-4a11-8df1-3979d834a574"],"position":[-325.90301036834717,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042750,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-480.903,-164.842,170.903,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e91ffea1-c1fc-4a11-8df1-3979d834a574":{"name":"Text","tags":[],"enabled":true,"resource_id":"e91ffea1-c1fc-4a11-8df1-3979d834a574","parent":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","children":[],"position":[0,6.274000000000001,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Random","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":135,"height":36.563,"margin":[-120,-26.226,-120,-38.774],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2e0a4330-1edb-4584-bb1d-0459e4d45884":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"2e0a4330-1edb-4584-bb1d-0459e4d45884","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,-16,-16,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d8fdcb3c-7e91-467f-9d37-deac44bb1780":{"name":"Image","tags":[],"enabled":true,"resource_id":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["da783934-28fc-4d8c-a03c-c23c231a31ba"],"position":[-156.5541042921678,5.180978775024414,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042747,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-478.054,-46.319,-164.946,-56.681],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"da783934-28fc-4d8c-a03c-c23c231a31ba":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"da783934-28fc-4d8c-a03c-c23c231a31ba","parent":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":65,"margin":[-48.413906864091445,-32.49997520446777,8.413906864091445,-32.50002479553223],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f5286247-662e-4692-b877-1758d446897b":{"name":"Edit","tags":[],"enabled":true,"resource_id":"f5286247-662e-4692-b877-1758d446897b","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["5fe9fe96-ddbd-4a67-a64c-358066d05e95"],"position":[330.0094451544421,3.8209915161132812,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f5286247-662e-4692-b877-1758d446897b","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[175.009,-47.679,-485.009,-55.321],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5fe9fe96-ddbd-4a67-a64c-358066d05e95":{"name":"Image","tags":[],"enabled":true,"resource_id":"5fe9fe96-ddbd-4a67-a64c-358066d05e95","parent":"f5286247-662e-4692-b877-1758d446897b","children":[],"position":[-0.0000019073486328125,11.220285209681606,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042754,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":60,"height":60,"margin":[-30,-18.78,-30,-41.22],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e":{"name":"Profit","tags":[],"enabled":true,"resource_id":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[-19.999998807907104,-140.3346080003128,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100","key":null,"fontAsset":158042752,"fontSize":150,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":150,"wrapLines":true,"spacing":1,"color":[1,0.8,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":202.5,"height":97.49999999999999,"margin":[-146.562,-201.272,-106.563,79.397],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b892d94b-b6fd-4fbb-97ef-13c142300082":{"name":"Slot","tags":[],"enabled":true,"resource_id":"b892d94b-b6fd-4fbb-97ef-13c142300082","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["77b77b27-30a7-4cdc-8b54-62af4619ebca","10520a74-44dd-4c4d-b996-4287b282d419","e59df02d-9cef-4560-b9ae-2edb8a519ac1"],"position":[0,-80,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":300,"margin":[-500,-230,-500,-70],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0.5,0.5],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"77b77b27-30a7-4cdc-8b54-62af4619ebca":{"name":"Element","tags":[],"enabled":true,"resource_id":"77b77b27-30a7-4cdc-8b54-62af4619ebca","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7"],"position":[200,296.686,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[50,96.686,-350,-496.686],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"69d72b0d-28af-487f-b82c-0cf4e8840be5","back":"893c14ee-9064-4973-bfce-48231c7c4afb","bottom":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","shadow":"14a8661f-82f8-4189-81a8-da6f2a35ddf4","gemRoot":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7"}}}}},"template_id":158051543,"template_ent_ids":{"77b77b27-30a7-4cdc-8b54-62af4619ebca":"46c38d3e-39d1-4629-8150-d7d70bee70d5","96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b":"9c014850-8148-4911-b636-54fdf9288fa4","14a8661f-82f8-4189-81a8-da6f2a35ddf4":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7":"ed258efe-c13a-4a3e-b913-9585b6881aee","893c14ee-9064-4973-bfce-48231c7c4afb":"5009eb83-b71c-46c2-8e49-4502c110876a","69d72b0d-28af-487f-b82c-0cf4e8840be5":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7":{"name":"Gem","tags":[],"enabled":true,"resource_id":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","parent":"77b77b27-30a7-4cdc-8b54-62af4619ebca","children":["893c14ee-9064-4973-bfce-48231c7c4afb","69d72b0d-28af-487f-b82c-0cf4e8840be5"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"14a8661f-82f8-4189-81a8-da6f2a35ddf4"}}}}}},"893c14ee-9064-4973-bfce-48231c7c4afb":{"name":"Back","tags":[],"enabled":true,"resource_id":"893c14ee-9064-4973-bfce-48231c7c4afb","parent":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"69d72b0d-28af-487f-b82c-0cf4e8840be5":{"name":"Front","tags":[],"enabled":true,"resource_id":"69d72b0d-28af-487f-b82c-0cf4e8840be5","parent":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","parent":"77b77b27-30a7-4cdc-8b54-62af4619ebca","children":["14a8661f-82f8-4189-81a8-da6f2a35ddf4"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"14a8661f-82f8-4189-81a8-da6f2a35ddf4":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"14a8661f-82f8-4189-81a8-da6f2a35ddf4","parent":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"10520a74-44dd-4c4d-b996-4287b282d419":{"name":"Element","tags":[],"enabled":true,"resource_id":"10520a74-44dd-4c4d-b996-4287b282d419","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","4ed4e8ef-5053-4938-92f2-d55d40851f81"],"position":[500,250,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[350,50,-650,-450],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"9f5700ec-7537-4129-8c29-0f5ccad68af1","back":"f44abfb5-6184-413c-966b-deb291eb885e","bottom":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","shadow":"fdf90175-1540-4147-818a-d661af4bcb8a","gemRoot":"4ed4e8ef-5053-4938-92f2-d55d40851f81"}}}}},"template_id":158051543,"template_ent_ids":{"10520a74-44dd-4c4d-b996-4287b282d419":"46c38d3e-39d1-4629-8150-d7d70bee70d5","0261e130-d6e9-4bd5-81d8-13e3c8fa9d44":"9c014850-8148-4911-b636-54fdf9288fa4","fdf90175-1540-4147-818a-d661af4bcb8a":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","4ed4e8ef-5053-4938-92f2-d55d40851f81":"ed258efe-c13a-4a3e-b913-9585b6881aee","f44abfb5-6184-413c-966b-deb291eb885e":"5009eb83-b71c-46c2-8e49-4502c110876a","9f5700ec-7537-4129-8c29-0f5ccad68af1":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","parent":"10520a74-44dd-4c4d-b996-4287b282d419","children":["fdf90175-1540-4147-818a-d661af4bcb8a"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fdf90175-1540-4147-818a-d661af4bcb8a":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"fdf90175-1540-4147-818a-d661af4bcb8a","parent":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4ed4e8ef-5053-4938-92f2-d55d40851f81":{"name":"Gem","tags":[],"enabled":true,"resource_id":"4ed4e8ef-5053-4938-92f2-d55d40851f81","parent":"10520a74-44dd-4c4d-b996-4287b282d419","children":["f44abfb5-6184-413c-966b-deb291eb885e","9f5700ec-7537-4129-8c29-0f5ccad68af1"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"fdf90175-1540-4147-818a-d661af4bcb8a"}}}}}},"f44abfb5-6184-413c-966b-deb291eb885e":{"name":"Back","tags":[],"enabled":true,"resource_id":"f44abfb5-6184-413c-966b-deb291eb885e","parent":"4ed4e8ef-5053-4938-92f2-d55d40851f81","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9f5700ec-7537-4129-8c29-0f5ccad68af1":{"name":"Front","tags":[],"enabled":true,"resource_id":"9f5700ec-7537-4129-8c29-0f5ccad68af1","parent":"4ed4e8ef-5053-4938-92f2-d55d40851f81","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"e59df02d-9cef-4560-b9ae-2edb8a519ac1":{"name":"Element","tags":[],"enabled":true,"resource_id":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["6e5e540f-cf5e-481f-8540-73cfd908c00a","39398f01-37ec-4e72-b968-a8df19f5cdf5"],"position":[800,250,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[650,50,-950,-450],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e","back":"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","bottom":"6e5e540f-cf5e-481f-8540-73cfd908c00a","shadow":"985618b9-b0f7-4e3b-a0ba-9eaee7664807","gemRoot":"39398f01-37ec-4e72-b968-a8df19f5cdf5"}}}}},"template_id":158051543,"template_ent_ids":{"e59df02d-9cef-4560-b9ae-2edb8a519ac1":"46c38d3e-39d1-4629-8150-d7d70bee70d5","6e5e540f-cf5e-481f-8540-73cfd908c00a":"9c014850-8148-4911-b636-54fdf9288fa4","985618b9-b0f7-4e3b-a0ba-9eaee7664807":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","39398f01-37ec-4e72-b968-a8df19f5cdf5":"ed258efe-c13a-4a3e-b913-9585b6881aee","3a9e29a8-1c91-445e-bfd6-2f20ab562c0d":"5009eb83-b71c-46c2-8e49-4502c110876a","7249d2ce-e903-41ab-b1ab-3134bdbc0b4e":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"6e5e540f-cf5e-481f-8540-73cfd908c00a":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e5e540f-cf5e-481f-8540-73cfd908c00a","parent":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","children":["985618b9-b0f7-4e3b-a0ba-9eaee7664807"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"985618b9-b0f7-4e3b-a0ba-9eaee7664807":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"985618b9-b0f7-4e3b-a0ba-9eaee7664807","parent":"6e5e540f-cf5e-481f-8540-73cfd908c00a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"39398f01-37ec-4e72-b968-a8df19f5cdf5":{"name":"Gem","tags":[],"enabled":true,"resource_id":"39398f01-37ec-4e72-b968-a8df19f5cdf5","parent":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","children":["3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","7249d2ce-e903-41ab-b1ab-3134bdbc0b4e"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"985618b9-b0f7-4e3b-a0ba-9eaee7664807"}}}}}},"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d":{"name":"Back","tags":[],"enabled":true,"resource_id":"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","parent":"39398f01-37ec-4e72-b968-a8df19f5cdf5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e":{"name":"Front","tags":[],"enabled":true,"resource_id":"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e","parent":"39398f01-37ec-4e72-b968-a8df19f5cdf5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6":{"name":"Slot","tags":[],"enabled":true,"resource_id":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["1776e15a-5b3f-47ba-a138-a858fe37f268","7b1adc07-6b13-41f1-9f3f-9123400c4dba"],"position":[0,-360,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":300,"margin":[-500,-510,-500,210],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0.5,0.5],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"1776e15a-5b3f-47ba-a138-a858fe37f268":{"name":"Element","tags":[],"enabled":true,"resource_id":"1776e15a-5b3f-47ba-a138-a858fe37f268","parent":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","children":["994f4db6-a1c0-492d-b410-ab33bffafb60","464ab44c-1f15-4705-a3f0-a5c656358454"],"position":[90,300,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[0,100,-180,-500],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"575bb1cb-4b6d-4c97-8368-5a3fd5528231","back":"2d136b0b-b173-4f0c-878d-6b0c8d02c222","bottom":"994f4db6-a1c0-492d-b410-ab33bffafb60","shadow":"963cf158-c90c-4661-84e7-5ae9a4e475a5","gemRoot":"464ab44c-1f15-4705-a3f0-a5c656358454"}}}}},"template_id":158051543,"template_ent_ids":{"1776e15a-5b3f-47ba-a138-a858fe37f268":"46c38d3e-39d1-4629-8150-d7d70bee70d5","994f4db6-a1c0-492d-b410-ab33bffafb60":"9c014850-8148-4911-b636-54fdf9288fa4","963cf158-c90c-4661-84e7-5ae9a4e475a5":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","464ab44c-1f15-4705-a3f0-a5c656358454":"ed258efe-c13a-4a3e-b913-9585b6881aee","2d136b0b-b173-4f0c-878d-6b0c8d02c222":"5009eb83-b71c-46c2-8e49-4502c110876a","575bb1cb-4b6d-4c97-8368-5a3fd5528231":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"994f4db6-a1c0-492d-b410-ab33bffafb60":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"994f4db6-a1c0-492d-b410-ab33bffafb60","parent":"1776e15a-5b3f-47ba-a138-a858fe37f268","children":["963cf158-c90c-4661-84e7-5ae9a4e475a5"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"963cf158-c90c-4661-84e7-5ae9a4e475a5":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"963cf158-c90c-4661-84e7-5ae9a4e475a5","parent":"994f4db6-a1c0-492d-b410-ab33bffafb60","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"464ab44c-1f15-4705-a3f0-a5c656358454":{"name":"Gem","tags":[],"enabled":true,"resource_id":"464ab44c-1f15-4705-a3f0-a5c656358454","parent":"1776e15a-5b3f-47ba-a138-a858fe37f268","children":["2d136b0b-b173-4f0c-878d-6b0c8d02c222","575bb1cb-4b6d-4c97-8368-5a3fd5528231"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"963cf158-c90c-4661-84e7-5ae9a4e475a5"}}}}}},"2d136b0b-b173-4f0c-878d-6b0c8d02c222":{"name":"Back","tags":[],"enabled":true,"resource_id":"2d136b0b-b173-4f0c-878d-6b0c8d02c222","parent":"464ab44c-1f15-4705-a3f0-a5c656358454","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"575bb1cb-4b6d-4c97-8368-5a3fd5528231":{"name":"Front","tags":[],"enabled":true,"resource_id":"575bb1cb-4b6d-4c97-8368-5a3fd5528231","parent":"464ab44c-1f15-4705-a3f0-a5c656358454","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"7b1adc07-6b13-41f1-9f3f-9123400c4dba":{"name":"Element","tags":[],"enabled":true,"resource_id":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","parent":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","children":["be3aff00-3da0-4759-9e93-a51a799a5944","aae1cc1a-8906-4bf2-aa98-10ab014b0424"],"position":[270,300,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[180,100,-360,-500],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"85d8558b-4a73-4d1e-a77e-ac48762d6081","back":"4d8e2d46-6be9-4bb2-b013-1467aaa80b34","bottom":"be3aff00-3da0-4759-9e93-a51a799a5944","shadow":"7f284e05-0826-40b1-8663-a73a0a20046e","gemRoot":"aae1cc1a-8906-4bf2-aa98-10ab014b0424"}}}}},"template_id":158051543,"template_ent_ids":{"7b1adc07-6b13-41f1-9f3f-9123400c4dba":"46c38d3e-39d1-4629-8150-d7d70bee70d5","be3aff00-3da0-4759-9e93-a51a799a5944":"9c014850-8148-4911-b636-54fdf9288fa4","7f284e05-0826-40b1-8663-a73a0a20046e":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","aae1cc1a-8906-4bf2-aa98-10ab014b0424":"ed258efe-c13a-4a3e-b913-9585b6881aee","4d8e2d46-6be9-4bb2-b013-1467aaa80b34":"5009eb83-b71c-46c2-8e49-4502c110876a","85d8558b-4a73-4d1e-a77e-ac48762d6081":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"be3aff00-3da0-4759-9e93-a51a799a5944":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"be3aff00-3da0-4759-9e93-a51a799a5944","parent":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","children":["7f284e05-0826-40b1-8663-a73a0a20046e"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7f284e05-0826-40b1-8663-a73a0a20046e":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"7f284e05-0826-40b1-8663-a73a0a20046e","parent":"be3aff00-3da0-4759-9e93-a51a799a5944","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aae1cc1a-8906-4bf2-aa98-10ab014b0424":{"name":"Gem","tags":[],"enabled":true,"resource_id":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","parent":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","children":["4d8e2d46-6be9-4bb2-b013-1467aaa80b34","85d8558b-4a73-4d1e-a77e-ac48762d6081"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"7f284e05-0826-40b1-8663-a73a0a20046e"}}}}}},"4d8e2d46-6be9-4bb2-b013-1467aaa80b34":{"name":"Back","tags":[],"enabled":true,"resource_id":"4d8e2d46-6be9-4bb2-b013-1467aaa80b34","parent":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85d8558b-4a73-4d1e-a77e-ac48762d6081":{"name":"Front","tags":[],"enabled":true,"resource_id":"85d8558b-4a73-4d1e-a77e-ac48762d6081","parent":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"1f7df6b7-eb4e-48aa-89ae-d75595423f7e":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","parent":"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b","children":["e68319c2-d211-40c1-8f20-37078c4aebec","862909c4-6180-4125-bb83-d23b35d689eb","ce092b17-fee2-403e-87d4-dab91c5ff5d7","a03ce837-a76f-4693-acd0-7e2659589fba","02674ebc-2e8a-4fa5-a38b-73e92206a6be","a403cf2a-b776-412a-a945-8578ac2fd195","3f71b3be-2c0b-4515-892a-2b52eff4dfe1"],"position":[0,-7.002194785397762,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":420,"margin":[-250,-217.002,-250,-202.998],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":1,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,10],"widthFitting":0,"heightFitting":0,"wrap":false},"script":{"enabled":true,"order":["handRankingController"],"scripts":{"handRankingController":{"enabled":true,"attributes":{"handRanking":["3f71b3be-2c0b-4515-892a-2b52eff4dfe1","a403cf2a-b776-412a-a945-8578ac2fd195","02674ebc-2e8a-4fa5-a38b-73e92206a6be","a03ce837-a76f-4693-acd0-7e2659589fba","ce092b17-fee2-403e-87d4-dab91c5ff5d7","862909c4-6180-4125-bb83-d23b35d689eb","e68319c2-d211-40c1-8f20-37078c4aebec"]}}}}}},"e68319c2-d211-40c1-8f20-37078c4aebec":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"e68319c2-d211-40c1-8f20-37078c4aebec","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["98888f0e-6c6f-4722-8912-9fd865189367"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["76847f2d-02d6-43ce-b385-2ba18e911d6d","690bc6db-cf74-45e2-8261-70d8aa3048ec","10fee707-6093-4d72-a363-28e7866830e6","b4badfbe-f379-48cb-98c7-472f0dc1879b","94cc9a38-b097-4a7d-94af-70d202915b54"],"back":["0a959a04-b622-4361-9266-530b5a0af850","21ff2cd4-737c-417d-9e50-b411e41169aa","3c0ce115-0179-4fa7-abc9-087e26982901","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","45312f23-9d38-4e50-800b-365bc06d216e"],"background":"98888f0e-6c6f-4722-8912-9fd865189367","ratioText":"8fca21e5-dc93-4342-bb45-959aacc6b441"}}}}},"template_ent_ids":{"e68319c2-d211-40c1-8f20-37078c4aebec":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","98888f0e-6c6f-4722-8912-9fd865189367":"ce17a95e-9203-461a-9489-bcc168463252","08f27400-e901-434d-bac8-b27582dd94b1":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","0a959a04-b622-4361-9266-530b5a0af850":"c523cddb-0df4-4ceb-a074-0915aa00fa47","8fca21e5-dc93-4342-bb45-959aacc6b441":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","76847f2d-02d6-43ce-b385-2ba18e911d6d":"b859c695-97fb-4cde-9595-7b7345f9bcf8","21ff2cd4-737c-417d-9e50-b411e41169aa":"df02f698-fd5a-42e0-9e44-39d443455c50","690bc6db-cf74-45e2-8261-70d8aa3048ec":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","3c0ce115-0179-4fa7-abc9-087e26982901":"df495c59-d865-4dd6-902b-1d14f7ed40fd","10fee707-6093-4d72-a363-28e7866830e6":"59a56431-62a2-4f01-a28c-ebd168de6515","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806":"fd010274-cbd5-4187-98ac-91954baeb83d","b4badfbe-f379-48cb-98c7-472f0dc1879b":"b87e83c9-98c3-43ae-9542-9884db97dbe0","45312f23-9d38-4e50-800b-365bc06d216e":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","94cc9a38-b097-4a7d-94af-70d202915b54":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"},"template_id":158484030},"98888f0e-6c6f-4722-8912-9fd865189367":{"name":"Image","tags":[],"enabled":true,"resource_id":"98888f0e-6c6f-4722-8912-9fd865189367","parent":"e68319c2-d211-40c1-8f20-37078c4aebec","children":["08f27400-e901-434d-bac8-b27582dd94b1","8fca21e5-dc93-4342-bb45-959aacc6b441"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"862909c4-6180-4125-bb83-d23b35d689eb":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"862909c4-6180-4125-bb83-d23b35d689eb","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["df0bcbc7-cfe2-4489-bd9a-bb0111453171"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["edef977c-5d78-450f-b8f5-85f099437b14","38032713-171a-479e-938a-75ae9f70207d","6d1eaab7-0015-492e-8133-b4c2c086907d","a19c540f-df1f-449b-bdef-19634f773f57","4bba9107-ae3c-49a1-b994-10df1d687160"],"back":["36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","003f14c4-710b-4528-8c6c-9834c685afce","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","5900c759-f8cc-4d3f-b5b6-05442f0288da","b72f2f7d-2bca-439b-a882-61f02e0e8deb"],"background":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","ratioText":"33ce77a3-8914-4f90-b361-7774f65ad781"}}}}},"template_id":158484030,"template_ent_ids":{"862909c4-6180-4125-bb83-d23b35d689eb":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","df0bcbc7-cfe2-4489-bd9a-bb0111453171":"ce17a95e-9203-461a-9489-bcc168463252","5481862b-b2fe-416f-8b28-0a7a58cf3e38":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","36bcb1a5-9cb6-4e15-8f22-ab98d23320b9":"c523cddb-0df4-4ceb-a074-0915aa00fa47","33ce77a3-8914-4f90-b361-7774f65ad781":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","edef977c-5d78-450f-b8f5-85f099437b14":"b859c695-97fb-4cde-9595-7b7345f9bcf8","003f14c4-710b-4528-8c6c-9834c685afce":"df02f698-fd5a-42e0-9e44-39d443455c50","38032713-171a-479e-938a-75ae9f70207d":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe":"df495c59-d865-4dd6-902b-1d14f7ed40fd","6d1eaab7-0015-492e-8133-b4c2c086907d":"59a56431-62a2-4f01-a28c-ebd168de6515","5900c759-f8cc-4d3f-b5b6-05442f0288da":"fd010274-cbd5-4187-98ac-91954baeb83d","a19c540f-df1f-449b-bdef-19634f773f57":"b87e83c9-98c3-43ae-9542-9884db97dbe0","b72f2f7d-2bca-439b-a882-61f02e0e8deb":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4bba9107-ae3c-49a1-b994-10df1d687160":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"df0bcbc7-cfe2-4489-bd9a-bb0111453171":{"name":"Image","tags":[],"enabled":true,"resource_id":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","parent":"862909c4-6180-4125-bb83-d23b35d689eb","children":["5481862b-b2fe-416f-8b28-0a7a58cf3e38","33ce77a3-8914-4f90-b361-7774f65ad781"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ce092b17-fee2-403e-87d4-dab91c5ff5d7":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"ce092b17-fee2-403e-87d4-dab91c5ff5d7","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["52e81368-744d-4211-9783-463f3f18d266"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["cda12430-a0af-42f7-bded-2cb8839a8e70","9bb291dd-dc3c-43b3-ad1c-fc8971e0e411","92ba1ae7-8d5c-4c5e-a637-fc7e9937185e","ef50cfe9-fbb5-494e-a063-0cb85b0a0692","897c5ed9-db0a-4ee7-b552-bc25eadf369b"],"back":["b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","b6b0d31a-713e-4d46-9a33-fef2254c46dd","e8944576-42da-4d44-9873-c6c21b6029dd","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d"],"background":"52e81368-744d-4211-9783-463f3f18d266","ratioText":"3be7a32d-f2aa-4536-b8ed-62dca3a9335a"}}}}},"template_id":158484030,"template_ent_ids":{"ce092b17-fee2-403e-87d4-dab91c5ff5d7":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","52e81368-744d-4211-9783-463f3f18d266":"ce17a95e-9203-461a-9489-bcc168463252","e51b80ca-817f-442c-93b9-2d42fac7573f":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","b556b2d1-3f0f-47c4-af7f-592b1fd8c58a":"c523cddb-0df4-4ceb-a074-0915aa00fa47","3be7a32d-f2aa-4536-b8ed-62dca3a9335a":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","cda12430-a0af-42f7-bded-2cb8839a8e70":"b859c695-97fb-4cde-9595-7b7345f9bcf8","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae":"df02f698-fd5a-42e0-9e44-39d443455c50","9bb291dd-dc3c-43b3-ad1c-fc8971e0e411":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","b6b0d31a-713e-4d46-9a33-fef2254c46dd":"df495c59-d865-4dd6-902b-1d14f7ed40fd","92ba1ae7-8d5c-4c5e-a637-fc7e9937185e":"59a56431-62a2-4f01-a28c-ebd168de6515","e8944576-42da-4d44-9873-c6c21b6029dd":"fd010274-cbd5-4187-98ac-91954baeb83d","ef50cfe9-fbb5-494e-a063-0cb85b0a0692":"b87e83c9-98c3-43ae-9542-9884db97dbe0","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","897c5ed9-db0a-4ee7-b552-bc25eadf369b":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"52e81368-744d-4211-9783-463f3f18d266":{"name":"Image","tags":[],"enabled":true,"resource_id":"52e81368-744d-4211-9783-463f3f18d266","parent":"ce092b17-fee2-403e-87d4-dab91c5ff5d7","children":["e51b80ca-817f-442c-93b9-2d42fac7573f","3be7a32d-f2aa-4536-b8ed-62dca3a9335a"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a03ce837-a76f-4693-acd0-7e2659589fba":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"a03ce837-a76f-4693-acd0-7e2659589fba","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["6686a8cf-7817-489b-ad37-0dad17102399"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["3c197239-0fe4-42f0-8cc5-b89010edd581","a1d3861e-e23a-4d27-9c1e-7ee924b26d02","84018bde-b814-4cd6-b27b-19e4b09af65d","8610da67-6279-41b9-b0ad-d78906a0567f","4a244b71-0bc9-4a72-a484-23654867d7ba"],"back":["6964de8f-208a-4599-bc22-2310ae32cc26","e946dfa5-cc7f-426c-a77a-5047b9765cb5","8765a4fa-3152-47a8-8dcc-3eb0da744b80","8b96118a-9ca0-4728-87bb-c4999308ce84","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709"],"background":"6686a8cf-7817-489b-ad37-0dad17102399","ratioText":"5edce589-bd23-46a1-9460-cdfa133f3741"}}}}},"template_id":158484030,"template_ent_ids":{"a03ce837-a76f-4693-acd0-7e2659589fba":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","6686a8cf-7817-489b-ad37-0dad17102399":"ce17a95e-9203-461a-9489-bcc168463252","70355aaa-690f-49e1-bfe1-62cfa71bbd86":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","6964de8f-208a-4599-bc22-2310ae32cc26":"c523cddb-0df4-4ceb-a074-0915aa00fa47","5edce589-bd23-46a1-9460-cdfa133f3741":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","3c197239-0fe4-42f0-8cc5-b89010edd581":"b859c695-97fb-4cde-9595-7b7345f9bcf8","e946dfa5-cc7f-426c-a77a-5047b9765cb5":"df02f698-fd5a-42e0-9e44-39d443455c50","a1d3861e-e23a-4d27-9c1e-7ee924b26d02":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","8765a4fa-3152-47a8-8dcc-3eb0da744b80":"df495c59-d865-4dd6-902b-1d14f7ed40fd","84018bde-b814-4cd6-b27b-19e4b09af65d":"59a56431-62a2-4f01-a28c-ebd168de6515","8b96118a-9ca0-4728-87bb-c4999308ce84":"fd010274-cbd5-4187-98ac-91954baeb83d","8610da67-6279-41b9-b0ad-d78906a0567f":"b87e83c9-98c3-43ae-9542-9884db97dbe0","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4a244b71-0bc9-4a72-a484-23654867d7ba":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"6686a8cf-7817-489b-ad37-0dad17102399":{"name":"Image","tags":[],"enabled":true,"resource_id":"6686a8cf-7817-489b-ad37-0dad17102399","parent":"a03ce837-a76f-4693-acd0-7e2659589fba","children":["70355aaa-690f-49e1-bfe1-62cfa71bbd86","5edce589-bd23-46a1-9460-cdfa133f3741"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.6901960784313725,0.7843137254901961,0.592156862745098],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"02674ebc-2e8a-4fa5-a38b-73e92206a6be":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"02674ebc-2e8a-4fa5-a38b-73e92206a6be","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["4201d16d-944a-49bb-b851-95b95a1124b0"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["e919c001-4665-46f1-ac43-4745e2e9e661","5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25","7e4728eb-8d7d-4e44-be0c-830dc02f251a","5ba5d436-a69e-481a-819a-d274aa5021d0","d804d77c-3053-4a7c-b507-dade4ad7d286"],"back":["2cec4a01-21d5-46ea-b218-2b51fd8322eb","5bbeda81-74de-4189-aa40-51ef48f68405","b35342ca-a2ad-452f-8f12-5c13dd924337","a1f660c6-810c-4afe-91a0-82a77a78a628","0fc84334-45d8-4dea-a34e-cb50c4cd68fd"],"background":"4201d16d-944a-49bb-b851-95b95a1124b0","ratioText":"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0"}}}}},"template_id":158484030,"template_ent_ids":{"02674ebc-2e8a-4fa5-a38b-73e92206a6be":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","4201d16d-944a-49bb-b851-95b95a1124b0":"ce17a95e-9203-461a-9489-bcc168463252","06693cbc-ff2e-47f8-ba8a-2a983acbfd3a":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","2cec4a01-21d5-46ea-b218-2b51fd8322eb":"c523cddb-0df4-4ceb-a074-0915aa00fa47","26fbf2e2-7471-4d3c-82de-9a1a73bd91e0":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","e919c001-4665-46f1-ac43-4745e2e9e661":"b859c695-97fb-4cde-9595-7b7345f9bcf8","5bbeda81-74de-4189-aa40-51ef48f68405":"df02f698-fd5a-42e0-9e44-39d443455c50","5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","b35342ca-a2ad-452f-8f12-5c13dd924337":"df495c59-d865-4dd6-902b-1d14f7ed40fd","7e4728eb-8d7d-4e44-be0c-830dc02f251a":"59a56431-62a2-4f01-a28c-ebd168de6515","a1f660c6-810c-4afe-91a0-82a77a78a628":"fd010274-cbd5-4187-98ac-91954baeb83d","5ba5d436-a69e-481a-819a-d274aa5021d0":"b87e83c9-98c3-43ae-9542-9884db97dbe0","0fc84334-45d8-4dea-a34e-cb50c4cd68fd":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","d804d77c-3053-4a7c-b507-dade4ad7d286":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"4201d16d-944a-49bb-b851-95b95a1124b0":{"name":"Image","tags":[],"enabled":true,"resource_id":"4201d16d-944a-49bb-b851-95b95a1124b0","parent":"02674ebc-2e8a-4fa5-a38b-73e92206a6be","children":["06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","26fbf2e2-7471-4d3c-82de-9a1a73bd91e0"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a403cf2a-b776-412a-a945-8578ac2fd195":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"a403cf2a-b776-412a-a945-8578ac2fd195","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["519932de-a1d6-43fc-a0a6-3beca0292a34"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["0b8e9e41-b026-4d65-9f0d-06ac841b6f35","8147e4c1-097c-445d-8670-24a022c02b3b","fdeb38d5-434c-4999-97c9-d26f52001e4b","bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8","61edca59-8ca9-4121-bccb-52229f9c4845"],"back":["a11971d0-384f-4873-8687-256fb8eef08a","668be6f2-8971-4c58-842f-1e8bb991ce9b","abc88bd9-bafb-4869-b305-d0b75317cb66","9608d3af-1086-48e1-b5d8-c385724b8b8b","fde313a8-d730-44f4-9afb-ddfea41ae59e"],"background":"519932de-a1d6-43fc-a0a6-3beca0292a34","ratioText":"afb6ea5a-265d-422c-b5aa-48245effefa7"}}}}},"template_id":158484030,"template_ent_ids":{"a403cf2a-b776-412a-a945-8578ac2fd195":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","519932de-a1d6-43fc-a0a6-3beca0292a34":"ce17a95e-9203-461a-9489-bcc168463252","63790e27-d7c9-49fc-b493-a5954d193415":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","a11971d0-384f-4873-8687-256fb8eef08a":"c523cddb-0df4-4ceb-a074-0915aa00fa47","afb6ea5a-265d-422c-b5aa-48245effefa7":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","0b8e9e41-b026-4d65-9f0d-06ac841b6f35":"b859c695-97fb-4cde-9595-7b7345f9bcf8","668be6f2-8971-4c58-842f-1e8bb991ce9b":"df02f698-fd5a-42e0-9e44-39d443455c50","8147e4c1-097c-445d-8670-24a022c02b3b":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","abc88bd9-bafb-4869-b305-d0b75317cb66":"df495c59-d865-4dd6-902b-1d14f7ed40fd","fdeb38d5-434c-4999-97c9-d26f52001e4b":"59a56431-62a2-4f01-a28c-ebd168de6515","9608d3af-1086-48e1-b5d8-c385724b8b8b":"fd010274-cbd5-4187-98ac-91954baeb83d","bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8":"b87e83c9-98c3-43ae-9542-9884db97dbe0","fde313a8-d730-44f4-9afb-ddfea41ae59e":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","61edca59-8ca9-4121-bccb-52229f9c4845":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"519932de-a1d6-43fc-a0a6-3beca0292a34":{"name":"Image","tags":[],"enabled":true,"resource_id":"519932de-a1d6-43fc-a0a6-3beca0292a34","parent":"a403cf2a-b776-412a-a945-8578ac2fd195","children":["63790e27-d7c9-49fc-b493-a5954d193415","afb6ea5a-265d-422c-b5aa-48245effefa7"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3f71b3be-2c0b-4515-892a-2b52eff4dfe1":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"3f71b3be-2c0b-4515-892a-2b52eff4dfe1","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["61da894a-f8ab-4292-8da9-36cf3a008284"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["5924f98a-370e-4681-bc0a-1c04d6b92a3f","0cbe8a2b-e3df-48db-8121-132888d9951a","f318c3cf-637b-480d-a5c8-aefc8aa152b8","8a504a83-319d-41f7-8955-e6d26039802f","4531e528-7715-4d45-abb9-d9c70b1ac290"],"back":["bedbc30f-f1d4-434f-bd47-c705eddb2092","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","16857b02-b406-4d85-9331-92b757a79466","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","1ecfa034-4f96-4e83-943f-cf898f75d164"],"background":"61da894a-f8ab-4292-8da9-36cf3a008284","ratioText":"a34136d5-6898-41b6-b466-cbbd86529a4f"}}}}},"template_id":158484030,"template_ent_ids":{"3f71b3be-2c0b-4515-892a-2b52eff4dfe1":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","61da894a-f8ab-4292-8da9-36cf3a008284":"ce17a95e-9203-461a-9489-bcc168463252","30a7e57c-1e07-4a19-8f0d-02851c1decb8":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","bedbc30f-f1d4-434f-bd47-c705eddb2092":"c523cddb-0df4-4ceb-a074-0915aa00fa47","a34136d5-6898-41b6-b466-cbbd86529a4f":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","5924f98a-370e-4681-bc0a-1c04d6b92a3f":"b859c695-97fb-4cde-9595-7b7345f9bcf8","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b":"df02f698-fd5a-42e0-9e44-39d443455c50","0cbe8a2b-e3df-48db-8121-132888d9951a":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","16857b02-b406-4d85-9331-92b757a79466":"df495c59-d865-4dd6-902b-1d14f7ed40fd","f318c3cf-637b-480d-a5c8-aefc8aa152b8":"59a56431-62a2-4f01-a28c-ebd168de6515","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa":"fd010274-cbd5-4187-98ac-91954baeb83d","8a504a83-319d-41f7-8955-e6d26039802f":"b87e83c9-98c3-43ae-9542-9884db97dbe0","1ecfa034-4f96-4e83-943f-cf898f75d164":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4531e528-7715-4d45-abb9-d9c70b1ac290":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"61da894a-f8ab-4292-8da9-36cf3a008284":{"name":"Image","tags":[],"enabled":true,"resource_id":"61da894a-f8ab-4292-8da9-36cf3a008284","parent":"3f71b3be-2c0b-4515-892a-2b52eff4dfe1","children":["30a7e57c-1e07-4a19-8f0d-02851c1decb8","a34136d5-6898-41b6-b466-cbbd86529a4f"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b":{"name":"Image","tags":[],"enabled":true,"resource_id":"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["1f7df6b7-eb4e-48aa-89ae-d75595423f7e"],"position":[0,298.2751436174549,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.4666666666666667,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":550,"height":450,"margin":[-275,73.275,-275,-523.275],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"08f27400-e901-434d-bac8-b27582dd94b1":{"name":"icon","tags":[],"enabled":true,"resource_id":"08f27400-e901-434d-bac8-b27582dd94b1","parent":"98888f0e-6c6f-4722-8912-9fd865189367","children":["0a959a04-b622-4361-9266-530b5a0af850","21ff2cd4-737c-417d-9e50-b411e41169aa","3c0ce115-0179-4fa7-abc9-087e26982901","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","45312f23-9d38-4e50-800b-365bc06d216e"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"8fca21e5-dc93-4342-bb45-959aacc6b441":{"name":"Text","tags":[],"enabled":true,"resource_id":"8fca21e5-dc93-4342-bb45-959aacc6b441","parent":"98888f0e-6c6f-4722-8912-9fd865189367","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0a959a04-b622-4361-9266-530b5a0af850":{"name":"Back","tags":[],"enabled":true,"resource_id":"0a959a04-b622-4361-9266-530b5a0af850","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["76847f2d-02d6-43ce-b385-2ba18e911d6d"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5481862b-b2fe-416f-8b28-0a7a58cf3e38":{"name":"icon","tags":[],"enabled":true,"resource_id":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","parent":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","children":["36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","003f14c4-710b-4528-8c6c-9834c685afce","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","5900c759-f8cc-4d3f-b5b6-05442f0288da","b72f2f7d-2bca-439b-a882-61f02e0e8deb"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9":{"name":"Back","tags":[],"enabled":true,"resource_id":"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["edef977c-5d78-450f-b8f5-85f099437b14"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"33ce77a3-8914-4f90-b361-7774f65ad781":{"name":"Text","tags":[],"enabled":true,"resource_id":"33ce77a3-8914-4f90-b361-7774f65ad781","parent":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e51b80ca-817f-442c-93b9-2d42fac7573f":{"name":"icon","tags":[],"enabled":true,"resource_id":"e51b80ca-817f-442c-93b9-2d42fac7573f","parent":"52e81368-744d-4211-9783-463f3f18d266","children":["b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","b6b0d31a-713e-4d46-9a33-fef2254c46dd","e8944576-42da-4d44-9873-c6c21b6029dd","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a":{"name":"Back","tags":[],"enabled":true,"resource_id":"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["cda12430-a0af-42f7-bded-2cb8839a8e70"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3be7a32d-f2aa-4536-b8ed-62dca3a9335a":{"name":"Text","tags":[],"enabled":true,"resource_id":"3be7a32d-f2aa-4536-b8ed-62dca3a9335a","parent":"52e81368-744d-4211-9783-463f3f18d266","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"70355aaa-690f-49e1-bfe1-62cfa71bbd86":{"name":"icon","tags":[],"enabled":true,"resource_id":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","parent":"6686a8cf-7817-489b-ad37-0dad17102399","children":["6964de8f-208a-4599-bc22-2310ae32cc26","e946dfa5-cc7f-426c-a77a-5047b9765cb5","8765a4fa-3152-47a8-8dcc-3eb0da744b80","8b96118a-9ca0-4728-87bb-c4999308ce84","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"6964de8f-208a-4599-bc22-2310ae32cc26":{"name":"Back","tags":[],"enabled":true,"resource_id":"6964de8f-208a-4599-bc22-2310ae32cc26","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["3c197239-0fe4-42f0-8cc5-b89010edd581"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5edce589-bd23-46a1-9460-cdfa133f3741":{"name":"Text","tags":[],"enabled":true,"resource_id":"5edce589-bd23-46a1-9460-cdfa133f3741","parent":"6686a8cf-7817-489b-ad37-0dad17102399","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a":{"name":"icon","tags":[],"enabled":true,"resource_id":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","parent":"4201d16d-944a-49bb-b851-95b95a1124b0","children":["2cec4a01-21d5-46ea-b218-2b51fd8322eb","5bbeda81-74de-4189-aa40-51ef48f68405","b35342ca-a2ad-452f-8f12-5c13dd924337","a1f660c6-810c-4afe-91a0-82a77a78a628","0fc84334-45d8-4dea-a34e-cb50c4cd68fd"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"2cec4a01-21d5-46ea-b218-2b51fd8322eb":{"name":"Back","tags":[],"enabled":true,"resource_id":"2cec4a01-21d5-46ea-b218-2b51fd8322eb","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["e919c001-4665-46f1-ac43-4745e2e9e661"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0":{"name":"Text","tags":[],"enabled":true,"resource_id":"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0","parent":"4201d16d-944a-49bb-b851-95b95a1124b0","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"63790e27-d7c9-49fc-b493-a5954d193415":{"name":"icon","tags":[],"enabled":true,"resource_id":"63790e27-d7c9-49fc-b493-a5954d193415","parent":"519932de-a1d6-43fc-a0a6-3beca0292a34","children":["a11971d0-384f-4873-8687-256fb8eef08a","668be6f2-8971-4c58-842f-1e8bb991ce9b","abc88bd9-bafb-4869-b305-d0b75317cb66","9608d3af-1086-48e1-b5d8-c385724b8b8b","fde313a8-d730-44f4-9afb-ddfea41ae59e"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"a11971d0-384f-4873-8687-256fb8eef08a":{"name":"Back","tags":[],"enabled":true,"resource_id":"a11971d0-384f-4873-8687-256fb8eef08a","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["0b8e9e41-b026-4d65-9f0d-06ac841b6f35"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5764705882352941,0.5764705882352941,0.5764705882352941],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"afb6ea5a-265d-422c-b5aa-48245effefa7":{"name":"Text","tags":[],"enabled":true,"resource_id":"afb6ea5a-265d-422c-b5aa-48245effefa7","parent":"519932de-a1d6-43fc-a0a6-3beca0292a34","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"30a7e57c-1e07-4a19-8f0d-02851c1decb8":{"name":"icon","tags":[],"enabled":true,"resource_id":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","parent":"61da894a-f8ab-4292-8da9-36cf3a008284","children":["bedbc30f-f1d4-434f-bd47-c705eddb2092","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","16857b02-b406-4d85-9331-92b757a79466","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","1ecfa034-4f96-4e83-943f-cf898f75d164"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"bedbc30f-f1d4-434f-bd47-c705eddb2092":{"name":"Back","tags":[],"enabled":true,"resource_id":"bedbc30f-f1d4-434f-bd47-c705eddb2092","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["5924f98a-370e-4681-bc0a-1c04d6b92a3f"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a34136d5-6898-41b6-b466-cbbd86529a4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"a34136d5-6898-41b6-b466-cbbd86529a4f","parent":"61da894a-f8ab-4292-8da9-36cf3a008284","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"76847f2d-02d6-43ce-b385-2ba18e911d6d":{"name":"Front","tags":[],"enabled":true,"resource_id":"76847f2d-02d6-43ce-b385-2ba18e911d6d","parent":"0a959a04-b622-4361-9266-530b5a0af850","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5450980392156862,0.21568627450980393,0.25098039215686274],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"21ff2cd4-737c-417d-9e50-b411e41169aa":{"name":"Back","tags":[],"enabled":true,"resource_id":"21ff2cd4-737c-417d-9e50-b411e41169aa","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["690bc6db-cf74-45e2-8261-70d8aa3048ec"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"690bc6db-cf74-45e2-8261-70d8aa3048ec":{"name":"Front","tags":[],"enabled":true,"resource_id":"690bc6db-cf74-45e2-8261-70d8aa3048ec","parent":"21ff2cd4-737c-417d-9e50-b411e41169aa","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3c0ce115-0179-4fa7-abc9-087e26982901":{"name":"Back","tags":[],"enabled":true,"resource_id":"3c0ce115-0179-4fa7-abc9-087e26982901","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["10fee707-6093-4d72-a363-28e7866830e6"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"10fee707-6093-4d72-a363-28e7866830e6":{"name":"Front","tags":[],"enabled":true,"resource_id":"10fee707-6093-4d72-a363-28e7866830e6","parent":"3c0ce115-0179-4fa7-abc9-087e26982901","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806":{"name":"Back","tags":[],"enabled":true,"resource_id":"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["b4badfbe-f379-48cb-98c7-472f0dc1879b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b4badfbe-f379-48cb-98c7-472f0dc1879b":{"name":"Front","tags":[],"enabled":true,"resource_id":"b4badfbe-f379-48cb-98c7-472f0dc1879b","parent":"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"45312f23-9d38-4e50-800b-365bc06d216e":{"name":"Back","tags":[],"enabled":true,"resource_id":"45312f23-9d38-4e50-800b-365bc06d216e","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["94cc9a38-b097-4a7d-94af-70d202915b54"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"94cc9a38-b097-4a7d-94af-70d202915b54":{"name":"Front","tags":[],"enabled":true,"resource_id":"94cc9a38-b097-4a7d-94af-70d202915b54","parent":"45312f23-9d38-4e50-800b-365bc06d216e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"edef977c-5d78-450f-b8f5-85f099437b14":{"name":"Front","tags":[],"enabled":true,"resource_id":"edef977c-5d78-450f-b8f5-85f099437b14","parent":"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"003f14c4-710b-4528-8c6c-9834c685afce":{"name":"Back","tags":[],"enabled":true,"resource_id":"003f14c4-710b-4528-8c6c-9834c685afce","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["38032713-171a-479e-938a-75ae9f70207d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"38032713-171a-479e-938a-75ae9f70207d":{"name":"Front","tags":[],"enabled":true,"resource_id":"38032713-171a-479e-938a-75ae9f70207d","parent":"003f14c4-710b-4528-8c6c-9834c685afce","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe":{"name":"Back","tags":[],"enabled":true,"resource_id":"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["6d1eaab7-0015-492e-8133-b4c2c086907d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d1eaab7-0015-492e-8133-b4c2c086907d":{"name":"Front","tags":[],"enabled":true,"resource_id":"6d1eaab7-0015-492e-8133-b4c2c086907d","parent":"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5900c759-f8cc-4d3f-b5b6-05442f0288da":{"name":"Back","tags":[],"enabled":true,"resource_id":"5900c759-f8cc-4d3f-b5b6-05442f0288da","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["a19c540f-df1f-449b-bdef-19634f773f57"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a19c540f-df1f-449b-bdef-19634f773f57":{"name":"Front","tags":[],"enabled":true,"resource_id":"a19c540f-df1f-449b-bdef-19634f773f57","parent":"5900c759-f8cc-4d3f-b5b6-05442f0288da","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b72f2f7d-2bca-439b-a882-61f02e0e8deb":{"name":"Back","tags":[],"enabled":true,"resource_id":"b72f2f7d-2bca-439b-a882-61f02e0e8deb","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["4bba9107-ae3c-49a1-b994-10df1d687160"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4bba9107-ae3c-49a1-b994-10df1d687160":{"name":"Front","tags":[],"enabled":true,"resource_id":"4bba9107-ae3c-49a1-b994-10df1d687160","parent":"b72f2f7d-2bca-439b-a882-61f02e0e8deb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cda12430-a0af-42f7-bded-2cb8839a8e70":{"name":"Front","tags":[],"enabled":true,"resource_id":"cda12430-a0af-42f7-bded-2cb8839a8e70","parent":"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae":{"name":"Back","tags":[],"enabled":true,"resource_id":"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["9bb291dd-dc3c-43b3-ad1c-fc8971e0e411"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9bb291dd-dc3c-43b3-ad1c-fc8971e0e411":{"name":"Front","tags":[],"enabled":true,"resource_id":"9bb291dd-dc3c-43b3-ad1c-fc8971e0e411","parent":"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b6b0d31a-713e-4d46-9a33-fef2254c46dd":{"name":"Back","tags":[],"enabled":true,"resource_id":"b6b0d31a-713e-4d46-9a33-fef2254c46dd","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["92ba1ae7-8d5c-4c5e-a637-fc7e9937185e"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"92ba1ae7-8d5c-4c5e-a637-fc7e9937185e":{"name":"Front","tags":[],"enabled":true,"resource_id":"92ba1ae7-8d5c-4c5e-a637-fc7e9937185e","parent":"b6b0d31a-713e-4d46-9a33-fef2254c46dd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e8944576-42da-4d44-9873-c6c21b6029dd":{"name":"Back","tags":[],"enabled":true,"resource_id":"e8944576-42da-4d44-9873-c6c21b6029dd","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["ef50cfe9-fbb5-494e-a063-0cb85b0a0692"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef50cfe9-fbb5-494e-a063-0cb85b0a0692":{"name":"Front","tags":[],"enabled":true,"resource_id":"ef50cfe9-fbb5-494e-a063-0cb85b0a0692","parent":"e8944576-42da-4d44-9873-c6c21b6029dd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d":{"name":"Back","tags":[],"enabled":true,"resource_id":"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["897c5ed9-db0a-4ee7-b552-bc25eadf369b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"897c5ed9-db0a-4ee7-b552-bc25eadf369b":{"name":"Front","tags":[],"enabled":true,"resource_id":"897c5ed9-db0a-4ee7-b552-bc25eadf369b","parent":"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3c197239-0fe4-42f0-8cc5-b89010edd581":{"name":"Front","tags":[],"enabled":true,"resource_id":"3c197239-0fe4-42f0-8cc5-b89010edd581","parent":"6964de8f-208a-4599-bc22-2310ae32cc26","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e946dfa5-cc7f-426c-a77a-5047b9765cb5":{"name":"Back","tags":[],"enabled":true,"resource_id":"e946dfa5-cc7f-426c-a77a-5047b9765cb5","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["a1d3861e-e23a-4d27-9c1e-7ee924b26d02"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a1d3861e-e23a-4d27-9c1e-7ee924b26d02":{"name":"Front","tags":[],"enabled":true,"resource_id":"a1d3861e-e23a-4d27-9c1e-7ee924b26d02","parent":"e946dfa5-cc7f-426c-a77a-5047b9765cb5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8765a4fa-3152-47a8-8dcc-3eb0da744b80":{"name":"Back","tags":[],"enabled":true,"resource_id":"8765a4fa-3152-47a8-8dcc-3eb0da744b80","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["84018bde-b814-4cd6-b27b-19e4b09af65d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"84018bde-b814-4cd6-b27b-19e4b09af65d":{"name":"Front","tags":[],"enabled":true,"resource_id":"84018bde-b814-4cd6-b27b-19e4b09af65d","parent":"8765a4fa-3152-47a8-8dcc-3eb0da744b80","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8b96118a-9ca0-4728-87bb-c4999308ce84":{"name":"Back","tags":[],"enabled":true,"resource_id":"8b96118a-9ca0-4728-87bb-c4999308ce84","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["8610da67-6279-41b9-b0ad-d78906a0567f"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8610da67-6279-41b9-b0ad-d78906a0567f":{"name":"Front","tags":[],"enabled":true,"resource_id":"8610da67-6279-41b9-b0ad-d78906a0567f","parent":"8b96118a-9ca0-4728-87bb-c4999308ce84","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709":{"name":"Back","tags":[],"enabled":true,"resource_id":"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["4a244b71-0bc9-4a72-a484-23654867d7ba"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4a244b71-0bc9-4a72-a484-23654867d7ba":{"name":"Front","tags":[],"enabled":true,"resource_id":"4a244b71-0bc9-4a72-a484-23654867d7ba","parent":"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e919c001-4665-46f1-ac43-4745e2e9e661":{"name":"Front","tags":[],"enabled":true,"resource_id":"e919c001-4665-46f1-ac43-4745e2e9e661","parent":"2cec4a01-21d5-46ea-b218-2b51fd8322eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5bbeda81-74de-4189-aa40-51ef48f68405":{"name":"Back","tags":[],"enabled":true,"resource_id":"5bbeda81-74de-4189-aa40-51ef48f68405","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25":{"name":"Front","tags":[],"enabled":true,"resource_id":"5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25","parent":"5bbeda81-74de-4189-aa40-51ef48f68405","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b35342ca-a2ad-452f-8f12-5c13dd924337":{"name":"Back","tags":[],"enabled":true,"resource_id":"b35342ca-a2ad-452f-8f12-5c13dd924337","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["7e4728eb-8d7d-4e44-be0c-830dc02f251a"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e4728eb-8d7d-4e44-be0c-830dc02f251a":{"name":"Front","tags":[],"enabled":true,"resource_id":"7e4728eb-8d7d-4e44-be0c-830dc02f251a","parent":"b35342ca-a2ad-452f-8f12-5c13dd924337","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a1f660c6-810c-4afe-91a0-82a77a78a628":{"name":"Back","tags":[],"enabled":true,"resource_id":"a1f660c6-810c-4afe-91a0-82a77a78a628","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["5ba5d436-a69e-481a-819a-d274aa5021d0"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5ba5d436-a69e-481a-819a-d274aa5021d0":{"name":"Front","tags":[],"enabled":true,"resource_id":"5ba5d436-a69e-481a-819a-d274aa5021d0","parent":"a1f660c6-810c-4afe-91a0-82a77a78a628","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0fc84334-45d8-4dea-a34e-cb50c4cd68fd":{"name":"Back","tags":[],"enabled":true,"resource_id":"0fc84334-45d8-4dea-a34e-cb50c4cd68fd","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["d804d77c-3053-4a7c-b507-dade4ad7d286"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d804d77c-3053-4a7c-b507-dade4ad7d286":{"name":"Front","tags":[],"enabled":true,"resource_id":"d804d77c-3053-4a7c-b507-dade4ad7d286","parent":"0fc84334-45d8-4dea-a34e-cb50c4cd68fd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0b8e9e41-b026-4d65-9f0d-06ac841b6f35":{"name":"Front","tags":[],"enabled":false,"resource_id":"0b8e9e41-b026-4d65-9f0d-06ac841b6f35","parent":"a11971d0-384f-4873-8687-256fb8eef08a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"668be6f2-8971-4c58-842f-1e8bb991ce9b":{"name":"Back","tags":[],"enabled":true,"resource_id":"668be6f2-8971-4c58-842f-1e8bb991ce9b","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["8147e4c1-097c-445d-8670-24a022c02b3b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5764705882352941,0.5764705882352941,0.5764705882352941],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8147e4c1-097c-445d-8670-24a022c02b3b":{"name":"Front","tags":[],"enabled":false,"resource_id":"8147e4c1-097c-445d-8670-24a022c02b3b","parent":"668be6f2-8971-4c58-842f-1e8bb991ce9b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"abc88bd9-bafb-4869-b305-d0b75317cb66":{"name":"Back","tags":[],"enabled":true,"resource_id":"abc88bd9-bafb-4869-b305-d0b75317cb66","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["fdeb38d5-434c-4999-97c9-d26f52001e4b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fdeb38d5-434c-4999-97c9-d26f52001e4b":{"name":"Front","tags":[],"enabled":false,"resource_id":"fdeb38d5-434c-4999-97c9-d26f52001e4b","parent":"abc88bd9-bafb-4869-b305-d0b75317cb66","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9608d3af-1086-48e1-b5d8-c385724b8b8b":{"name":"Back","tags":[],"enabled":true,"resource_id":"9608d3af-1086-48e1-b5d8-c385724b8b8b","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8":{"name":"Front","tags":[],"enabled":false,"resource_id":"bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8","parent":"9608d3af-1086-48e1-b5d8-c385724b8b8b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fde313a8-d730-44f4-9afb-ddfea41ae59e":{"name":"Back","tags":[],"enabled":true,"resource_id":"fde313a8-d730-44f4-9afb-ddfea41ae59e","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["61edca59-8ca9-4121-bccb-52229f9c4845"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"61edca59-8ca9-4121-bccb-52229f9c4845":{"name":"Front","tags":[],"enabled":false,"resource_id":"61edca59-8ca9-4121-bccb-52229f9c4845","parent":"fde313a8-d730-44f4-9afb-ddfea41ae59e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5924f98a-370e-4681-bc0a-1c04d6b92a3f":{"name":"Front","tags":[],"enabled":true,"resource_id":"5924f98a-370e-4681-bc0a-1c04d6b92a3f","parent":"bedbc30f-f1d4-434f-bd47-c705eddb2092","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b":{"name":"Back","tags":[],"enabled":true,"resource_id":"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["0cbe8a2b-e3df-48db-8121-132888d9951a"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0cbe8a2b-e3df-48db-8121-132888d9951a":{"name":"Front","tags":[],"enabled":true,"resource_id":"0cbe8a2b-e3df-48db-8121-132888d9951a","parent":"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"16857b02-b406-4d85-9331-92b757a79466":{"name":"Back","tags":[],"enabled":true,"resource_id":"16857b02-b406-4d85-9331-92b757a79466","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["f318c3cf-637b-480d-a5c8-aefc8aa152b8"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f318c3cf-637b-480d-a5c8-aefc8aa152b8":{"name":"Front","tags":[],"enabled":true,"resource_id":"f318c3cf-637b-480d-a5c8-aefc8aa152b8","parent":"16857b02-b406-4d85-9331-92b757a79466","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa":{"name":"Back","tags":[],"enabled":true,"resource_id":"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["8a504a83-319d-41f7-8955-e6d26039802f"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8a504a83-319d-41f7-8955-e6d26039802f":{"name":"Front","tags":[],"enabled":true,"resource_id":"8a504a83-319d-41f7-8955-e6d26039802f","parent":"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1ecfa034-4f96-4e83-943f-cf898f75d164":{"name":"Back","tags":[],"enabled":true,"resource_id":"1ecfa034-4f96-4e83-943f-cf898f75d164","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["4531e528-7715-4d45-abb9-d9c70b1ac290"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4531e528-7715-4d45-abb9-d9c70b1ac290":{"name":"Front","tags":[],"enabled":true,"resource_id":"4531e528-7715-4d45-abb9-d9c70b1ac290","parent":"1ecfa034-4f96-4e83-943f-cf898f75d164","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}}},"checkpoint_id":"538cfe14-2d4b-4fc9-a353-edbc9508330f","id":1904849} \ No newline at end of file diff --git a/GemQuest/GemQuest/__game-scripts.js b/GemQuest/GemQuest/__game-scripts.js new file mode 100644 index 0000000..f5b5eca --- /dev/null +++ b/GemQuest/GemQuest/__game-scripts.js @@ -0,0 +1 @@ +pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},onUpdate:function(t){return this.on("update",t),this},onComplete:function(t){return this.on("complete",t),this},onLoop:function(t){return this.on("loop",t),this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var o=this._repeat(i);return o?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),o}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var Background=pc.createScript("background");Background.attributes.add("startPosX",{type:"number",default:1}),Background.attributes.add("endPosX",{type:"number",default:1}),Background.attributes.add("durationTime",{type:"number",default:1}),Background.prototype.initialize=function(){this.entity.setLocalPosition(this.startPosX,0,0),this.tween=this.entity.tween(this.entity.getLocalPosition()).to(new pc.Vec3(this.endPosX,0,0),this.durationTime,pc.Linear).loop(!0).yoyo(!0),this.tween.start()};var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:Number(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0));a.text=`${n}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.getResult=function(e){let t=e.filter((e=>e>=2)).sort(((e,t)=>t-e));if(0===t.length)return 0;if(1===t.length){if(2===t[0])return.1;if(3===t[0])return 3;if(4===t[0])return 5;if(5===t[0])return 50}else if(2===t.length){if(2===t[0])return 2;if(3===t[0])return 4}},DummyServer.prototype.startGame=function(e){if(e<0)return;let t=[],r=getDeck();t=shuffle(r).splice(0,5);let n=getMatchCount(t),u=this.getResult(n);this.userBalance=this.userBalance-e,this.betAmount=e;let i=u*e;return this.userBalance=this.userBalance+i,{balance:this.userBalance,betAmount:this.betAmount,profit:i,multiplier:u,gems:t}};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(r,o){return r=Math.ceil(r),o=Math.floor(o),Math.floor(Math.random()*(o-r))+r}function changeTexture(r,o){r.element.texture=o.resource}function shuffle(r){var o,e,t;for(t=r.length-1;t>0;t--)o=Math.floor(Math.random()*(t+1)),e=r[t],r[t]=r[o],r[o]=e;return r}function getTable(r,o){let e=[];for(let t=0;t{o[r]++})),o}function getGemColor(r){switch(r){case 0:return rgbToColor(15,144,202,255);case 1:return rgbToColor(0,127,154,255);case 2:return rgbToColor(226,125,17,255);case 3:return rgbToColor(135,42,221,255);case 4:return rgbToColor(27,172,53,255);case 5:return rgbToColor(214,48,124,255);default:return rgbToColor(52,68,83,255)}}function setButton(r,o,e){r.element.on("touchend",o,e),r.element.on("mouseup",o,e)}function rgbToColor(r,o,e,t){return new pc.Color(r/255,o/255,e/255,t/255)}function getCommaText(r){return r.toLocaleString("en-US")}async function loadJsonFromUrl(n){return new Promise((e=>{this.loadJsonFromRemote(n,(function(n){console.log(n);let o=JSON.stringify(n),s=JSON.parse(o);e(s)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.attributes.add("boxButton",{type:"entity",array:!0}),Middle.attributes.add("resultText",{type:"entity"}),Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null,this.buttons=[],this.entity.forEach((t=>{"Button"===t.name&&this.buttons.push(t)})),this.selectedIdx=-1};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle(),GemController.instance.init(),HandRankingController.instance.init()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();console.log(e),UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.betGame=async function(e){let n=DummyServer.instance.startGame(e);console.log(n),UserBalance.instance.setBalance(UserBalance.instance.getUserBalance()-e),GemController.instance.init(),HandRankingController.instance.init(),HandRankingController.instance.setMatch(0,0,0),await delay(150);for(let e=0;e{this.changeButtonState(this.startButton,!0),this.changeTexture(this.startButton,this.start_inactive)}),1e3)},Bottom.prototype.setBetAmount=function(t){this.betAmountText.element.text=`${t}`,this.betAmount=t},Bottom.prototype.resetMultiplierColor=function(){ResultController.instance.resetColor(),this.disableButton(!1)},Bottom.prototype.setResultGame=async function(t,o,e){t?(AudioController.instance.playSound("Win"),this.multiplier.element.text=`${o.toFixed(2)}x`,this.profit.element.text=`+${e}`):AudioController.instance.playSound("Lose"),this.winResult.enabled=t,this.loseResult.enabled=!t,await delay(1500),this.winResult.enabled=!1,this.loseResult.enabled=!1},Bottom.prototype.betAmountErr=function(){var t=new pc.Color(0,0,0),o=this.entity.tween(t).yoyo(!0).repeat(4).to(new pc.Color(1,0,0),.2,pc.Linear);o.onUpdate((o=>{this.betAmountText.element.color=t})),o.start()};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){!0!==this.isMute&&this.soundSource.sound.play(o)};var BetController=pc.createScript("betController");BetController.attributes.add("betUi",{type:"entity"}),BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betUi.enabled=!1,Bottom.instance.setBetAmount(this.betAmount)},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),this.betUi.enabled=!1},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"entity"}),SoundButton.attributes.add("offImg",{type:"entity"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,this.onImg.enabled=!1,this.offImg.enabled=!1,this.isMute?this.offImg.enabled=!0:this.onImg.enabled=!0,AudioController.instance.setMute(this.isMute)},SoundButton.prototype.setButton=function(t,n){t.element.on("touchend",n,this),t.element.on("mouseup",n,this)};var Twinkle=pc.createScript("twinkle");Twinkle.prototype.initialize=function(){this.onEnable(),this.entity.on("enable",this.onEnable,this)},Twinkle.prototype.onEnable=function(){var t={value:1},e=this.entity.tween(t).yoyo(!0).loop(!0).to({value:.5},1,pc.Linear);e.onUpdate((e=>{this.entity.element.opacity=t.value})),e.start()};var Bounce=pc.createScript("bounce");Bounce.attributes.add("shadow",{type:"entity"}),Bounce.prototype.initialize=function(){this.onEnable(),this.entity.on("enable",this.onEnable,this)},Bounce.prototype.onEnable=function(){console.log("onEnable");var t={value:0};let e=getRandomInt(6,12)/10;var o=this.entity.tween(t).yoyo(!0).loop(!0).to({value:15},e,pc.Linear);o.onUpdate((e=>{this.entity.setLocalPosition(0,t.value,0),this.shadow.setLocalScale(1-t.value/100,1-t.value/100,1)})),o.start()};var HandRankingController=pc.createScript("handRankingController");HandRankingController.attributes.add("handRanking",{type:"entity",array:"true"}),HandRankingController.prototype.initialize=function(){HandRankingController.instance=this,this.handInfo=[[0,0,0],[2,0,.1],[2,2,2],[3,0,3],[3,2,4],[4,0,5],[5,0,50]]},HandRankingController.prototype.postInitialize=function(){let n=0;this.handInfo.forEach((t=>{this.handRanking[n].script.handRanking.initHandRanking(t[0],t[1],t[2]),n++}))},HandRankingController.prototype.init=function(){this.handRanking.forEach((n=>{n.script.handRanking.setDefault()}))},HandRankingController.prototype.setMatch=function(n,t,a){this.init(),this.handRanking[n].script.handRanking.setSelected(getGemColor(t),getGemColor(a))};var HandRanking=pc.createScript("handRanking");HandRanking.attributes.add("front",{type:"entity",array:"true"}),HandRanking.attributes.add("back",{type:"entity",array:"true"}),HandRanking.attributes.add("background",{type:"entity"}),HandRanking.attributes.add("ratioText",{type:"entity"}),HandRanking.prototype.initialize=function(){this.enableColor=rgbToColor(147,147,147,255),this.disableColor=rgbToColor(52,68,83,255),this.selectedColor=rgbToColor(176,200,151,255),this.unselectedColor=rgbToColor(81,81,81,255),this.fillCount=0,this.borderCount=0},HandRanking.prototype.initHandRanking=function(t,e,o){this.fillCount=t,this.borderCount=e,this.ratioText.element.text=`${o.toFixed(2)}x`,this.setDefault()},HandRanking.prototype.setDefault=function(){this.background.element.color=this.unselectedColor;for(let t=0;t<5;++t)this.front[t].enabled=!1,this.back[t].element.color=this.disableColor;let t=0;for(let e=0;e{t.script.gem.reset()})),this.gemTypes=[],this.prevColorArray=[]},GemController.prototype.setGem=function(t,e){this.gems[t].script.gem.setGem(e),this.updateMatch(e)},GemController.prototype.getMatchedIndex=function(){let t=getMatchCount(this.gemTypes).filter((t=>t>=2)).sort(((t,e)=>e-t)),e=0;return 0===t.length&&(e=0),1===t.length&&(2===t[0]&&(e=1),3===t[0]&&(e=3),4===t[0]&&(e=5),5===t[0]&&(e=5)),2===t.length&&(2===t[0]&&(e=2),3===t[0]&&(e=4)),e},GemController.prototype.getMatchedCount=function(t){let e=0;return this.gemTypes.forEach((o=>{o===t&&e++})),e},GemController.prototype.enabledBottomColor=function(t){t.forEach((t=>{this.gemTypes.forEach(((e,o)=>{t.type===e&&this.gems[o].script.gem.enableBottomColor()}))}))},GemController.prototype.getMatchedColor=function(){let t=[];return this.gemTypes.forEach((e=>{let o=this.getMatchedCount(e);if(o>=2){let r=!1;t.forEach((t=>{t.type===e&&(r=!0)})),!1===r&&t.push({type:e,count:o})}})),t.sort(((t,e)=>e.count-t.count)),t},GemController.prototype.updateMatch=function(t){this.gemTypes.push(t);let e=this.getMatchedIndex(),o=this.getMatchedColor();this.enabledBottomColor(o),HandRankingController.instance.setMatch(e,o.length>0?o[0].type:0,o.length>1?o[1].type:0),this.prevColorArray=o},GemController.prototype.getGem=function(t){let e,o;return 0<=t&&t<=5?(e=this.front[t],o=this.back[t]):(e=this.front[0],o=this.back[0]),{front:e,back:o}},GemController.prototype.getBottom=function(t){return 0<=t&&t<=5?this.bottom[t]:this.bottom[6]},GemController.prototype.getShadow=function(t){return 0<=t&&t<=5?this.shadow[t]:this.shadow[6]}; \ No newline at end of file diff --git a/GemQuest/GemQuest/__loading__.js b/GemQuest/GemQuest/__loading__.js new file mode 100644 index 0000000..627a013 --- /dev/null +++ b/GemQuest/GemQuest/__loading__.js @@ -0,0 +1,112 @@ +pc.script.createLoadingScreen(function (app) { + var showSplash = function () { + // splash wrapper + var wrapper = document.createElement('div'); + wrapper.id = 'application-splash-wrapper'; + document.body.appendChild(wrapper); + + // splash + var splash = document.createElement('div'); + splash.id = 'application-splash'; + wrapper.appendChild(splash); + splash.style.display = 'none'; + + var logo = document.createElement('img'); + logo.src = ASSET_PREFIX + 'logo.png'; + splash.appendChild(logo); + logo.onload = function () { + splash.style.display = 'block'; + }; + + var container = document.createElement('div'); + container.id = 'progress-bar-container'; + splash.appendChild(container); + + var bar = document.createElement('div'); + bar.id = 'progress-bar'; + container.appendChild(bar); + + }; + + var hideSplash = function () { + var splash = document.getElementById('application-splash-wrapper'); + splash.parentElement.removeChild(splash); + }; + + var setProgress = function (value) { + var bar = document.getElementById('progress-bar'); + if (bar) { + value = Math.min(1, Math.max(0, value)); + bar.style.width = value * 100 + '%'; + } + }; + + var createCss = function () { + var css = [ + 'body {', + ' background-color: #283538;', + '}', + + '#application-splash-wrapper {', + ' position: absolute;', + ' top: 0;', + ' left: 0;', + ' height: 100%;', + ' width: 100%;', + ' background-color: #283538;', + '}', + + '#application-splash {', + ' position: absolute;', + ' top: calc(50% - 28px);', + ' width: 264px;', + ' left: calc(50% - 132px);', + '}', + + '#application-splash img {', + ' width: 100%;', + '}', + + '#progress-bar-container {', + ' margin: 20px auto 0 auto;', + ' height: 2px;', + ' width: 100%;', + ' background-color: #1d292c;', + '}', + + '#progress-bar {', + ' width: 0%;', + ' height: 100%;', + ' background-color: #f60;', + '}', + '@media (max-width: 480px) {', + ' #application-splash {', + ' width: 170px;', + ' left: calc(50% - 85px);', + ' }', + '}' + + ].join('\n'); + + var style = document.createElement('style'); + style.type = 'text/css'; + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } + + document.head.appendChild(style); + }; + + + createCss(); + + showSplash(); + + app.on('preload:end', function () { + app.off('preload:progress'); + }); + app.on('preload:progress', setProgress); + app.on('start', hideSplash); +}); diff --git a/GemQuest/GemQuest/__modules__.js b/GemQuest/GemQuest/__modules__.js new file mode 100644 index 0000000..35109fe --- /dev/null +++ b/GemQuest/GemQuest/__modules__.js @@ -0,0 +1,45 @@ +var loadModules = function (modules, urlPrefix, doneCallback) { // eslint-disable-line no-unused-vars + + if (typeof modules === "undefined" || modules.length === 0) { + // caller may depend on callback behaviour being async + setTimeout(doneCallback); + } else { + let remaining = modules.length; + const moduleLoaded = () => { + if (--remaining === 0) { + doneCallback(); + } + }; + + modules.forEach(function (m) { + pc.WasmModule.setConfig(m.moduleName, { + glueUrl: urlPrefix + m.glueUrl, + wasmUrl: urlPrefix + m.wasmUrl, + fallbackUrl: urlPrefix + m.fallbackUrl + }); + + if (!m.hasOwnProperty('preload') || m.preload) { + if (m.moduleName === 'BASIS') { + // preload basis transcoder + pc.basisInitialize(); + moduleLoaded(); + } else if (m.moduleName === 'DracoDecoderModule') { + // preload draco decoder + if (pc.dracoInitialize) { + // 1.63 onwards + pc.dracoInitialize(); + moduleLoaded(); + } else { + // 1.62 and earlier + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + // load remaining modules in global scope + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + moduleLoaded(); + } + }); + } +}; diff --git a/GemQuest/GemQuest/__settings__.js b/GemQuest/GemQuest/__settings__.js new file mode 100644 index 0000000..a3fb7e0 --- /dev/null +++ b/GemQuest/GemQuest/__settings__.js @@ -0,0 +1,21 @@ +window.ASSET_PREFIX = ""; +window.SCRIPT_PREFIX = ""; +window.SCENE_PATH = "1904849.json"; +window.CONTEXT_OPTIONS = { + 'antialias': true, + 'alpha': false, + 'preserveDrawingBuffer': false, + 'preferWebGl2': true, + 'powerPreference': "high-performance" +}; +window.SCRIPTS = [ 158042745, 158042743, 158042730, 158042727, 158042737, 158042744, 158042709, 158042710, 158042756, 158042742, 158042739, 158042733, 158042731, 158042871, 158050750, 158486655, 158486658, 159521138, 159521145 ]; +window.CONFIG_FILENAME = "config.json"; +window.INPUT_SETTINGS = { + useKeyboard: true, + useMouse: true, + useGamepads: false, + useTouch: true +}; +pc.script.legacy = false; +window.PRELOAD_MODULES = [ +]; diff --git a/GemQuest/GemQuest/__start__.js b/GemQuest/GemQuest/__start__.js new file mode 100644 index 0000000..d519ed7 --- /dev/null +++ b/GemQuest/GemQuest/__start__.js @@ -0,0 +1,228 @@ +(function () { + // Shared Lib + var CANVAS_ID = 'application-canvas'; + + // Needed as we will have edge cases for particular versions of iOS + // returns null if not iOS + var getIosVersion = function () { + if (/iP(hone|od|ad)/.test(navigator.platform)) { + var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); + var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; + return version; + } + + return null; + }; + + var lastWindowHeight = window.innerHeight; + var lastWindowWidth = window.innerWidth; + var windowSizeChangeIntervalHandler = null; + + var pcBootstrap = { + reflowHandler: null, + iosVersion: getIosVersion(), + + createCanvas: function () { + var canvas = document.createElement('canvas'); + canvas.setAttribute('id', CANVAS_ID); + canvas.setAttribute('tabindex', 0); + + // Disable I-bar cursor on click+drag + canvas.onselectstart = function () { return false; }; + + // Disable long-touch select on iOS devices + canvas.style['-webkit-user-select'] = 'none'; + + document.body.appendChild(canvas); + + return canvas; + }, + + + resizeCanvas: function (app, canvas) { + canvas.style.width = ''; + canvas.style.height = ''; + app.resizeCanvas(canvas.width, canvas.height); + + var fillMode = app._fillMode; + + if (fillMode === pc.FILLMODE_NONE || fillMode === pc.FILLMODE_KEEP_ASPECT) { + if ((fillMode === pc.FILLMODE_NONE && canvas.clientHeight < window.innerHeight) || (canvas.clientWidth / canvas.clientHeight >= window.innerWidth / window.innerHeight)) { + canvas.style.marginTop = Math.floor((window.innerHeight - canvas.clientHeight) / 2) + 'px'; + } else { + canvas.style.marginTop = ''; + } + } + + lastWindowHeight = window.innerHeight; + lastWindowWidth = window.innerWidth; + + // Work around when in landscape to work on iOS 12 otherwise + // the content is under the URL bar at the top + if (this.iosVersion && this.iosVersion[0] <= 12) { + window.scrollTo(0, 0); + } + }, + + reflow: function (app, canvas) { + this.resizeCanvas(app, canvas); + + // Poll for size changes as the window inner height can change after the resize event for iOS + // Have one tab only, and rotate from portrait -> landscape -> portrait + if (windowSizeChangeIntervalHandler === null) { + windowSizeChangeIntervalHandler = setInterval(function () { + if (lastWindowHeight !== window.innerHeight || lastWindowWidth !== window.innerWidth) { + this.resizeCanvas(app, canvas); + } + }.bind(this), 100); + + // Don't want to do this all the time so stop polling after some short time + setTimeout(function () { + if (!!windowSizeChangeIntervalHandler) { + clearInterval(windowSizeChangeIntervalHandler); + windowSizeChangeIntervalHandler = null; + } + }, 2000); + } + } + }; + + // Expose the reflow to users so that they can override the existing + // reflow logic if need be + window.pcBootstrap = pcBootstrap; +})(); + + +(function () { + var canvas, devices, app; + + var createInputDevices = function (canvas) { + var devices = { + elementInput: new pc.ElementInput(canvas, { + useMouse: INPUT_SETTINGS.useMouse, + useTouch: INPUT_SETTINGS.useTouch + }), + keyboard: INPUT_SETTINGS.useKeyboard ? new pc.Keyboard(window) : null, + mouse: INPUT_SETTINGS.useMouse ? new pc.Mouse(canvas) : null, + gamepads: INPUT_SETTINGS.useGamepads ? new pc.GamePads() : null, + touch: INPUT_SETTINGS.useTouch && pc.platform.touch ? new pc.TouchDevice(canvas) : null + }; + + return devices; + }; + + var configureCss = function (fillMode, width, height) { + // Configure resolution and resize event + if (canvas.classList) { + canvas.classList.add('fill-mode-' + fillMode); + } + + // css media query for aspect ratio changes + var css = "@media screen and (min-aspect-ratio: " + width + "/" + height + ") {"; + css += " #application-canvas.fill-mode-KEEP_ASPECT {"; + css += " width: auto;"; + css += " height: 100%;"; + css += " margin: 0 auto;"; + css += " }"; + css += "}"; + + // append css to style + if (document.head.querySelector) { + document.head.querySelector('style').innerHTML += css; + } + }; + + var displayError = function (html) { + var div = document.createElement('div'); + + div.innerHTML = [ + '', + ' ', + ' ', + ' ', + '
', + '
', + '
' + html + '
', + '
', + '
' + ].join('\n'); + + document.body.appendChild(div); + }; + + canvas = pcBootstrap.createCanvas(); + devices = createInputDevices(canvas); + + try { + app = new pc.Application(canvas, { + elementInput: devices.elementInput, + keyboard: devices.keyboard, + mouse: devices.mouse, + gamepads: devices.gamepads, + touch: devices.touch, + graphicsDeviceOptions: window.CONTEXT_OPTIONS, + assetPrefix: window.ASSET_PREFIX || "", + scriptPrefix: window.SCRIPT_PREFIX || "", + scriptsOrder: window.SCRIPTS || [] + }); + } catch (e) { + if (e instanceof pc.UnsupportedBrowserError) { + displayError('This page requires a browser that supports WebGL.
' + + '
Click here to find out more.'); + } else if (e instanceof pc.ContextCreationError) { + displayError("It doesn't appear your computer can support WebGL.
" + + 'Click here for more information.'); + } else { + displayError('Could not initialize application. Error: ' + e); + } + + return; + } + + var configure = function () { + app.configure(CONFIG_FILENAME, function (err) { + if (err) { + console.error(err); + } + + configureCss(app._fillMode, app._width, app._height); + + const ltcMat1 = []; + const ltcMat2 = []; + + if (ltcMat1.length && ltcMat2.length && app.setAreaLightLuts.length === 2) { + app.setAreaLightLuts(ltcMat1, ltcMat2); + } + + // do the first reflow after a timeout because of + // iOS showing a squished iframe sometimes + setTimeout(function () { + pcBootstrap.reflow(app, canvas); + pcBootstrap.reflowHandler = function () { pcBootstrap.reflow(app, canvas); }; + + window.addEventListener('resize', pcBootstrap.reflowHandler, false); + window.addEventListener('orientationchange', pcBootstrap.reflowHandler, false); + + app.preload(function (err) { + if (err) { + console.error(err); + } + + app.scenes.loadScene(SCENE_PATH, function (err, scene) { + if (err) { + console.error(err); + } + + app.start(); + }); + }); + }); + }); + }; + + if (PRELOAD_MODULES.length > 0) { + loadModules(PRELOAD_MODULES, ASSET_PREFIX, configure); + } else { + configure(); + } +})(); diff --git a/GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 b/GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..d82a03c3eae7f759d7aa84081d5b658b8b920b0f GIT binary patch literal 7670 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png b/GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png new file mode 100644 index 0000000000000000000000000000000000000000..eca33bfbf69bf7ee9822393a0a32aee2f03bff27 GIT binary patch literal 12531 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png b/GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png new file mode 100644 index 0000000000000000000000000000000000000000..0f5002e534728642b2c4533f31f3a4f32977dbbd GIT binary patch literal 17543 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 b/GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..bf0b562e914c5b78bafda098816a50b75128a4b8 GIT binary patch literal 9440 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 G=)VD%z=;h2 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042732/1/cardFront.png b/GemQuest/GemQuest/files/assets/158042732/1/cardFront.png new file mode 100644 index 0000000000000000000000000000000000000000..30fbf081d9718f625999b2eba192bf653513bc1b GIT binary patch literal 18416 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042734/1/circle.png b/GemQuest/GemQuest/files/assets/158042734/1/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..435ce11dfb4dbfd3bebf7fd5f9bffc14c92ae3c0 GIT binary patch literal 10317 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png b/GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png new file mode 100644 index 0000000000000000000000000000000000000000..685488a9a347764c5929ec4313e32646bf986cf0 GIT binary patch literal 103866 zcmYJac_38Z{|9_$j5TB#3<*gLiNVIp=-uc`vW`>y>17O`nB{j|l((7DIz8*8uGwE&@O>3ILWJ0YD`m z0C)nPHkqq||Dbces(%H%g0Fp@W(;_t4>B~-rJrX$P0K2Cb3jWG{4!v8McXp$#|p(W z)yI2clAc0RBYhw=?J6%Q7kp1McjXk;y_qJ-9M3?@=&Z`loyqkIP-V>JG&ay+Gh<^A z7maw}%Xl?c2ep;Q=6X@cO-l$KpBZ~4z-PemF!y*fo|udQk5?CJRC?cTn>WJ2H0T1~%4 zyRrHGABX>$Lu9M=ry8F2|Bc|C8N+J^&}KOJc6Bt+0IpiFcx&6BjY(-PpfP%A+Qk_d zxaJ>0T1S9Wf?~mG*>lg^x_m&>p;X-u8qX-t`;SvrF=E(_3z)UXI}S7e+L6xK^d_~l zX7VCk90bb|!Jj8@iT1*Cy%Hq@nWe15)(vfw2C(uo2m=Am^Q)11kf_V>az z^J+gQ+GvTFX#6p?6nlZWOEooJpqN6c$-9Xij{NN~0Gz*?;=sY3pxC=+%mL{0y~>5O ze-RM2q8gyJZG*IUQ0Rn0C_4SO#v(3vik!+PwcJxd2u=pmn;Y5s{7scFFmv`~%;?Vj zkB+Fd|NBM3lVAKYTk4Fp$N|P$+7#5CD2dpp+LMJ);{LaIQE>5#jJrHEPYJMh4nVwE z!*t7-rm8q1)&ArE=0!g+?DUs@`nNMSg);|G7AoF*u*0~EVR~9DMa^mR7y*~Mb7K84 zUl^q9Azr&Ev<2RMuj2(qZ_;f25}i^GEn0bV;u;IJsgkUD@yHDo!ORITcaxoP2<8&c z`;ZK`hr;iq`s&CzGDXn(<6@ek1uLr@Hybus+6(~K%@i^GeZN$)zYg!2B?9rl;Ryt_ zAtL%ExoIYcWexm&d9FRA{!7f$wFAxNFcL3wHw6W0cl^LX6nB?P)k85Ga4hrL&`l=R zxV*iL3u)2lCUv}^ij^b#98oA{9U@xS{1zl*Asnt-L-uQ&s3C=AEd{CYJu)V$!2z4x z3x*uJnd^r(xxr1X#4doReKw!@9r?YfDH>=2*Av&VsAvqR#S3X!oihZ?;07E)Yoq&P zQ%Z{}uDtw-gv+=;Qwb7=heMT~X1NbtEUieVG`ho5yP(_3cnfB_47XAFKZu%Uhod3Q z-Ob*wXp>yGq6NsC=s^qV8&+24@S=tOI^(R0$nJM^^ys0zekIyuW*cmK%yV<=Dkivi zt697Zk*bVH@5%n`s>F}OSCgB{kY&g$pto*dH_C(@|u(hQxd+Nmw%1|svC`yEjNG@L-?w34wX zxLIUyvlbq@>}iBF*YNBPq7aVgSkKGm?SaUvB8+OMCoWlAXEP>rw&=8Yn!y=#-bvkV zB)d&sVMFmbsr>TBe!gMh}`5R&T|-b@QoW_x~mKK8+MfQJn?BcRO&WH@9G@R5QG z=6{G-TLr5L5XpwXuy+x0?VR_ar>xckua2*!-oqjW!k=ycv%MA->}7y1%&gvW0fGFgY3CU(o5KV7_030jBK#c@-LA4vh89w~oMoSQ;1VuE zGVtQ>sVto(`Q7gIOFpH4mYlIeq216cT7mbx{G-Y!)Iae%wLz2)@YL(K!`d0c1X5^y z?)yje$zofc%r}|ACG(Z*fceo}Gxq%wvQ0zqm9I5^8P+zl&JHKCLj@E+;Eq<&^3Pp%wTfUYP# zjuFc_;GRG9`lh48gl(}&9J)mT)z8twY}h6kMEP+?LqLbrvE6$wOhCl*I;mb%U3Fqy zAwdVp1c)$(s4{%i;HeU`+2L0*c!ve(f(hJid4tUvCt!-#;6as&kl zV7B^o$0vg>|5~Xhz}9o0rXI=G!w}p0J%63U==dCq;{<|Ph{1rv180^ShveJt_GwU6 z?ew9uqX#Avk-|glFw~%Zq!Qm7alDJ)i+eh0a^dz1;Z|&x{a=?=c)G5$85Kz@4QWJ zoDdr8B^L=XCJvwXal;LwQZz!K0y9 z-Wit|Ymng7TgTiU$lntv0(wkyHdxWZ=eFNFA9n-zd$vCaF_a;VvMP{Fx-1%O+X*ua2j`1Qo|=*A9mo?=Vy!bK1?!j_>k2T(FTGLG?D2@lcg$TVW5Chr zj$8W%rLY#RTr<*m?FgYOfl8D>Xw9Hq@CPxEe-4Qn^UBh%L3!luReOAt_|x>tmx8<| z{*`L$*&EAx_lkP|dYUDYc|q}s@nWT=73FCE9vdvVEMwD2{$4$-duB7F z8GK$xb>#Z%>Li~Nz*i0V_$C!N@#45KJ<(QjQ_(^-0d(0Kk$YO_QWVbi?nd?3@%Jpf zd%jfdjBTc983I4w9zTe?p&2E0lrtCALjz>^b{T;ljAzDlJ7@6TqhdHP2oj6x+6G0>DDzO=-X93 zdZcc`iOTbLlnR^_lElWkzpA%fTP6^$n8&Au!4KseEYNkw6R9QMkl`Knogy%Tk%Bu> zKXlSALwI<2o`35Le5#a2Zo;D@`h>~fL!+5*S;2K(cf|}pZhxpD&uqSv?BCwL_jRCk zy#VitNT?y>@WGP6EN2%`aK=XKGSYyPQ7!pZRoSxMgZ7acYKz3tTsXhNL*QSROHtw~ zcT`p;vtA;2dQ->ZXTvwtV2}g|Q1*^`&D3XLmqGW2h~Xa*##PaNGpjv~WT;zGSw`RW zEF(je?24A_$gA+K<9%?8B_6N^edi2HmDw*cq!~b+aWTH+F&f2IavkC; z8#Q^l6O}e2VrXB>cp$^;*p6~yMG3Juc53twxj(mQ7`QQEg-EcnGR$(d8ACt8Jra** zyVzQ`I~niUZdQsn0ORL}D(l6j8nVh~peInFU~q13E~4dMR9g)hZ6eOzyZr&h+-$$& zYfwB4!(g`QHa@aDTY`AA=k~^pV*M9ZDlpItzzF8SOQ@s##|PP=d14Y@Q6>~ z@0-d@42SDQFN!(EvZ3xf?DYqda$IuX`m<>#l~&M8Nk5@;M1cuwxh4bD=Zv*olt`ND ztK%gI@1C`Lt4NgTBzM=DF^qZ1RKGL3&d#gxl9Vs!WM?6CFW19kx}c|wG-MoIdpY17 zVYE!EuJOGO`s0Q&i7sAN;peHd55VLxOT;FZOZQyAG4YK9W!bua?r#0~hFUScTC#s( zVF8CX@5k_ARrpyags==?0siHMA7aB6( z$k0gsvy-j(0z)&GuFIZq*saaOQ|mx*YDYQVe06J5Zmxs}DHXsj)SId35w;=gdiDT_ z<8_z$b2dcQ)yrI3D{N5S!rUbVTue+?;D=i;ub87vXykrA5LW5I zm(WRuG+9FD4gnP6cAnnczJ{EvVUu00o1Lm3-eR$7V4Fh-^7ZU)Tk_G&wA|m>-v@%F z{H48hAA@&GV?;XU<}R+YDi_InB#I-U@uzOzo^npKOMat$UMu5V0V)weFyjt(J}!B&bM zHHtN!MS-x*tByFu1g`6GvXlB$4)4KW`;lFRRSy}~$nikjRjZ{+PIsSCS>Hq$=-$G}0D)^SMewRVN{Pg8~J!1Xh0ITnL zbo+Ux^Or`KtE8Ual`R&j|5W%MO!f+&&K>s`3RiTr-BtLaCjbHbDwWqEl1x*SM^-5gu|caaJ9Y!*`mLIHlcr-ba+- z-fOs%1*0}zJY=KQ#v<3&nUbNzPoa|#E%TM3z=#`c5)WH6-d;L&=MJgd!0!JQ zDQmHvOMb7UixVCkA&td!POmyWXxHe}w(1D1k_fW*?+Y{6Q2+S1Z2^*=r2NF>PD-TA z&_cPh2-kJXE0MkZrAjRN@?sCnMdCl+ ztk5UGfhBw{6N-)KGuORA>eoyIqbUAWVX}^kOtriC8V0=tGX_4WCg`O0kUpamAVvDP zkAeTfsVTJGE>#lCeC9B_$&2yGWkbuyGp=dbVfL*}7M}%)^$vgX1`{1-I>nA?+IFYj zVrcfN-nRvJ*};EWsoN6atGaF8tlNeLj8$gzh{(isC~S0JOshm^p@Ro0e1-KXi^8uj zG=5-`h6@?Z#C!h5-bLUp{x}j$n^_a3{_UvdJeSO7o?>;nXs6Ka%fR~aXlOa+9^9mS zPv_~iuF(c+oiFvlXIJ?jJ}+PPzt@O72y*_U&IRy?M&3NPWY1@HZ5;Yy`m^dhk%T+u z5Yp!Q7K26@mM{4j1p;r)8Xw$yZ9i}RIMJ#5j8lH%^jc(yM$xr;8~ngyuN%)y_-@nr zE#Y+!cE+f3`>sDA7?q$+bJ0O%uvSaWpO1d=dhHfQ z)~MnleH5xEhP-DT(?$~si-u`LV=c=h*|=^tvSWn}*}>8UJ-M)iHmQtI zDWI78-1kg;zT|c3g<_w30FGIwIcl8z}Brp2i1O zKOT|2d&*im_^laHm=ZyzDt~BkNv&@C2)8(u8&6*#SxD5RO$K7<9?@8r1WboeYy?UO zhn^MIhOZCJD;|Hk8h9V4KPm@76%5XA?>oQFHx_NG(Yy`}M;dymZtia{)P(+_ixqm4 zEmKLXcC$hMF5r8d>77~zi3$jd5(m$WG?FIkt6=ci8JSjUbg?ud;ZOw9+3u6jDbiz;PKDI>P6Nz?V`$q$)FF!3_^T)GizvoXrDgBY>io7lWjn&HcC2%!`@7Et zl4mOFkhY8=t-fvNAHB+;r$&P3+WjKn-8(I|+jm-977^}x3y~4mnKFbJ%S4RIM6T9J zROh;y(76|-Zy!-J9O88m3H&^w^^1}JLWkVD0_Y~q8wr*M&f-iDgy0{ex+(pYz~)pU zqJhsb_4QV}R^9eL^MrvIVu<~}shz5yZI@h1oVwA=b)M~khwzdHif*w-Wsf9x%6_B< zf?0sLO&~~2?s{hF@%Ny0@MOF9Ef$I8ebu94Cd6NUJ=URPQTOZDNU^{ zn`-d6SGAvy50hgFO`B0aRD>C(l#>Os--qUkGoiNh!Mtf8YuFJ!tRt(LyoiH<%~=`m+7uw4g=?p!DXrnw`nbu)*zm z>$=5kP<{C7csC&YK7jkR%x>!Y(s7*E^JQZzpSkAo(4~^&P3yh|YR|%|YqLpXK~TNI z*z?a`zDZ~HXBvF@st8m2(ceY|iu!{e;m3I(f*KP`yn|sZ8tUS-RorAFf>E{PC*hp0 zIYGRJU)v;-F=77>Q~pd|EJJ=0#T8Op$5$-=E%Z4YD<%sYrMy9=5UQ5TYWfch$EexA zWYK>*W92^$Cq$*)JA1H{S1foec3DKrAR}zUW09%L{eH*vU=zVC_ptZ(%Z~{~rJj5& znf#CRw!w`m)^uN{9mEaPrTTH=@H<986~Tz6-}4J)e4O_e%L(9f&cve0+6&hWmSEm% zOjtrwwAOFReS4x4vp4Fdx13|XZqt(_(fIU?3kKKE8)h)oyt})drwYGNk#21|Qcv1f z7<~3kWHRqrrpQIoCB=ekDo?XaOz~}WCNaWVRpw#_bO>VONad{!;-D3A4_1DA21j)3g@SEYBRbg$XP2e~HOr!r@1P+a&wZCQG4xb;eyZ z6V?J9o!hT`?`V*CP6caN&Fg#{v$DN@=aJVPxtK$>{m4we#_^DBzlNm{yO*TxB`@@? z=Uz6Xhco2I2O>)!Y}e$2R3=q2C)RhTQ{6v6sUsaT<2>G2OCwI1q>A30+vXfPBa~+% zQI9LA&ymSr{V7^)WwomW>mJ2tfQTKRL?1^je zP1h@@$AGv6G8t_`CRKd6=#fUxvPBGzQWL=JZ9v)=hKj2ZuC5?H+`iF4z|+zQOv)IR?qXv9CJ1nsb7oLq%G>+ ze2z_dRZwcc!pBns(TNk);TA%BAjga?+&!;@M-md<2;e2l@$;!TW-2$lcj48q95S`7mUV& zO#m<^iymFD+EP(Jey32kMjJ;KG`|-j;{lJ zRG-~{xu6Z#hFl=7WCHJkx4w1<>bHIl>tUc*P!E+q{F8Y)U>jm~`RJi3hX{KXERgi{ z41?yhOH!GZP01cRt-fZ!ZqIv8s(Pf>#GV$1+Wv-!b@<`l+9|ked*)5A!#LkpD^?n> zdf0nz!Jo8BuY|Day7F3beT21{{7(NM-XG;!Qfrp?P`|Z~(ii5I4=nPS2B-16)AIjX z3x{}OuOS|xo~(HD>Yq2vt>pt&O^z5wa&|B`fbPLNOVxC9(q^N<>^;x$QTTK8=A+|b zGeFE)EATiW)Q7OTQW}Nn-OJRlb|dX!dt1hZexDhFoNT2D>wK4x^aA z(g1yR19ismuJtx*(F^JrMG)4Jcv`UPUrIvhUH-h2_EdsX#?#)q)UPr2rT~IYl=Cal z>ifI`!kt1b@~u5?B=>KByEQ_sIo;;1LfNi>e6_sFdGYL{x-Q|u!DPb6xeHmaG#ZnM z(8>GIp>eO-s$NYvAPL>Lv@v5sI-c3aT+xaZ^=zst$WqSITllkYfHU|yc|I9q|A)HK z781gOYd_JwJ7qx~o|HW;bZA@GF2}Q%kxK=oWph_j*a1#d=Wr0eg_TK>V)EsUDEs4fMvJxP{Hq*N zCYf%B$J|k|P5NfPtPu%dq99`N@1NiIS{_B^>b;+pL%R$3qjdZ+hGz>V^2nORGw zwIe0w##1?YCcIB9zh7B93i+GlW}|tup)+yZW^!CAE51y9HL(if5JYr>lO*>k!>k{< zpYfgz5mWO2z+yJEtI!x#aLM<6^Ud3m+vn`jH|})g6j2SeQSS>=&?st%Mhmn_RE&zO2;9dHui%1QZDbH=73C zc5tie98_OWB0mU1HkRBll#7O|cfO}ggtW!=z27XPoQl5u$o@N%;^C8r^-s{n4lKZg z?LO@%s35f?PVhj}ZgS)bOIHu&(zD*}GEb(V=C!!5T%rTK?k=e;2(_@&MW>6mFuezg zPH8BkOa%|uUYFD*8x|1JxqjCxnYCuCXd&~knB!nc<+sXl^-iS_gD-gqjQ(bg@v9;C zL6}a7)r7H%;H6S{(CUAJ3=;^~%ND$EOL0AuF}cZ2N0X|DNUvWSeKOe4=HGby%3l2W zvk$k$yNt|_AC?_0eWuEqP@kaBy1vb^x#5MYmaH`V)8OkWK7WkXP@nnzi(}vF!7}vc z>mNY3>imr1%(09tRswtV^}sW=oUbSba?0J7@%(~E)qckJIs@nR7GB))BXr z-hTbin^K2Nsgoc`Z|_c0j)@+_8O>K>u9vg2y{SHGe1Z96Mq_qnm_2zC}#B`Ip(;h8fi0Xtt^XR z)7!7HhWzhkX*3(`jYXX#Dfld`!|BZMYRJ_~GQax9>h| z_ic-R9FNK`r#$yB({H#;Eb**p%1you`|rq`=1!!8(MDPP%kd8I8p6CAAdO#o2V|I^Moe@mrWpUDSi>2=UxjtH7s)vvZb=Lpncqm3&6x|5H71(lP7^zX-oB7z z2+?kT;KZqWxHTzuIH94wP@|y8LgDhlswxp}FSLjCs9mD1x&&oSZhs%}=~0!><6rJB z5ofk}Fttuc=jn=%#Z0#SkNO^0Tr~(6bxWItEoe)289w=mgdR7+OT=bAa-IA7?d@4u z$moICEf%e~c8_IeF{l>EQ91J$y8wDY+K$H}M6gx!I(pSa-M?;}S@FzDNWiaF6F>+V z_qa(vazqFfQJ-3}$8J+h}W;g~J zXo0=;wg)ZmLRjdkpqB5P$cik>7rcHRM<+r{3L&{7k!%LfbKtPq<2*M5%`)T^&v!2C z&@^(v6Ue4MoVI~Bmh$LX&DEicAK4y@jay~SGL$olf}6#{2Q2UK3iW1KRjGw>REXob zBn|+jzpvk)=?P54Yih4yVw=lq$W1lXhj(mpt*k~u7sq*S{WdJsceEvb8TpW#~*XD$oAm*JAy5^g% zq|wTSU)$bfOq^F7)6`+0o}B%obWpo|F%Nfs{`&IErFI8cr9l@L6gUkBF zSm$}o_}=^X3>Vt6B&_c?ejQT|jn&N%(%yapFIjMmGfDfISgXw`^wWjHSpku-WaQv$ z+rt%q56r`O9}sWA-HQr5y$)LUiKYoiJ{tw5*e5fN^&Jt9z-G{L&UlvFcvqJ$4v+Vg zNZ!itk0zpRazUS`bZxx9ZXTH|B_&m5UXAx`yyd(S(%ky&lDdE>uqFoX4JJ5Pcb|l% z`mFCdukWXrV^mO^ryIPYhzFXl5GpaZUhHY`>t~55n_RFF-L^kqF#N$oU1QptU7Vb3 z(PK+I-0XHsa*L^e^)*RlRaC4|wXxSeCUJ<+bOUkhdI~FYPiky(}scOxJ%Ho0Pg(NzDd)cJ$P;~T5n3lA1Lw$YRRk(%2Sp{kH4^BTUgos|nw zr~V~=X8q=e;Vu`vgP!@ex935o#$Oy`{C78}0?2{|qkQ93#u;6= z8(+TI_>aA{OuYUsJLHUKeRc=};1{CV8g#hTcAd#A<@98t^yN{$>6zE#3XQGX@3mtI zky4CXN^j^_k3&*~iMx+h$6&^j;PL6bcPV)){QK%jdniUCy+X2oC!*z-Up3dKxLSXl z=+Ji2{oxsPj*nDj8;~*u?Ig=X>p=hE7ic(ys$L^c8e-k%q5sU2VXGE>dw%+FX)F`lW(un zx(#|b|x3^PP#C*HEKedV5CIQ>G)sU6{rI4@Ozh4S5Hzmaf%rnDJWV)SB+h+$%9o4pATX>)^AcrNrZ@gdtY zz3WO{KXH@&lRQS}#6N3|UxT{|_gm*-4+?o66tGINh2TOkk)_RowVo!e{<7S1F>^L0Jr8p) zLq?Ffsh7Y6PN~n~fKZH^-IxCQH?eB(_;7t_Xh| zb;5;8$Wi7~d2SXw;b|xs?bYTolljuuk7Q?Qxw&7kIVHd00y#7^-7rppBf2v@HK&X9 z7_t#zZi3(J{GJ@YJZ$r&QdPRgN${XI;TzW6F}ZGf&dhH*-aJvbE%%*8;u#0mh*@f; zEUx#5<@8I>8~%;oo4!BTs_}YS|Kp{Ow57{i?d)?YY*9OjTT9`Sk5#nJ{!}9F7l_?= zSf%1UmsJ_8hn3D*S+!A*59=h$k$3GvNzY{lK=Oeo*cU@Fo5QWFo?Xrh30+%Ty4Rpa z-DK3Xg`9DW3*!_k_%so=d_z9m0!90K%Hq70F|FElxgBGFZ$Im1t9OhR;w%* zCCnT44jQJ7(Hl*tGw=q)sNIEMto-zo`b42*Fne|RSUaY%aO(DPXfczHe81MJqyaFT zwqwsM_nU3~HV}E1K=^7#2AP(H*Qz@i0f~ndeWy)`23%^=Lm5Ulx=x23tTQqM8NkmO z&JJWpTV5~(yLVBUzNRfVlmGNM2;8Fbhx$_TE+m)j2b;qmx&-Ct=zlq6wuz0$AN6J2 zn-v|PKAboMlZM)kwKpQk|}p^NGz)dOvw^ zXUvBWGjn)GlcF)lETwpF@~@i(UHZTPR4#z|j*H)s!$G2Y{_cbgN%gLl-FnL`*nQE- z!mfSwWFmFB*PF6LjeP%3dUxaxZbpq2eDU>~+XtF_K3w`lEhA@TsHzi!NkR8%mZzd6`%0I)#e7gi~K0UkmHj~nTLbZpYY*e zTe$f(_*Gs)=jc`M(WCWQE8Vxp6+5-z9phcJjlb?r9QcId*G41r6q`kVJu?|IOFFmX zzWPt+Jzm3oZFf0UgXJvam0Y)=BQvpaWHR{l1sB#a@b|F8VvN=fxG{>%E-Hmz_fj^) zjD1aeebM}^;+UkgqmVm?vM7&G9biR~rFELeo&8Cs6JOT37=6F_Ox}HbF@jOjG44E{ zYII{XoV719TK-NvKC6@oLfq2-J(CsT^cPT;_3gCI)kweoZxgrf$p=4oPU(9IV^9lY<&XN$&`tO1 z%0ut`6~9%kndZ{>f+cq9=t#{li$HL-DKZufwo7zE8gdLW$(z*sL$R}gs?Z^{NzsD* z31zN++y?}!j*p)FOVgum`Q3rh?2sX2XpU~QUvU;q%4A3odcqL~*E4_e?QKqzYAHm; z0~YWU-*NZ7|0O5Hp*czyLMZ*^=RnZ;8)_Q5FNdf-#R=#Ot;0>;u*N#J*jp5cHC^2a zao;Jj;HHY#V!oZfSNigMg&yAZ!@kC#y3f})p9@6&ZTXwlj&(tUS1v8Gm$4|Q?J;o; z?#eq>nO!gtj;`3Jgk1$9d9w(dQGovTOI7^8^jhS5kS7$o=+dM*-EK|XKe2P>s}S9c`U z&u#vR9G~qkzg-9qv zqE&v>y#PVKCi|B+46~Hdwl9n4nZ{@72HOcT)15GNPo>QuJ=6-XExi)knYgCB+Unv+ z=M%GfmW;XEsq}Jyz#%b}|0}{0cq+lL7TeVAPBWQ^kNNZ0ElDJNyr5G$zaLDr9HCPT zL3g&IiaDaU)cjMhcBEkb%HTU8Eni*ucm9%2cfk(M0mwV5VDIYYOE%rZgO{t^t&{Oi z0`fM-rqX$bx4#HsXI8|{cgq}1Inn?tub!J_hEB#+>R3A(?0sidYUTiX*~Rv(&cMDq zPlW%|G|#;t?t~jPs2;G)Txycy{cD(IR--wzt!uv5I+ZeUaG?LAvJUY?#v#NF0OrSOLSpD!=^UhwNLz49PAo|nu0(@^1O>dsGf zV&KAuwTt0JiB1NkB1H5On-@;h#G(`RWoW1Xf3A9bY!vL!1m4E{sp0S0RGXA=)iu{E z9|=m3H3Jbn2pkNQ%mWPH7i6N&YX8{jeM1HK)N(TG}qRV)i3Qf zM=4CVZMo@!x4%$2+$6FjylQo00mbZTe|A5($$m*j;LT3DD8o*t!}kz>Hr-ieI4zJ> z@p3Xb@=M~(N;U>g8yrPJf5vJ|cbq4+j_2Q!GsmT0w@V4WWSN72Mdr@AJ+Zd3CwbcG z4Z3|_Q41@)bNnVFZY+>r*PKB30TMC(WOg^Grp+|ffSekNMJKoHe3e>)$^~NN-hU(y z#ezX^9_HWq{>|X zAyT#fK|z^f%j#ND@6Up22%v@6>`Gh2mS#C{WT36nmi2y=-le=g4*b^ta5+Dv3?z`B z@HTPyQt?u4wl|6Dp6+eir$#T;V$LwVTEDsfQq@5j50SbCgB)109rYcx-#$)l1ZhV- z<30+b9hcH(Y&(n9hbDX!C_aX-7tHObrf~KUBR0q82SO#1wdBUS7cVF8+G)oL2@Op* zWw@bPz6Mdzv{Co<(jwyq8+zaTd`z@7;*eqZ^v%eCqf}CkG+2%_&64cTlGNE*iE=9j zg94hiu!wXA zMZN^ItV)r6A~xNDys#t(+nQ&31R&-s#d}ozIurDy*DR+zb%_T;W02+AI3b>VIWG7X z#IO+kd0Y?%a>FcDzIHbJc_UG`qgViv_1~61J?YXgh+vn~J!UI8KO8 z*&<1vxC&Tr-S}$AOZjY(&qJD2-$XS3nZ0O$i zQ-G@tSI=`4b0^MSPLK)9AO7&wX)9jEclUAkLcbhD*H5h8B2#m*6})99Y2=oYh(|=>GPW^0mq>4K*iz9o1dockx#r zlOH2f!rj|k6k=|Q4gU|cl(?CpFI`Kl6>||8>}yc7;Fdc!h2RJ9gle< zT?(#oFDI~;)Od3McIyzJq-HvN<3kk2#_&gab){atjh_BZ=D)~(YK(eQeIU5V-}Uyj zpu&RqhARWD8mmz#*&jJM>DSo&tH%El7BKTo6)}9wr%y9u2+W2H^vKXcLYnP*#xNm2 z4iwYesFQW4-nsBO2B|O%SH@0R&(Qzh62kzayNeNA4!zc?0Qm{U*iPMat8dP3D0T+B zU~XlQ6%`cMcfESisb#G`!Bcfw!$8wQ-fyG*^$z}>+ge*SAJ`BLL>gb&t~byEl^oko zMIl6ne*$&(wd5v09aoSb?CIhFhb``wRZkkz`>tILT26b{@ndi@ix2KKZv!Y2F*87 zVaP*jM!7cjR}0^i?Ii|x)bA5ojQ+Jp(5gvereW1e!myL>isF!JAay2f1oNB@yZMN- z(BSYK?*=6)LB0}o%>(OD%neL>X`|vcMZsvNewVa{F+Pg|C0({33JC(;-r2=cN56nS zuYWkuWL%?OK8~k*r^&upAo>4|wq^=(o`=qynWwy?1}==wkMj-!0DAWpwLtZr_am28 z>iS);FRPOutbxe;v>nXd1=zy8^~~B{s?$6)ZgakBjb%-y)n?7}u>O7M?Nv&ZSS(PV z7z<3^{Qu`fJ(A9ae%iYcZoP(4vm_7gDQsSAq>KZMDD@kMhb23v`C{nygEYDff4}US zNp8BhKu(a5bv}LlsPpInbN9qtF5!;2R_fmG22G8U;@)FLf!)LOF_waMwhip6Njdcf zfBW*mAgIZp2T@u9<>jR|TkfAfC7B&jzvb5lDd~xKj}Vi5T`l1D<>JD9w(=N}>4%(0 zOU%Nj1J+DnS>H<}>B{v_zUwK_$0Af-`hGu(E^f2ooh|IP3}l1l9%fn^n7*>QetsLn zuzf{1gHGf$7tK?e%cOOVxDEhh>Nn5H_+t3xrClR0e$d&~y!QC7$gLvY<0dDRGDptI7PJ};xYac#UTxK;bj1p z`cX5KAh^g{g#XA1Kf<;hdccNSTzst;i_|WUXZZ4Opnb*D>P)rI9 zc0PD_-MYQfW#XdrOfWleCSNeJWoN1}wB=(_9RM-Ln)tL9VSkRN1!c$T-dOfT6o&X1(ru0!j}N(mqb6ZrzolNE`$BUvxxXyie_3iN2L`8EXGD!bTB$$d40|hPo=G_= zQW&~{$UiJTQ95RKw4`AUB!XLd6~Uw#d^9_nNPjD92e|GE_9Zd2$DzpoyKN*1*qydk zxOu?%pDd0gVK?{a#{kzBqKE@>VvlYzD!g}7b3NjLzaS`FOjT^3WpAZ+dKL{hMLn%e z0bYe>pA7ft{_?~k`30G)_0)+F^5Dx#Y1X8zIwrp*f`1=BGN}iwr5F6)z4UABY1BYc zN~HA3kbilO*)Oya<4AHYI~sn^D7}(YQ1yt4hzo1#zjHY01l|Wee&BuZ&7hUaO1-40oR z)OTiW9-FP7-O@dsTEnxycA`mKJp1FkQS@o)gaMH-xWg}+$D8)kzj1Vql`1n7C;sNn zUk8Mcmfl?k(13bvD1qriQjPtiV#B)gNtmPde?4~QJJKt+tlnrFIb>oUMSU<&Bl=gxA5w$RYOX5~|@|*o1 z4hP?cCv77)9cD`iX7Go?Yd?2z_+q9d%6SGTw$VG7-zlW2b#*c5O!uh`KB%Kc@kE2V zKsrljhTD5joZ3()D#*?{cWx)**G@se8BjjfFKdzw)4G2T)P*9G!7NcEsjPRG(#X|= zGC2`}_R0c}FMNf!p6*$yWzGL!wiaH> zGC=|9zOi4SP-j){uR%r`2n~;{@XP8k4=PGT^a~juy z3Im;Zsh@n(nCgR%W>}~jHU^^efS|>Gj)^VcWP*%Y4CdIW{=c*Lo-X%4r*9*7?GfbJ9qAYCA<>9MDka(2@c=7?v3jXyls=4HWNhASeaJxQz=aA zndxwJw8_PL2Ccn4DEQK@l-7y*3)WdrS3@Rt2!dT6@%#MQjC3@;vP!IONyyj*ZL8O} z%kJnwl>%H+^$|9&7Uv~E*rNf8z3naY=Ra{GQ5y47(&cq~WZEVoAld9Bh!0ICxAAmOQq$uFs4U%48s^)h3{`zR$Y8?{qIfYew3?A%|PW=kkIKM z-8|Q%yzrj~#;m_5LBW+)qLkLVPi`dDfH+V~$@eIsv(yvURP&r5VaQ=uj>C(C6-2{7 z*|!s`k(28Y-|pk{f4maQN1#Lu(%AvpWLVN^hs4(I1Nm#)`iW3{ewvJcqvOZX5^*!6 z8ROKj;fQ^C$anRBwVD^H$KT>K!~QO9B4%U~bZ(AmIEPyR6`nW|u%Heik%ulFo|OZo zAH*d`)G+$db+P0!gRD>6A67#SZ!o9ZGQ^_ZR+jJgzAVq&?nKUWOe zsC;;z<$cM7h)j+Z5_%wH_|@y}a_7OiHpyv1Nj1*b1s#iznE_R~&_xv(#Ogu62Cp*H zV_tU)V|~Qg-?wcc!`)+_-_C#hR`T*SD|<-Gzl);Tlmd+cC#CqX+1uHyG(}eO>B19% zK884&5c7e!_Ey~e@4i3MVV@J!dm>|KX(2EM+GMs;hz_WDJ5C*{oi3zEz-;m*hz~yG z_irc3%DC!eUC@3nEt-Aq-gGkCMN9GPJbonA*9#kbAjs;3AQ1ZMB9S1)QcUx~`r%1e zO_<@bV5$P=JafI=)A3h{h`tQL^T6F%c3~c=mSZ^$>#&^L5AW+hpz+G{as#6I8O5>C zoJ6RQe$hGA4|<<7tZ)7b#edkSKCX38-{bk=Ke+J97gRB)JK3O8TL7gHlAK9>3%R9R ze*?BSs`R(;L?v7%&>y5?ccL_nR1+w`kI!GzH+MzQQFaGC0mCexiK3we&ik_Yr!8%} z_@5NgZfi9L2TIxh$eSyqNuSW3XPz{v6Nmlc-1{5Vq7R4XRGKijAgr|N0_ZI|CkWB8W@&H2I=RtTuE# zF~~AW_8tc4-`Ops_ASSe-?u@|rXmT<%(pOVVJbmJY)zm3AEw?qEUNDf``vV>NJ)bT zh!WBr0wOIS(x4z+O6LFqf)av&fYOZ&(p@4Y!bpzNT_fE!a~9v>6c;zq8w6;f8FPh3&Q`a>&OcbVz6qWR7Hpf8WLOuCdFF!f_X5j=A zm|UR0N3^hFRp)B*(?AoP1eU@9gIl=v4{mzghIlYQlG~A8MF8D-@wmdb6fKe*}duiL6& zp$qNGxB(gvF9I8Imb%EJir}NN8CSIuQ5nPm#kg7$=v_ zM%_{6*`+|^<$Cpco|OJ$y=>>3>3ZR1+-U3qut*47+5h%`etS+O)k|OK-e1OnrHHC; zwx&t7x2RwlJFmiDzHn`zm@TCpyueE~>&&P^TRe#^8`t6J{TlQ;& z`Jvv|(wJPV8DfYik^Da6=z#Xc}pbOV8uVP4~gWdLYD}3guY&`Xc6vWe_0*kC^vWKu67aT z*!O*>l_kFW8r+V)r@YyMV#*gFTfDt_!^K`HbShLTAC`b5m_KzOGYY%Uog*pw7|4GC z&F_>xAwpL0f+2G6DK6M}L``6Tw)JmyXJE%)GeHU(Q-@WpLR%^h*5Hb2^*K5L9;k0y ze(XPA4HnEfvRyloYoIEZ=Vui#k~o<3er%Yo$vwL9G0^$oti|hFEqQzsT;01qxVF%N zN9OTHoyu_PlShv?m`IN+&CGk<-*!SN5yOP6atel(ChT!1ss6^ZM)*E)cusGIX-1#o z{2olMf)!&lW7Bb=#);ze1OqJFY405sN?bzhhd{8X66&zn%i6i+w!b>ON?>h|bHGzY z)-@qws3)Pa5zalD{ejB4BU{HVw41Vv*_-zXK^(TqgpGPiN9=LIN)R8mrASL~f@(oz=SmJr}5-(}CL`${2>;vi^ z>Mb|Hxzw+VusVO=&un9h?k58NPQ)IEG`NFeQTZgB(F+D6VC8frak1^IDDNd#!V+Gl zQq9M5{*#ZzJ!sRwya~UrLOnysrOx+@gHaXz3z@B+;6831Q;H4OSd*?q<5`Df0a|V< z9}B&(A;Lgz-u0H|wmc=YWv)ZhZR*oHol`QI>en>y7GShmc;VCi1QXZ95gc%*!GRoKX=9EzB`$EOY;L@C&zeza*Y$ zfT8Co@5DpdXkw<5-81z&Du`PZGb?y_3P8GnbIurP4F(nEn``X|Q!gN1&~W1vQ6}=J zt_5G2LS1Oa68sHRa>}3PR|B%2AJx3m#@WsowEU6k;ccwu8BXFBi_Cu9cimo1?OckZ zR_UKK1sOZ5Ko`IZh(~dEFM|VqD54n?lGTS+pW*;{vz2c4qYo2+B;(e^BW|4FdgM~T zc5|xHU78#lh@=<|BTAL@*wl9q5Qo2Z?ZYv12LY??mj&fKbzFlgdepdaav3byicX@C z3%4c?er>PA*Fpx-*kJ{R@C>uHq%H6DC|kf5aH$^}{ztQ_SK3O?hckN#O3A;rKET_Pf$(Q3xF2^CskjR@MS-joOy$@ecEoq}4`6O4|}_ z&j5Gzun^Vs#m+=7GnE?Rvegrm-+x+` zjB5HQT8uik7vYOpyuAD@=jQnCWqKhPLDq+gknWl~@#fIWZ(my}CItnVo=eRPz-GN) zC9#+3_WxvhF46578iDT;^@T)S)hvgajb3nlqD;YI0C%JAaiL=`HXGtY;Uj8XEGB|5 z*bF&Al8&n*?8DU*@__AI^{@LHA8c@pGi9?yuQsrPv=X=;C8{U>QI}GGtuZhztzG`hazUW-}`Ck3z z#8L~cdTjcdU&)6W)d#`Cd~JMZRf}cm6%J0Pt6rsc@lSI3b#=|1!+wOHXk6~w6H`*m zh8bp`lFtoiSZ4F+Jq=Jd_cC@JQgjkwZu;Lau$$HV%a@g!wGpgH3npLB_EWaNPbJmP zpK6gj`<_x}MaFrNSX~V%SV`(Hr%?UN`-{(8E$RbuN;mCAejZ$2Ube)BCUw0_*Zm)V zP`^KH|B$gmL<_Q}Ck_KPEXhLl=@WKXx|WKu1P3y6&SGF6SoA*n7!NqtV1X76@913J zR%hV1I%Mo_;Og9ieupkW+IQWaQlRNxS_;lkzlRGPOfav1nOHoAre9r-hL@It(zPy* z=LKzF)z{Keuwc~x+4KD;G4!&!v8BbV0$KBDRHT~!25u<)-!dlq>GYVOLCVTd09VGU z9HO_*BN&`auDuiBT_PujCDjaaA=}<*cXD93l4o3xh(A)V;N2Jdb4@tjeoQn1g)>PK zYzGAD+{5N2GY?f_z-HdT_vtTYjJ;T+_7!uRb~{AQaXp$ zMfM1f>C*2j9gO+&G`L6PtiZSn1T#=6nRoLr{D%?Y^O{N=V1(nl(n;*sT zl`Q&MxZ1Ri)V5nXp`R@6Wg;%9SPRV35Bvsw9E50ic#a}UkFoxJljehpJL8DG-cXI7 z_r6ts{j#rV`~{OlTGCCP$JO$p{Lk|2Yxa%emcZ&f?x=D?a_w6IS`8vv(p6UrXvP91 zLx~6}Mp>b%!=vy4T&x&u!-&GI?u8>}ga!KAdT+^pK}1 zmRUg?Ij=kquIzjnTT39IbeIfJS&Pdd3j3WBuFZX;OOS;ZDh5Ol;n=HEqsj^WmbVa? z9$fe1ZH<9$_I%P0O<{}o?==qm)sBsEA)i#Q$9(~TlDP?IvAi-Mwy*yCb+9XMfcPqL z2%&BqS!!XF6@0?%$z0XaKBUj=o>dWCo{`#L`3C$SSM*_DFLaI6( z3F#rqhHlq-)`o<&&r5%DeXY)?K(oX7A}e{VY}~o=$E)Z;{5TwhGW~H5G!NgXP%P8y zeVe41_&&)doy*QH+T~6mk)lFkheyXj-@(R#O!I&ppUlYlgis0imiIy<@{ilLt-_i77@d<&ithp~xQ8K=GCUW(@+ zU)o}wk!o2w2=0qomnwQca$rylJ^xX(3h7!hzdB1g3Te>$npb8{d3+=r)))P}y26q2 zRVaTQ8{yNkasSp;30JX7U-YM27c8Zwc`3k+N4EGhbrgR#;K58J1Nxd|~WL zpjPA4y64MJ7-mhcN267wzZv6Uudb0ecBXZi(Df#)&_N0za7tX<@crcK8iY_vv2~$i zLwY%URilp#a<%h}-*B4}vwKZf-FnpC;~%bta*W=4`^CTihvX|Pooo1^YhhQ&+;Ow% zSO)Ae#6P^4*yq5Wx8INFQuisx49#GmHyOHN%w(euQ(1bcI*vx^Ym&(V`X(+JvB;#) zEn-Dkj=G{`N&RwZGKflx7p?dd>o1WcvWn88ucN*Y3Mq0ZTkG)lYTr}v`*6G?*D5n_eF_@3O9gZ9%y6iO?2=&vPw{_o0Anz720KoRgI++ zeZpLlN*^s4q$_VV-Ex*fU>s6|eA9mZ;Fm@$Ixvxj#a1@zmYOBvhU#Zb^B6sO%AvGs zH*0waPAJ~BN1NMjkJ!J9PDs#KyQ7v@IU+vz?3~&ixX>+d;k1i{xQE6JKl??$Z*3BkbTz2rv4-~ugmYZ7W zq@ULQE>AlSn?&m>ij6ZBIy|o5LD!%ph|53c-c`}lMd?7-4f=+uEwPN)C5fwF4;K8; zf`~Qvk>#&Lo)b1Ve59nKAg4se zNFk@D{kpK2xf#bUJQm;OeI*o1fCydcOe*?Tj{K+GznUqbn)vHiTKVTJBD;Dm3?^f+ zyg|OoEZD3(aYfjq{BmW)xO`-Vy6mREV3T2(=fGhR0r}^Ln$Lx_^SM5(JR42yw3;*B zJg_@Ox5YPbEl{NnrLGo3_QCdy?G7!43}XHV?-WNbMX4c&7>URoqrwcww03f*qN1DT zgYtjI*1TlP$~+7|RqGnc4^*)cs*c**^4?az5!r}} zcJEnxhk)n$Rtnoj2E@iFa-rpt?hxLNZ8k&Yn+dcckZ-1Zi>L@|`b%Vu{AupM#rYW9 zc_(1JflFSO=YjZwR*{3HHT`w@%MtMYmoYIgSp;XVA7(&AJcCS>AJn9fM|EkuxAB0a zyp(wTmJCAwb(sD(rY~-yYpM|AzmsO><{>!wl`|=Z>wdRM35~DR7r9e?@N@~WiQf&o zt-n07Y^p|}Z^buZ?hTwDRfGf?;dr)Q>`)3@fiB?kUG;1pB({~?RbD%GwnAlRK>vlRSA=B4qF>ydj}_<$$)&n6k1all$`U zr`@m8_)|L_SMH^rJJwp}le8a6M6E_JyD4&(9TmM(6 zA8iOthN>fDNh#XLpouy1VmE?+=Y^f@t-Z=M(r=**f}?^m;e{(zEgV?7G|!pD+bq}p z`PGGBRnt0X6c+n;N_JaRE%rRq8VNsnc?k2l9tvYT^0FmqQo4-^Z@^78RRnrXliM{E6 z)=^3PulHkPeKdRd%WZ#omhJ-*SaWSVP^Ctl$?pKQG)f7{PWV65HMeAQQ_L0j!$${l zCCEDznbg5;T|PH7i;re$^wZmnvw_&}Z6DuYf}VvgsKP}xMf_go9DxqpT?JeM974>l z#vL2^jmiQU)b7q&ZuU6l^WU{L!YYX0=7iK{Fa(7m)STK@+jt6=3vt##Zd&+BlTjZF zsTHuZ`-QoP=x_zKcz((SDkhQnuM5k#;dKDBL;9W&wt+;RO|85&Njeqx&sUxlG0qRE z!m=rX(%veQd`kBj{`5^5>sxo7+jdC0=4XyrI}aN*U_-ziC#BbWUCS-hgw>Hy9wmcg zWClgXm#PCpd4uoI;zqU7If7~xR;X^fGspaK3mmO+csUmIN|0VeOL=rV;M3OYkENw` zQ}=4`Y9%hG>`Z&j{HG0{iwRl)6v+3wjd2wJ%lTkfr zVph?8)YE8vUQxN-brok{JwpbQt+yM484 z&*&^hiA#g`owA8s54X3K0hRUWgT-PMbEUd!h||?5Fwen%FFG;CE}}rm;he014EPr1 zh+9&*0pUo0L!{W{trQ!JvZi`8j+CyP{N*D_&1v?mP3GQy2%0C1PQMp^`tADMf$V>C zJTxklcYqG`%9wDNCCfK)c*=lJ=A(Gk>JK8q1u~c!*dGxSV{YTZZjYrVUBkGqA?XX0 zDzY@tQi$#4hCpCgx$cXKIs0@SP-rf6i1TaP536N+GB^YQ!CCF^Vd~85^Bb%lDCN-}Wpe%C zTOvoL-l_2BS7)~|9%q$i$tzWwMkVcsN6Fd~A<~EjQ!IDnm5wFy88GPSy9%*Hj?W1! z-PqkI3m4Wo@~y?YGEUKht^kCd!d21==q(BLL{D?p$>W+*?j~||$Mi@|yZeO4*0pE{ z*xX(`Chp7;ZCYoFIat#%##b;L@3cx7dU$I`;pOU7x`4I@M0{>CNuEy8IxmirJAxE z75tZ9mDFy!Gr@8Jte{d^K|k<1za))o3|kuUT9HyUkIJ=2NQ#yF>d_*2TRw5ykQg1j zFOkVc6$D|4)YwT(2kgPF5^f^8yr;Sj=v{E0{)_;%ZBQXTIJ*=_1RtavwTFB&cKbQ# z6n_{@$VaC~6R~zCq9v*okPm@=h?jXOLc7^DXzx*`K9tb4^mMDjA>HQ|<|OB0?V^z9 zxYfqsW)&>Hp1NARqX?erEAa7dNHG>5$f;DxnI^sexKx^3tEj)ZZ$=?o+U9nLwfpVW z+@U~f>h~ud#FvRiPh)CpddezWYi5$~?$}(nE_umF_vgLV86`K-Iv-|#VM;XSyJXu} zC}Q^t--FW$R!tsbudQ)wgMR4(N>^h3l$9|`9{`_dDrw%psUmckJ=7_ z2HhKO#V2nV)VR1-7Ox#RN|kdb%}Hk5OC1m-og#!eq_YN}?jj8x%6Xhrj7h$O#*bfH zL0*}1K#fC!tywyUdb)%v4LfO6Th`~SRNMXonOaP*BGZykK|*T*W@VuMleUL9{#1`I z>FBi2_RwowEK;1@w@us1S#PJNHzSoImgv@|RhK6?>S^6kinXeUf0!$aKrho&i`qAS z32QXh^LrJ)rG>?@%PCSEl;2~dvZ9Z=b$c#JtCh)qn_xsYv-V!!g&yHJe`6;D)3rRX zx}NM;>zNaKQ$Tr-Gr0Q&k@f9j4X+x;f&m(h&yseK{i+_UBTU73nAt=|?GD8B39TOX zuuZ<=U&py+$dyti9~6_j8#L!-t~DwVr;+%E8iyPY1~xDY?mG=v+tNW220a@)h#LJcEdP8d%!>)#ghCi>(Ypyh~b-U|F2CX@gH)7-RGEgidt?=xWhRx70qp-h< zpR^0j`qEbwOJPPH)VK1w+5xkkh%fs#cdnOGdH*B{KYLa3BjH0=G_!X-u0k2sxxU83 zv0{gPs`kZd+rkP@*ZvQXV2Wx>OonZqR4LKxH+nGGzhK8O?Sn+A&=^|s2O;a7#CM6Y zf4uFbj~9}=lJ4mkEyt``*H86V{qisa%1g?_6bQJ}#JzZe9p1^t7;9kIt%XVpTr20S ze0?ju@Z;~_Y2eUaKLtD&&5;|&NvnSMVq|9Q9rCt!jJmVG>|kpzW9S9_GceVx*=49U zYl9TSIMo&B<09t^WIGxx&}}U(&egxX%;T3n6Y*oq``ug5L>0@S@^ z^Q-NqIs^h^tT#=F?Es}}hD_pOWsv!gidrJQ2C5>v7Cfb7<>j+9x#Rh<3p@R|f=Rnh z>u@`UCoKo6g3mYZyu3PjJ4>KMM$fHDLOYHg63knb zbGF$U1ShAeA))18so)tFCQi+%deU$^>gJCE36t1wZx-kco=W$AZc69Vo$Tx}4f}Z^~qrnsX3XFJE^vrzR*CfzA^Ss;Nbevd!{K^=>{6+k}sq*MaK2LJt zRXgdDK9fFz61WcR-~bgBO)LW`z6TQ~OY3!^LrJcg#!uIbh}7F=bdgwwZTxRDE%2kQ+r}f{#SYO6#$M)?Z*ZlenI%p&yWTPBw*(dgyU4#@gwM^(UnF z!~0_SwhT@c|7Z>H1O@d%pShruPa~;Z>YGi4ndOJKnr7qG_C90J!|}8I9VgK30*ABb z1ldY1tuWfJ?2-DKE`Q{g)^0x4;4fJ|(Z#XplW>0k%#E4qR)C#S}+q*(O``$4OwJJqec2TBR&i>0J*~xDyZ$EP32cAlETuvgk zvj(-c+veAO=PyF?1rB{3eAqGKX&K7_V%FTi8~6US=mcGZeN<$zF2W<&IZ9sEmQ05Z zy0$nr=n^#7iY;LO`sS4}{(yq1!^DW=)4>jgVqH@^Ou2Q>*2Fl0#~-d1RrB0w>mp_O z-bSJWPvIVV`lXW>t=m24m^*!o1gFQL4*R1ef>{UeA_TweM|SQ78mBB%)$o@&qyzi$ zbZ$vEU|L)vzBr?^)K>3=C^J8ulGd7PGpBrWXExYE^6Oq7T7GP*UVik7e6B3-W08Kf zGzHVl^S1BUgI~W!IlysQNGo)IJfpc0SGH+#pO|+gVx6u9abTKx(e5t0!=e~xIx3=; zH|#7XEiVsb914`UVQjz6?m0S4+F`l>$xH4@Ftd=e-ETP z`ulge_y}=O>|~}Tv8~VsHEc4f9g%u4?RYo$o_=-s4OH-4r|)tt>B{tF06w{it|;Bq zBE^)tJ^|ob%9e!v=CXTmF!_9BG+T_wsmsnxV=k(-aZ!umDyoJ`@s*7JePXS%!334J zua!UBg$5i(H(L#%3wEkk6E?cX->=Xz!o!9iw29U9Mkqm)S} z2WZI3iV6b&@OH7&PN0xycT?rBWug6wOY=#T&98;~G8Y!pE3TXJvhMSTVEetD*+pgI zHA5_@o~SvRkN7U4#kf$Dm1~IHivR64-{f^GR`62dbMWUO`5`*_`-LI?r5RG5%a2)z z^nMn2nUh4w{8S6K&yH$Z#(Gd78i`dQQW_{yMn7jR&pP^}-!{e|vh z-iRsBb|M#{vIIFU7Mw)yhn0H}-{{}V+Lmmu8IeK9+ETYyJotQ5a0J3Gs$bqE%r=pY zFfLBgw|2S^xaO3-my02luOj^8WuA_w>X$Fj*kiZEfD5Jd`G|JROk`QpAMXaSm-zhQ z1wfVz0w{ECgn@vmg%F(AdS3`r6_0&UZTs*q&vIlXv&A?ML-|wKO}t6zBah!M$3w^X z*E^=WB`8@4p1z(D($7?`dORX$`h{2Hwng{(6YZy2!Gw@9wZE>5*N5^fnOemV*Z*dWB%ZTF8La+h-wLH1xqZu zm`X@5*+|B4yuz&c&4TCYoOZ2m0f_|U6HY&b5^)`3MDR931s42V)+czqeA9s1NANv3 z|0Nd!2{G96j#bTwXvrczaP?JPotJD}q?+Yfm;iJfqc89^m>7otC%|^#)tsXIz_N&8 zFEC^$2=8c#CKI9QXh#i8|k%q)5 z{~zte^n_s@2QpoPTOlL)RNXTKAIrVw*eEf-Uih-i#Y|=J zdzWB75NGXy(_m>Sxmt6)D(60pYrW~*NtYm)42v8l2S085SfAXuBU~X#mX7BXnTB63 z+1M3SiB|6dGZ((P&zg?rizKjSUz0!XS<|f5?;NPxdk>aOyqvyp? z9dmDvt0dQCzlX-mT%k1~GGd35kWvNtc)rXx#nj2ru-q-IMZaxFI_?2Wd^NvQx~ie! zemRpx9)1Q{Agi^n@~^<;somS(8JQY-5tvP7Gy>hE92O%}d@GosR$(% zL<@XZIKcR3$S+xLy5NkFBRQ8<82x}huVKM^v)16~3F}9k<{HG$2MZY9A8Q`Jx+PP^ zy}H7Ua>z3l_`hh0kCL1$?!v*MpJFQ;6M$3B-(U59Uwpk#v&%RjIj0jxn2kBG6 zz{1~dg;9~IEdaPS!IvbS8XkSXX4BF~99-Ako435QPqB1>9cFJ@p`Q^B6Ek|e>yi}+ zb4!hmgR*{Pcs;<1tIu!?KM zzw_+ka4uO{MGkdZvrFHUE)IZV3_IeC zi%O>ABUg}2VW#|YJB`Y);QLT(O&J|vCZc~RLy;K;tbV*_OVUmL4U5L~jOpjKc0UIN zO!GX6IHwA|W7i^QG561{pK{E7Q=G;g1by>)5Muv&;dt;WWGUvg?Me9L+AVw<+n)z3 zo3(WV zNvgImRUG|!QJXRHiTOb7y>ZT?lhVBSyoD^5&5$1rEn|U}4mvC7lQd8B6B|lc0$0Y8 z>!(W{!7o`Fz}q{}&o9k3ZOzX!E$CE795Akmlr1?z9llLaHmQL*vShz-90Hcfqqi8* z+@C_}n%w`w8S;+OR30}>Aad}pKov0EAkBnRL%~YfNfqaGvaX*?L)eqJf zXMKH^fUgx1^9s(pA+K2VJ?3#RFZ243_~W|`AK5jYs@J@~Ol~)KEy0%XR3>9gmUunS zC;}d+HViiT30_&at;&TX^%V>Hoo)QwIOlP~CqYqrYOd{LyyMAp3>h0DRG$2j=)C8( zBP>4N=WMA^H7Bj@qc+M9WRSEZ+Nx5%Y03m^8fxCJ59E)(K#%%gIFD@OM_*`&=_D>tsAVG*(aM`#c?#83o0}sGnrB~D=QLZ)5kvMYNnGlH zURPI2o0g!*Rb^ll_)wQG_x*Rs$DG{Gy^f1ft>)zVcef zenV4&zZFXa3n3a7p1fbb|Ck#k@1@V$h82zrgK};{W0P;a)54&9tn}G2Z>~p^j&Ghq zm-sgGOGU>jslCDbti6^GPXo|D9@xX~1YKIc-SU?IS)=bvmPdp8OZ06N=Bb8;DYnz+{OiWZ8I;fn6#uM4V*rZb1(Y=* zwpLFzy>Gy$g^sQ9*&`FO`Qs77*xdESMUDYs$BR*7XcKF4$RXG}xCQwe!-|8a3$2WY zH)C3Z&5-Km1YYK2UJDZrCTbrxF4mf7iVY91+&{{vaH$u|uGe135Abyrhw{ZaAYgb#%Tv^q4GsgLs4(YKp5d zj-;VBXV$FnWq}74BV5W(X3hyH*=5%)zsV`G+11v%GEpqiZb0B27~Jfnld^)UORbbA{N z-pg!9mLq${1fJP{OfmK0P{kR!{8Mi`h7=8vLG+C4txvko=69>@4GY$CV*6!=%1=j* zI)M&c>=p>OSzEb~8*iVX2JPr$0qW8iIdfgHLt{Bhw#*hMAFScHZV~V=R-+B}+^b&WEw zILKHm!3GH*PsTsK0?OE%T1n_ag$2`+7@mRs#l^6|OGQduG=;gM36=u#LzgNO!ffx# z5`S0e>G`d1=xEUirUq);H+?XVrZY`}v!c-3-*BHkyPw*adgoE#=|@bSLQZshIn?(- zpO(^V#$*04XQBTpQ0fw~k{A5rObr%NJ*raiG(i77(013+L19pw@~9aJB>bg6Xja{_ zg5dZC2v|wvvZk*?@~9^s50*}uac>rDsjev!kFvJ-?^c8y5zEPX(UI?m2s3B(og>|z zVUUdTt|hosb8oE5_ReA8!46@w?r7G!0Q7?J;5-QW*2;H9(=HZ z)sC$-3ikEDH#qe}X{o2E^E+6{Q21g_+m3wux3fc~fa8~6Lm<&j4YR^Wvc5$bh{NQ& zC{~S*aGa=VjFe~k1!%?a8HhN)tAa`WyEyYj&vtQccuZi9bg)k;noXsWhsf}MAGMZy zYd{Gbn&?S6NwgcV9yAZ(v0mC`tfhl&JfFyR5s@7uS+t z^NXMGeIrf|P*>u%(c{F5-{N`ow07@dDU>FXmsSkA1?w@)Uj#Gt)|1~!=Zg(*W;x2) z4{E276$$7QXrG*xPr){r@Y)+_;z`f7-)~VL<&H_0E9ecm?PV^2L`ji4nOEE{S#42k%2jz(&gRiY+=}%M6rc7{zu!!sjXtlxR)!l z)DR7QNND?I@af_BDte}9v#Fu@UGDvuCjS0=+EdcjU%0#ynM^Ln$64w!W{x=8@iNsQ z2(%+kuIg4JpV-d+6nT?pU^uRr^#U_^IfBfo|GTSpibJrCc_HRn-xZVN$H9#DWA!~3=Q z6M%#6!F`<-=1GQioTpL5fK>H6^Q_pwL@;!fV@*#_&)z~SD?&fw$R)|_ z3LM6ATv3HZOkCz{_}f1>|V3}jQ% zQ{;t214eX~62W-x(#8y$$M`8H_*lg(9qayIb||hX(;|=$iNEB*q;-X?czktDl)~+` z`(P)=v>Di`;94GX!Ru>D|F3JOm(Tc{B?#wyrD;eb|1u)d`r?YgRWQuLN`cC1v#*v;_cv1(pO?qa^n~`>fxR zR^F}J*O2l51w#M#FMwBL*~2KG;gsF5+)zXWJZL}K_uV$%>d`-?I_>U69(Oveo*vb< z@6s`|1kDhETQo$@9MQkO{|5GWLQ?;*2phK}p!K|8q$) z=WFOqnOSx~7$oxz<-hU%WMBpx@)z9px2_-uuhM^ak`cc{5IP73F=0m&YW%@0ubMvW zc{Y>}M;^!gkDms7G>Q8h*Zg1bZa9+t_zIFu^_i;C8|`z6V9Z`W|4v`59~W6H@-(>F z6AHG-=1yOq>3dK%hP=t*kJH{m>p>I!2mf6s5qdg*Hk-bf`3})i(1*{2*kjP# z(WC{-^|1Z#UP3Ii5cCxc4(xB(BXFO{y|_m@6u5%T7E>e#G^ngJ^#6VXEQ@;B5NuDE z61E8GAuqao)wu2yVz)bCT@UR49;m>t7oabDWM%Npy@`cw-9MFnCqmz=V~6hle3f6D z0t6*csN&5%;Qxj4ub|%vTRt?fDo53}LLfNyzaMUoFE9n&3paak!@oC^%s7%q zi4yo~=o#`5gEZ5Db6R`te5h6J|NrKSZaNYOx=hAzxI@SWWx!9i)IV{1GJ_<(#(U5{ z69~Ojq|XHe@_N^!1d!atMa4l7hl9*6(M<+hK87kdoiBwrcxYKXk2zw51bH=V7&ebV%Kk|caP66oMGx3IZDCn0zNGuhbMeV7s)fw3cY=SizP!5 zH>x9T5N7jz3PO$; z36P9ZN?8Fg@3jTh2?^}7Vr{Ev7cV561T`n3^&e4fcvK7l*5ZE{>7&s$CcQ}OXDI~^ z>EHu|Fd4+uk)1JXL?x-;HKZK6{|HMrR}+K~m^GLSV2DBS8|s3UZdbr5l(>s_Ueqfi zmJ6)uqwaLy11F=~L@-eBmH?@8o6!sW1N5<0>AHq*7cHKvP?^zr1lq9*G1aBq`AO{% z!v;eg4-@r--g@B-5?|}F*+5*U`@AO)&QstEF=m8mv9*?owEeI#eVvx8N8^`SKjSLx z)BNmPBt4^`O9QLdDp}-U(>%Qh~|K_cMqiscBmTHDVec%I4daMXL zrX44S@hgLK2Nmu`xNoa!)-ODwk?R=NYj}qUVyFU|(+~~l$J>pc>s>wz$NX%%*wGF> z)yBdscT#Sm{5jN#5@;f*dv}BA@x?OGX5z=63MDfJdzLC4(m{_?%N->efVJB$@BpCS z$NIZ0`VS8_CqNb-fPp2L67lU_n5iMH(J`+XMk&u6Po^S@`T`K_`$ZcV^4;x;BZh>> zMnqhYJAM`+BBaobLb8B2ABd8so&Up|2|r*dht>2np}s(#%+-HqKV9r%W;{^qU7Cw!Oi!JztLqk44j(w?VO0SQNhXkSLK5dg~>dp)k*$wvyRr=~`H zWi0qbCQmP!zrGm5MmeeT|@g`Cy!Tm^S|+P=uV4L3Z{<p zQZQp{$7lIna(?TNTn)a~1wGsjL972ml`B#nvzT_lxN;l--X^PO0||CHhjud^5OLG; z;}OF^S~UzC`})}A-Q0%(^JZ4aB}Fk`p*}zDGydZznlz{;?Q0pBaSGP5UmJLl|9-*3 zzqT2R%UO^zPq2gkZt zvZjN@JK;{+DL8EcC;2nYze!r*xgFgq^#L8B)z&&fU!F_#_`Y3$a2`B}?bFpa99n(~ zjRl$$8QxzjN$K%ta?Bw>yeU!4Q|KhuX_u6Z$N!|c_?JHovDD3xrb#^zbMrRVqR71< zOD-RpM)-Z{wtP#llsvC|#!m|%a5$S9ZbwLciS9}tFZm4)E;7}>%o_Y8(;o)S^RGZ6 z^jVWxCS zM=2})HX{~;YI#%+iTc>{f+5kkqy>^*wP@uYdhipyXzO?$M%4WmF!j`2Ql1cluvAae zbnGx;Qa}2!^q1{>P)x|&?EGxR#_K*cP$ z`}!im&MGGNqb-99h&=;Jv+RI}QSSopXYxY^H}gJ7vXE3Wgm`oR5py$E8r^L}+$9d_ zaIAgoZ%Ta~TMkl8Zi;nF^U6O#o;;Q7-7v zzc(k$p{yZtTmQ$R0`%69+pZ)<^(D=-P|-S1Ln9!#=27eOi`3TE8HWm^JK0!c7dJ%G z5J}w}EaW$|-bvn%Ub3mL#>q!` zi=lCN!=s>3!fa5gm($dtrT#bKNS-m4CtZ;d5FNTNxooj&hqSM2Q~H_VsHT`)D4VgC zjZkVBxD1240yBLx!12@EZNJ;&x+370>GP~*SVYSRE~*r+dRBWw^AQfIV0QHpn$`LD z>FzC&k9hgOIL7JarW9@3 zqrZcx4350dhzZiiy-{TUpD-k`3lX+f#>dNlHy3|i<8Zv2#T`AJ_Tanh+Y3TXQkuFo$skWfF+UsGQf~Tn9*xru6mFHIl z{q~~A=hwIuJM{7a`rrGk!PBPIdQ(N3{;RoQAQun%nl*oRB^&*j!{v>?aHkan*uS08 zfQM8`L=UMHzacX6v5zHYHNv)WJD6TqksdR4e2Mc}`tYDihJ<}l!dt)I1aN{qMnOa z8UA??#E#!u1#$%d3M<7NtNNdhsMe?}A$05XrXw7l&xhQ%NqA`XuwR~Fq_*S$&Ug@e+B zc!)*Fn%e5+`g6yQS_4*sgV79`1Rxeb0dy;7{(bLMS1b|(FX;Q)JKbRW5q}qPFlmPU zSWw@vHk{*zB8-1Wo}{b8x5enWI(D2g{r25Ca9ZH!bh2~;cs5Wi=^8fN|M|)iM}hS% z+hHy*Wo?UoPU6eLW_Fn91Q9iLhbL`IUlwL^Y9@s0G-U3ehD`yuR9{fURaL#L=2HJz z<$PC%+*G)Q+tXSvd;RylXAgeK&4&|uL>R_=+;;k@`(cas-bExnee7|)3#dAT-cdIv zf)pvQEsrBy7nk- zrw(~+^I*aIGpey|M@{czA&7*gVO{pKNaRw{Bkcln+>-rQ+jIkUrrz|cdycD zPet3P6k+hB4oy-{vG+EDk5&)<)Fl;03kW1hxRQo*j%L+qx7Gx#EAguXXH6TJc9H&6 z-3_6?)^wb3jH=eo-5}x{FE~getZ3=e*_Bs2^m?UYi2mUzsBOssfZkpNm?+ec*lg=^ zB*0N)6zqtDCb(oAr#jfo@`JV-cifAnr%wuXjk53*={!e80N#IZ064TBv;dk+B9zw6 zc;fG0xLlAMWM_wO8oao19(>{4>q1#jc9mcY(mg@; z-w!_%r_Wk<| z-8mxNF(@tF9V#W=-I9WY#1H}k(jwiGN=gU<14wswt8{n22cPHnebx(quoi1(_Bm(o zIcM*EU)SeauA%a0Mi;4D5{sT>k|Z?+Ov9-B3jJEKIaW(85lhHGO!)Ji&qG#8r>uST zB0rb?GxSF$8kL>vG1SA#WIR`1EfE^8Uy=>gyaoBPq#r8`jcJs0-ko2)b3NU2qwI?N z@&qG@76SxakVJyE^p(BI=-uDn{NKs~^JAR^RQ~!z72Q0GwR4^a8&jF%6T5b|uR<$7 zLlW&gT?6}Gyyia;&1X#wJ<3pnE_?T{UymoeHHVi-Ynhk;MQSX`FS#?!tlKl4*FoJ@ zb1M3_Y2(7Ht`A%|phx%kMh%En0`b^mycs&js3bMIkDtf&UMD4r`_c@3nQXquolZS% z$lUN5?S;>*Zfmb($iuq@mD z8vz<7wuKk{Nz6z&K7(NmR9%NTz%Z{P7byrYc+fSzsx2BgGt+a?8K9X>b7)k5)Bd2( z^t<4TP8&?TA!bmCv+l-%Dqy`Zb{4>kQsH6gDZe}(s{a|Xy|^x;LL^H#3e^kE-FR{z z_OPM>32H^-g<`DWw_G)XQ3@W!U&ONyw z--~RCK(nqlJ0A<)gns_4`|S)@vKq%bI(Ng)V*k8b9LdG@v)_!>hlW+lnMHDAj`t1X zPhTw7zOSyAn(H|atxqPj>`xl+(H-dPMyy>Z_Brd@jKqwM$+NiUj@odV}croz~P6{}4OHA>Rj zFHnKa1jk|Cf#vhgc z2-uAjc?>AfrTO35`F-fCZNeV{1+~##Yb7PJ>Y`JF)!vgyNDjliDjM1DOh8fN4=X** zQAr*|?QRw51DkOBG4E724y!JC@(?sX>fr~5uD%ABps#e|_2U923OLeU9UdQ+!ww&!WCCZ~Cr5^$VR zd*7&{c_pI7<~tNNo56kWL*s5vTc}x-=zoFw$;Syj0W3c*Q~gNP0?0>eG>e{BvZ(dIBUcm&CuDGE^CP=N$(E(hR+oL8E%|BY{AnY~QlH9ML*Vw1YBmZ`WU9wV^fsPs z>D>{T#3>7ARs{mA2FlVDiIBUKzHB$Fds~}s1(v-}oz-DAc^-O$@~w5T95NesTY^<}yY8*H zzR_ z&vk@W)1y_act*aI0Wbu$@&{<#AV;{Siw=>6+J)l{9eZb9H@6saJdS*CrKd2B7Ge(O z-P)0c;e z;~+!2$T(@sG`y`65^2)`lws8=azC>yCG${(Ar%Vq447UYKNuQ)KK3?>%9swwoH9_y zF{qR@$N<>-jE#+{b&+L9w8&`Wq|_zj)skvjduq2+B?|N&-?6ky3^DZC*T|H>Yj1N` znuOik1$>-hsO3QaZ&Ke(sm@qJ!u{#Vi8;?@)l#`gS`}N(+nd|t%c1fod=X%_#|XJP zl(mwcr3$5(mEwpOIUoj2w|d(_zqo|&Iwm(9pW#Y%EO(s_@V}`EvqL!}y0B%4E0R>_ zu}Yh!vj3^PA=)t@F!LR{IQ*SARi$uzHP}k;VeXghqW~K3XNZXa^y}Gu_@+B~S7m{n zUFwl&d5L`s$V1PHPwqjdS0bA5EF46`@7iWb565=ZfM`m_F;;ff+ixmkPd8qE6)1fy z@p^qM+`{l{Uk8zu;V-9Ej;245w0Rg!;Cd0~7yPQdVe>yrke8pMrGhq=Riu{%) z)C^Vx`pDV(rW;Qr{AunufMpiZ9(NOo!>P-q(a%@EvZ@q*+Ew0nKH@UGJ*9z2pt$U@ zBcFYPyq##*a1IK9_h=mqx$t0?K1o-xdoimnnGX@(A;d37a^Iy-Q7Nyy|3nOUFFuXv zu{^qOrlSEQGuP3hQR%nJ?L0JuhZ;)`Eas925UyUQB^*T0sdkFhQnx4Vo+|(C^-s|0 zmR3E5)F_T2eZ=RsgM3y_FIv;g4dbV!#Eb4DpkTJ$7-x;{rnYdFFXd)7Ui4whpeBi zT3WIdp3LOJinx`%(uK&TTwPs3<`AROt$!Aj`42nq7yS*JvD2LuuUq#7Qe=zA+s2?j zq*ri|y)=3#YHeY%_m%@ds4o4HHKyy-&zeM%)0Ee?#w2*68HQ!qu%^7?omo<{c38i( zuOSds`T+`Nm6?&gI-dj;CmG`%%ujA3J%y&GR4?W31`9#Uu;8507{_)g#IFJFs=8S~gC_De!hX%*C@>-klFteT{g&+sUoTXEBp* z^(GW_Jq{h`!s>%8A`5CM-hI~2i$T1_by+ww>4WFmQUY`|@kAIb`uTRn1s@#jS2liz zm#68FXG4-9O9-yeT+-k`vsC$Vfoo5jW7WU4&W&Z;bN;5Ngt>VyX67X|`a=>~fFvt? znki4!5Hm&Z6c8SEE^V>l_}Rl}yz8fb?#h@2$@Ev;S6T;t;q(zmW*9^7BCN>*puoZQ zTbF#T*CVHPP?%vo{Vy!7AVx_SjnU&cxG?Z)bEx)njE@!XM;~r^|q;HgOhK9M?A|q#S zT1EjUV$_rQOmZ6FEeinDJI!Hou|_Cmsvi0N^tqj4P6%+dx-Kt?NRqbCbTfrWRu(3P zGxya1Y7-3%x(q-n2L#~Y+~$BVBICt1EheHprh8t@$n+{vmKzez$Qt`cSKU16%X8+) zj@55gR$2b~g={u@pR68bln3)o&g4S)HQw>znkCEe?Z$-2V~zK;uFej2Jpt^`RJlky zW5F3<)JXRoL(=UB$IHq7H1>=ydBSBIR~iyU(J;TWXs@?BG$5++4_eXmF*CI>;_y@> z>NeumSxV1bTp_8|BgalHvG5wN#qV_WT?%9+#E9zCT5Hw)h8?|7HD!L2gUWYxFRuP7HIUZ*NoX$7FhwCSzrQp2Z@{$=pu-%~=Kwqn8+m4cF`cqHw z0yTw(Pxp%Lz?^qdc@Gr!CagTg$WZ(IlG_?ycyKMzQs@-z+5OsViz%r*6jk}Ubm>%e zC&sbMa|dBuADJRw1w!3}QR)z}Dvh-h2F$+CoO;&1+I(8^8Ef?BDgF!ow zHw!%mXd*6i$`HX2Ufe#Wq!$k*1Fo#86^DGtS!TwhQ%lz;N`opnWThvvBZM78vfOrb zli&BBMzF-YKZz(zI(@?$NT>XP(l;RUK5B@EBM&PW+FkRxSQEi=vK4xfHQVwk3}nke z4!Gej@+tyf`nmFmBFPq<^G{VjEafL zvPQqop1lvtQGyn<)&EAxwgkBgi_L!94ICcb1@rMNRQ*(#^{DCSf>|i*#NZ$F!Qj+` zd&OlwM+wsMz^OpApH575Z*^A&YEj^6h7hy^^gxp;^ZTJb3OGfgeJA6S3$oZz*aD*mn5cgacDEzokbaSHNDcW@}f>YTYVoTh-| z%gllMw0doxR|K>XKVa6m$!JmocWW1GD;3uFZ13U=0>qR9o~KGfb4nz1k|aL=QH&zu zR*H?~nYJL>T1UhnJ|0SVd@F!SlQK&azNdLlm`h-G;w(G6|AAN8aI4((L!OSgkk{?-VM_dlZkgmREQP*m9 zE%VuU6}XnycGI}nRQ}B_Bz!WL(mODB^NU}4HYL%M3mL5n(ol6R51y10AF=05&MZly zPl{fL38Hg3ycwGMmi5#Y9$GGRq839kiJO1Vtb+)^yXhpk4#>h0%q_`I!-JeQ>;@pc zJgDxJ*j;^RVtA7oxmmiY+1I>w-EuwIOm=$(OO>m^IcO(1eQPn%XpwS^9&UsM7r!EY z2^L^L)HqLyYG;SntMT!Go6;_j!tKMI@eSl`Z#QVdj}Eh%pEXbMq7^8|XTwNw4*q=B z<=7s+mj~ELJZOjMN;1B0%O$y&EFh_XG$x~U z`J0(nDoK%cHVU0|ujGO=(UzzE?2vBtZQW{sHo2ty898CDHHAGLCj86*`X~GfGjr-5 zUwhFVKwwvt>yaHDh=g`*uj=@X^<|k+M8ov8{&cu1-+EA$_~hSytP5Nd3OkpTj{o zyI+^9rCxMy_>p{QJ6)G+L)pGysb!d8;r)P9t%S)7v#km$?t{I*FX77IwFhp_Qg5Ge zjJ@%BuDW8B>6$!0U?FgZ#3`YVey9AnWy}1^Uickfnq75@wld$Yfc<`dgPS^Fy_+?TZ^c4} zSZ_>K(zp+ue&)EDHcPoJSYKbn2lT)%Z&eMf`KEN{F<^>K!pDMM^=oP^xZNGCVH#&=mb!mvv_`_)>E7onk zmH3C1+;!HNW@_Ky=MuINhWOlm%>WYac}D$j8pb5YqSXLXW#kG|j}0;&NYL5BY{2zZ zf@)tpc6$TIx7=~L%;>nf30pTxFcwnYG;uV+itIE?*v0>TK~lLH#+b)F{P!u8U3AN0 zFw6Erhul<5xVfa4v4?U!yz%v-Oqm{tWxE6y|-MoYSFuKQ~FBS1!eWJrKEPf4H z`ylkSHf$^p8dBTZmu7`kSp}=py`|%>zJD=KjbJ@3OtjKF6y=MEq8+BPadC?$Wr^qbW6q%{Z5z?= z-O2WTsM#c|r^;L~im7M!G-=IOJe3pu1w}1#*ZXa=a`qbCr10y23ZCEht)X2Cgl$+O zET=&!ChUc*>@+3h_Nfib07+yMs%Q)P`qbSc;8_XIKwz3Fy$m%N*!iaG+qYm< zu4QS;Bjbpt`1r9L%PYTgaEn}eBTszuW|Nr^X^eW<;Mzm$lU~wAbDg2Sg1-IQ){7rX z$cZopS^gcNzc1MEwUFJnsYd3Z?%+C&J3}Qh_dqnpDPgMIgvJta-tK)(<3OHmaeuCW zW!TKg;&rNXY4E3dW#;#}^2@0mA+bsp9*zW|l&ND)9W6sE2%A^)YqoecgUX%g+XRtJ zzvsCAHWF_9*A&$${Au>Rnp!rg{Nvx%C_?kNzP8n((@LL^IOB^QG@66-;jSqxE;aRc zTS)#JBMXntS4ad5^(~@QU1x3KwK$}lT{lrJ$;MyF?&c&sJ$f=FCUn3Ky{tW=vWvL9 zsX$4fKP6`5Ue%3e5aM~Hp`~Rsh1*9isFGhI0bjqDPdzFTy;#5Mn6e6(Js(5HQNi;7%*>P;#ma!TrH{;sQAY?$x&^4o1UHyQZf3DTm->LE=v%V zT2j)SH~6Ns*;J%kTR5QY!wKS?KfoZTdq(gpC5ukg4pGk`>hOK@+qMI3T(z7C!gmKr zy3`c_=xlKiK)q$G#@4#aNt0Gj6dekt1!XzB%11z~ft^F^jLg6W`QX&uf-OAyRsv~{ z$}LC+CvQcNJnJ^iCPCsE*;#1S(`R@ICq#WUPzCj%OcceY#aCJ~PgYqX$cCJ+SYrO@ zBkgFtDQ7Jh>v6Xpu-11ju+vc9wwrx__GCOX$5$B`w%#u>y3{aFxJ6bROWc|Ti~kID z-h5tJfEP^*)7qc6xLjG#u~qZ8BL&xvXDv_XBvx*enzM!uSOQfcBp0^`0f`6z=al3yRxZh0?Yvt){+N`-5}bC? zAyg@_bS9?`_F9BFF)9k;+)pXKh^b=#y0K}720x-nTu4aDC|WDO;p0E~)hHE+(|#Zn zgX=;+7HWz?_vSIyY{KxD_)XM42A)qN+Q3Zl2hmDlm#*H~?0Ho&m@LjZ3P?pDr%iTK zxsNGJ88ykO;{;{Hz<_6{9H>KWUx~f4)Npf|%W;=AL%w%Uz*DPO^*GBycE%GMUw==T zT%&j&3dBnHgh%;L)4b2Crt#pvyjO8ouBOL`*B%0u!X%Q-3766&G76YB-<$ zZj462Ks&zTt17GMJHo3r16Q#W8|VEQ?z2 zno4D0KFqmD&0|CC6#K>N!wTkj4;y`oo0{VXQ#rmuWM{&nE<~&4%7& zuKy#>pulM{s=%FMGg7p6E|3rp!?O2~jbB!jJSAgN5*8AoJ7>Vn%!S*!PVw%puC~=W zjslFx7%^8n8O9Nmf{-8-J5V3FRHo8B_aS$nkzrm~~@aaq$ zG=F%vuL^SXy&?$tTaev2$A$Bc5@E`9;Mbxa|IuJ`_>KJvMp7?6$=$~?fE)Tn@s+e3 zc8wIT;I+6--jG66-*oi16X?vd-@Knno`XoSrF)i#D3ZddW24WniMxD+2H<2|s0FOn zPQqz=JDOuy%B70PMfOFw?TaK3mk)h1`2JMTWtP69o}M1YYA@@VeubMi--c{@0G#tU2_ZtBhHRAiC;jF3fKT zTZ~hAOmxVhp}i`QEMK|=76GP#ae__M9PPK+W#$*61t-(4ZGyN)|do$_fSxIL^6JzCsG4zCQgR zxu2sT#8}6>^CC8!fS6I4;oBN9P=ALay!dKy;9+lWyP?)mWAb|Q;fM916nA!g3)=1y zzQZC?3qYK~p_d_4j)8SS)Cugddjt3B-Y!sERyWQxz6n>IMV`7hCB)SdiDR{oe>tsp0_#d4Wrd@sQ)*q^ika?`%6d zR3ujeUPR_GzO#asmL>J`v2m`bZzgUJN@^{wM<|d#@nSTPgK&pXdo}*@IO$}}v;O9u z1Bnckm|dZUQ08onsnb?d7f>`p{?RKF+`slGB8~^`)0e>_F32c&lvE8^TA^&wavbZ- z6TeZfLBg-ml;09d7`W}@z5)hE)sWkvYiWJ%W8y0c!%=X%*}&Vm7pwPFpBxy?N)267 z{}yqNPH63j>+%Wh#_bVGNAU{t^->F9o4Y=@(#A1#U*Gea#*Omj8)aa;)p? zM9bmuXM>YPY4V7;l_X`?$3TsTd~j4LQ_=z$SOz}Wnt0mI1=gZWh(Q{0yr!1&m^*)( zy33RIf;5aG-+D$2MIMKmrDtTYf@Mu50}xP`zwJXB>b&?9WU?GzruQa-ls0+f9d9gL z81vWSE4lYAK>D&Q+{FOX(KJvF4kzDu9xE$ayL(keZA<{_2rhk9UL-se)vucOuVVsS_74ny zBRJ9g2cIMBR%qJJz8d>F(QZ8QeFYbZR@N)_^_Ln2G%>!2+>KM82eAIUDBonPm7ZRb z<#Dd<;##HmLQoe8X-}*=wS7o;jGu#brABS4*72rq>E->!8-`TzXw5CKgp`nw0NO9l zb`AQfWYu5SxeC<-fN5)PVIvUuXlCns@APXJ-aC8nd5*Jw44M99 zCVBP%him6DWCJAwZj^-(wL~Qcn}U*%T(#GYkGozHAUrA!C*`b_(CYWBQ;O|PKs=m( z(G#$ICF`z8I=tT_B>%o2oVUeWif1*JIp|Hg{mAE_f%3V=?tEwVOleE;U23VX2NjuY zeMs5%av@c0!L*=T65KMc7&EWT){5kXTj`-24wOgu(S0OD#~{%S!6;_o2-xOPQ9{yn zfL>sv@4H#|eCxVSL$p-%sm`Hp6lCXTgx(4WpbE7XU2`(wvM3#a*9#0u>$BHn@=h|G z^7}34ahEJm=i2fsHp6d+m}+16tyH9Ew02(wD~PKJZ_ci#~znIkNZP-spsTqBGA8mVn00qH}!3E(ia_jF`POqxDZ|} zzjo4}Sq*S8=VMQx{7Rqjrz4oh91HvE)_*2(cfDGPL@O=Jz46xesmA*h?z{dj=w5$@ zvW)||DGP2(Ci(7_Q~rG$SH5Q2TS(X%>yJ;gDHemlHmympH>@!xoq7ObIaJh38sq)M_(9R;c;d$LNjT46G7u1OFrij-u&qob<+dGWiaVkYc;_PjuGYVgZINs^?00c8v_Dsj(a zbu0Goi3rd!iUKB8eBNd4yXfyrOlKhhzT1Q1$A`fx@qgTA6wRNwP5f?9>o<6#G0Z+T z4|N=hx6+%;oBPyqzTHTS*LRooH}>g;!V|z{f`=`}O~8G3Sero$1C`lwl|1LkU3b3?+ne zc-rBO;sQr2g8M9dsjz_z%MOO;>O$YI2?o*fBEb*l0!^Yn0o`x%?H23?J_aGL9vOW&kex{nB3=K)Xvq-F4=(#i3Mm26=douBx>Gd-)SiCfgwJWT}(>3C0mnU zz$f$B1#5p^jsrTU8ISygRkJEngh4>h8q_3oQ+#@3q}g-0&~! z?EJOx46I2D!q6iopVjUFQ8!>N1_~eBWqK;(gbBzFtSwR#oN=@HlE&zExa|T_MDP z|1HibdD7+TO8GS6$QYug^+@a#*1oPs+E|&Og21++>qoKfwXE(>^B&b~!#U)AYdz@J zz=(Um_KP6!7Y*y{5(`^B5-kW=DXP>JjFzcPQ&@%23c6rHp>&cdt*P0?$Xeuz^s?e> zGgVB$H2qrji6c3Co(ow6_LROp7+~gU_jKKJNh`iA*(Y};9rp8W(|EuF4%-dC#FY^$ zpx6S#8q)b2;5+k6tEBXioWmxT-l9XbHHayY3+Y{kMO3kZ9xju>r3Dhe6?D$8x4MF4 zd+`>Fr)z~tkjRdpOfh!{HK}%az=bmG6F^%A%5IgiJLPLy%I}0nd6_I6-`w+u&ee!1 z0la9notToX5@F;46wuAC;KErGtV9tkIMRFkfI!qoBNBKJ7tS-)i}#5AnO2s43b!;HiVWgh86)zc*t0b-Tx*w=c-8XL~Kr#V8zT-Wj3kzEdUmkQ-i4(^vJ7 z3;48;XJMr7Cm0Xt!=V1F-6v{4S^*ot?)X}tZv3}eG(B|oWkSI#zS2>%<7`QW;e8Z=94x{aa@Su+E2OHu z6F_agxMN$33S<|b9-gxTxiGNmuZh?1N=byAh6Es5w6y|~s)UsQSwd0#GVHl#=gUzR zWt?nY*D7;a zL!)JE=J?mt4wRVJ0r3_RG-oZ+TLt@Vo=VBX9&QP7UzFG#qSzXHZXI3jmOYzeZjrmI z-prK^xT#-DiT%u^q*7uhi#1(pWvHHsGE4qjJR)nha70payWhZ}RJG>qG9TRq3SYTU zt-A{^|LlyWd2eYxvXflrS{-UR%Sf}w{b;^P zI@&kdTjQ}}AiXq{mO#fA1@yZcG%!!X^r{c8oH(>h%?P}FVoS@V`1DSO2pB-pHA?X|1Mz0%<% zT%|&l{1898p9&W46eZAcPQiGi>Z1Y%TyNkmEo+4hr*LJ$ zIaBJw^@gXf8?qZw)e zZI|s!SBht^aITr%4CI{2Qw0!Tt=%yjIN1CQfaTn5g{AvYezs+?60 zVKIbZ;Zr3~j;E$RoxO$o(u0Eeb0YJn}$k{%iOVi8o?(lr5f zUcm~(rRxLzPUzlI=e`=EjKhL0U2{J8S0PO=Eoi!gY4O~IAo$mJdxzAIB}tLaPQ#v= zc?F|kluO*5V?Eh?6C1OLyvGR~Iqn4PuA{r*BOzS%d1)dA5J!?xUbq5!JC#WQ{M(Pn zU8A;%ka5Qy6J!#^h`wi*G_w1~aE?qEUKhGUJ2D{IpoKg?+l2KaYt zXW}Cfn|f0kdX?^G`3Ki5XYC@<&eulPI_Bk3AJ@#-!SSes-8T*%N#f~F;rfTnWdL0_ zKtNJ`3=qC(bCE?Arv9USSI|ZIn51_0jt`DxJ4FQ4GCh%{AP0a(K77*QhSNOo5Wo)+ z6ixp~K-;!UzD&yYnFeo<4G2n83OHUZdS)R)Nj6RK`hLK^A_=I#oxoKIN=rnIS@sn0iu*lH297cEjtIbTP(q-b zhKicvh7~cp(72Ol|7+bBmEapMg51dyNwj*ExGPEo1Gv`SQsop686`Kt6*aO;zFsXj zS+Wjsppz6ZeTJEwy%>w*@*4@rK>N=%G{KynLjgR&5(x@o@IV|=@iV8_=Gvx9TX_EQ z&9}{#klM@pzYbr2(y3k)XqplVc9J+fT)5$!b{%XXQ|Id@NV0$faP3bsx`H5==nokdg8cXGfPnX(Fbcf8v$r=fhc<8u z6iE+<1kS5VO|g7oU)1ac$)UOF-tD>-<}WT9Nv+kkucrQAr)j+(#zKkUPelC52|K4V zO#@(i!&}=I485ADwQ?NU((r>zG3-fnCvzZ;ruUI_&VoCZ<6NRa+>t=%uMEWBi>4;H=# zQ#o~bKnRv{CUjgj=sdml)b{oZVbr%ectZw)vI7H5i1VB9O*!1M`2)dU2wdexL21beJ9Q z3Xnu!_Co@?@*vb0k6l1Vk5U-5(!as~@0jLXv9D>UeO}WLEItKXTyPJjW9lI2F7PbZ zY487iU_DuT+RXjNu*G$S%VP)}*&a^i>r#P*;sy`cS3Cai$$=xw<=MEwOpD9Lil1(M z9)OVIMGT6MIytuZ-2eYxR1dz$AAFHZeItO#su>B~5`1gsgk35|0zYDjbJ>PaW zAQQ7I^Q#F3I4gj>z2_eEz&*&?wW0psm35N4*FIaCIQK=G*8xoN$(NPHX-&Q$&6Vz+ zi=B%88|(i*a31SY`;3#u$BPC=O$%g_sKPjRwB=}hZoBZs=Kj+l*m5~rvcXKi{c!uW z%OMx!K$GpZCjBNJ2de@9=6 zwx)eHL?goXy|E_(L)Xz`1rD4>@*zt^*K?v9F2rz0C7E!XL zH~R~8S60a2R?LjPMAzP7gX+t5^&M%JXgEj5JtV(bf^e{XV}91Ua(LML)IG5E*ua7d)|~(%|y!x zGA_*`EGS_vMkSaIX308=p&mXQmPIFW;`QIr%+h&aeHK8Ob5Gfok)9qUpXc8K<}JV? z(vWB$+_MkCoc=!yseQW7+t)zC%5x~0I!b#sEViKAxz74XRF;r3tVB9h+pb|>$>y76 zb`s9=J*3>1Mh=dEv#K$I%Mk%;SuKz~Cz!|-k0MpEuQ!hyM5`Fj_>fQ!Zmhuic!rL_ z${1)F$SX(-0;GUOcJ(h{{(JZFxzX#ePJ(vvE3p$^TP!GMJm{!iA_3gLpkj!6;Zb61 ze>fUOZb3p0mBnskw%I%L8<75H%=Oc2z??*nk`m+rfqSs{bT|^ia^QrewIT}WZ z7{jRjakaFp^!|ENgThgDP`-K6Eq0DW@)hL+IzFv}|6GDOs!|XPNfM0bRD*_*{eT5g zPg;H8?a0dnrfB|5-{<+F;!$Sc=|?)Xj5A>d0ijZv3`%O$L;5d1V-OY#Hs2DNA-ZF| z4<41At9TDBBR&u;Rlh9e8{t&2;_r=6cl~&a9hQjooDGA}XrPS?CkWxOkQZUPCU|l^%-ikO^y(SKQ%p>dZ4gfzO^6~`d#w^8 z2>S4aepQ5J;u(P?3nIE&RLKZlDI$6tf_j%89j>k$j>OesI;pK3h4#O#ON;<4w)oHj zMKGz+^g5rhcxu}&brJ*6A5#K`zY%s-?q6rFe+gUTbpW;R3MPTlkB6ET4RU(p!Z3{L zIq)_MldNWV2aL-V?%YB1;d`@o^0BqY2dQ?ytwi1 zj+V7eT4=-1i`2d-%7hry_b$>&lA0IEe5PHfed(&heD9`NkjG0dm$`Y#K$B;o z)TgQC0os}5!C0l>)@*Kh-lCG;b3b+Hu_$O;aZN9e1;A_tY74F+R?tE^C6;Gqm}pP~gz{gW8Hv~|ptu^xP2 zap1KNpZiUD#IOV@t8-De^KSQrhytKi@*!UYV{76_aZem`lvRZ#If|RwTo3_IZo)~) z{K^P~3v`9E-gO0zRqV1BgjtP>o!B0b^ZL{;(gUfI%<+_RlW~j_ zu2TFg7=`+#fiD+kzZcnIez+0icT&ME+=`ij?WVrCy(_!sdqKhmX`8UGHR-PM1&a#Q zF=6d=mtznxi-queJR?}YkKLC``tz^ER8?z3fRbbdrssHjd&i=G16EL27^2WfAFzVJ zt9%F&MJ>uE(dUWNWbLtEmainvXLkl&vth|9l{C%?X3M|xYYlsNbV=mY6JBa{xa(7t zLt(gCPTe3aFR=Pol_Ug+2udK1lDE7mMFsR)d2z>B&rV@+w0!>=Ci3&5^>gvBc^l|y z-RY~o`n&h>aB$-PP0(wR)g{r>PE&t`TCHc0#citM3StA`foRGhx*)9;40ZX@yC|jF zL@4ifV%5FFF2`)ZEzwb=s98mFwED!t)J{90O^74yJ_L+!pZv3jTvE@DQ zOJxezIk1y{x8_hb3ZH1CkJ>NFl#@;T&D@nNkngk|CefulQ2&k@@s~2DtH5sbo78Nw zs0B`YqLoq|ns?_$v)V(J5U6KIj-H2exBkYlv530fXj!UjhUB{9QDVN5d3+`jH)6}1 z0{YoOk)KjL@XK|lp)421)@QAE_IH3{_W1X2OUEHbCBrF@KWjB3I@EG=)OV{IsPYSi zn79BU6M_LJEkt^cYLK10V*iK_=OweCNV{c_KTX7|<3ZY@0R^iM0?wK9H*9@6?X-Q5 z^tOY5T3o53HQg_Uc?QjK0*-F1(m#J$4JMJsY}-f(L2SuozsM14y=R*XW(tKo>r774 zBWC_s0p_^VbIX?&;Zh)6ymot}S?HCw6$Jb!#x^zZy(zBz($klBcI++L3}Rl6+3R#P zdMXz=99!mmO4-{WH?i|?J%$&gn82*(Fof>G z;2V((#_aB&ZyvTDi;m?olx@eOgShWpU7U7GEzyo$uWSH(Zq$sXnx}p$Az{0gSii(C z+)iR!vs@}CC26PYT)QISRo=L|Z#$OLBauSrk$5%Z(c`o?rMfttoGhx*M4u4a!E?kl zJw8p$-eCKt@; z3O|yw)2XnprgYQaY)~;qie3Z5C-Hc^+Du(eccbNXGQXsuNTyC6N|YHi=CN9KS5Y5r zHU?q7iQ*PZ@7A|yqck;zhHjO-f*rCBk-YBEPD%dqoSZC<#mDmQFq%J7;ua@r1$kf_yPAw*_B`7(72Q})S-Ynl>PIIB&(iBpr;t_ z-y%VY=REri#8TJ)ylpVJ-WdC)Ol}Gf#7Sv3z$QVDj)#bPaod-Qi*am72~kh=i-3Xv zzFnsvmrUsQvgoc;E*~)$$|{^PY$f|pI?_m`_Clq_VbnE5PHCB>>qz8wp^zQipC;%5 zIwh5~t()B>Yk4+IVLojOhoCV6z86n4@eDu2Pcn6LXT0yURAQlzHq$%Rk&4;#TfeJd zLqm>|KV_0;SQGr^N~Iw=%BZB6aWdkZ$>yF4g)#LK&?*1;f#hH^K%FB)V`|!#Uno!G z=j4DJ;4QXY#}#P{6=F~zSNf!hJ%}!k*sB6#A2M0=IWdAB=mnsGmkZ}{q@2ci0?(7k zT$qlR{0V=%0v-vx@EnS-gUmkWI{ZTi(521x^W_0cv=S^Mg%*>g z%7$pJ5E#9Zy-i8(j`PhFH+9S$TcP7-zUZ<%IIiD72k(8olmUAYo zRNTD{YoGn}ofW*vYA36^Tiq3UsnIs1Iu9UVmLVqOTt zO0r^70s%{-S@i{_=N?u1>eLj6c1Jj1QCQd=S^gcLfa&lwzo!#APu$p7b!?_y%1h&rtI|4db36JX?Aq=Y05?S@W+x@hf}+ zfPaU`3J#ASLB)7iCh!GZQIs^4;Xfz?ZdN-Yjmyyy9!Ak?xiESO#>-(XEk2yQrG4i; zvM$#($E9kJ5kBI_-4@OZ$9e=uk7-tIxbxUx1UB@{NJ(+HsMk8Mal)1bWeF{R_{$38 z@$P~Ehl*DZQ1+c?vn+51VJc<%wP-}>F}Q^TL4-9!)Rc8kTOUY z+dx}tY17H(6~GYV3mJH6Z2e*&%Qq1{Pm+vPt2}}rj^$<%$+U2s2B=1wLxNxW-t8@j zfDfn*9dI?1x&Dya;p!_YWa0S>85Nw{s%Mv+3cI{bis^b!3sr|I#b*=*hvM|{h<-hr z^uR$o>*-l%VM)pTt*1SV_4|7GyU+fu^mjR>&rqWg_ixT8s;6U>;(tBFhmoZojXuFm zhT~X^`)1+OKfv{5_O$bBiY@B{1PEa{Uz*3JN$6^DYWmC4y(g{I$?Hqwb#zp-U*rS2bNxjN0 zQcIh-L1EDhuzs^1QR>F6TEm+tgVpp!Y>ww|VBkv;{V_RpN*uKRgo!*!K+D!Njc*1= z$yH&!pq3T{gn8F}DBDIS1Vp{4e*%Fj5s)w8IPkECjRRH z$A-BdYl4ZR=Vh7nmyc(K0k-74xJ}eAiD~>$)I+T3`nDuz3Ydq+W^mIKl5!=-xF}cu zys#xVe5|LffOtW~s5If-^!fasR!vAkT|(nUtvjdDULr%|*G}6KQuKJuXK>^4zhBM5 ztG*V>etF%^esEG4?6nRcM~H$x1RA*XQwCXA368K47u#=kfE3~nQ&9F_D&F6IGN7a3 z0XX5)bd{p;8N&(*-0+9{<009p;VL4>vP6vbV?p;1I3$OmDcRlM{ZvtL)g&;IQ>+I zv3!YU_PKM0O%2BB8Gl0KhOAu)ez_}*5aqxC=y(4|4*I;*>j_FL-g1;C3%>5dEJoM@ z>+w8M16;!GTWp1If;ezKt|-zdpW5ZJ_z#_fL(d+92qFBGZ^!?f+1?plx@F0^n(_!a z_RBM64f+ht6Ac0sIdz{VFvz;rv9D^r;-2~TkQNEf5qK6aNV(d94R6uqiUg!~CvQvu zs-J`BKA=D;2=U$Vn^D{+U!+9hpEfSb-Nr8pihaHec6GLSiTJ&9bp^`?j&pcH;6(pH z+PHas{UEV9jSmotSNM>wMvJS3l8Z9WoV!dX*mC~?RKRDWf51u6J|>i>lg8E#DKh$! zxF)EV)YU0SRWR7Cp3OUWF5fvXLSS217iUKLu#Sjj#>pUh+2fT^V5gpQlEgB@AXny|$tGhaH!81W$ZaiE_3wWZ=?_7Si_|}TpQa^82ydQ1S zUupfz<)7BhpZcqM6>Pds+-=)XB-7L2vV=V^p7)C3;BQp3TTQ?Gp{;&Fvah0)C%*27(~7F zJy^YXq@fJaAu#IB|BtM<42$Xu+rIY}z=lF}uuAdMm^Gk_99NRA2; zf`Oyb0wOVp2!b@y9fEW>%)9tM&wW21-Y*<@fSWyguf5k=*L9x1vsr?TdUhIoQJ0$9 z*p!0Zo+__0)|e#-RG7*gK`Dmk6{>UMhW}@D$~}Yric^R>kMg7w?<1Y*E@D zXO(uIHH7c%vNUoX{t~3KN+C6De&^H9S--cs`uLF<&}{uNJ_!rxF!AnnD&=0DsBhVk zSJnhk+VVy3mOl;>cQL=S3cADFo|2!A`CcU7z^iUxem~DNy~{-*b^g0_yr57ehsUID z#ihgus&Spf{=vug`=@RDthv|G%0a5scK19kJ+$)??DUoA#cH@pgUnXuc;Xa;EyK9{ zLU*>5*U!c6FGPYq_fyrh)$+k*g`{#6l^TUZdCxrehk@sH!^C2qLx;s(Sr2#@;ZHB> z@qfVO_`fnBA4;cjVCmi^B7@3M$%nR4+9{Wa0v$&8{J(;2&l{L>S9@8)La=_{cZpB9 zo3scsv#x||_Iq*ra(dSzEAGMY1JABhDqK=NU_WH&yJZ`)!3M)i=v{ICxq0Bao62Qx zHgn~k7$0KtLwRGL$YSO@V--?dl9uCQ+ON5p8NdekT9n1BYlS^u9qTj-L_120!Ufe9 zjr!Btg!yy?TSg+b6;vnp66CrZPt{Jmn1_C=<0lWA z0%Bw=PjjgfNm~%lbDnx+6)h5Koo0dkBXg8CH=^Ac!ei1;0wTB3tHc zqo=8x%G>|VH`TOzREMa7M!%SA)P9QdeN=TlsZZQn%0tFGFC{!ikuz>A%}w&f#Q4$a z5*{kG%eSz^lQ$Sv@3oGqJr!Zg{W5DL!4$25P!GL?Xym3P1zE8JE4k?qt1G+wUk<)4e=)1>B`}F!`{SvA6qw5-iPUpfuSC^E(yXT~?Wl zC7${uN3ymI2G8TB{TK^2d<^Op97Gc4%QMK2mb?PY#%u#!B9M(DNtw#a8ci4NXv_el zdM(a3$==n(n9A#z{fUx?4d5lnUUo-S;b&G2L$VfiA4Kxn0oAr2yM@{A79W!Bs$;7$ z6S?SX%xz@WUR>qst9)Y9LfckjmN-`{26dgMzyA|5yiO5szetpL9SZsHfM3&QtvV#t^SToW3B1H;QQTY0d*V(1@@^>56^?%$L z9y5PHjq8(6g;m@EZsa7Xnzphz`J@WTKRFEU`o52rb0# z06&P3CoTB^6EqG0I)@uHbgIQgUN<7&bu^n935MPLG4|#tqs%RfkcGAss@An(;i1e` zUVG*L)-8TE*J>|DD)U%TEFh#ic0i?Z5u*IrU$Up{C+ z8hjRBrT7-Tde_BovP1bwQ zQTZ>1$rsb~{xZ~vn!^9s-Ul4v_~y|npT~d$0)m|U;Xt!^&b$E5{!}&Nk&d1<$;fY? zo;5g*ilaL144)8x{IISY!OrU(tAgq!X!cd`rSWW1TZ{WxpJ=Ktu)S7 z1K_9}Etg^3?PW#FMa!7{7p|=CvX~X+sUw3fQ&uT7?X)&)cjhTU3Odlmuj8Xh+}hBc zk^=d@g07XYg z_vm^m{XZH$!g!S=5*VE_cqMu1!RzAtBW~K4-C47}@$X|O2BYm-_|^HND7^T8$0p7= zibB03L~6!rmxn=9e`iKQ#YK==b8wk`Zts!*^_AQY!zc-|C+Z-gB`U(60-8CMUC|~Q zDzU33-CRH1@ET%(XI?IMu+!Rl;kAe4S$fv9D3@d~kvJh*>Zv_3W^1E5^`a0JRVMPB z6n9j8QP~!%U{&g3W`9m-A()-r3U{h^Iv7-jI*>&>ja-Ch@m$B-+XI)2l7eW5EdCN2 zTu%5F8-4l+3n&``tbXnI;^ar=XPayS=x0}?^8DBbOW4b1lj(u3BjKohK2;iG-3_qo zDoY63c90;81iWpdya#CxH(sVRH!2o*qG9MAkG`rS8^s%ScZx-BSz$x#?$9D;{djdX z+W20tazDR)F*)Q*hNlU4f^~^8U6Y*8#H*Z~ckUx%JmzMMHl{>8& z)HeGQ-morDy&FIi>G0L|Hex)7qO*dI`-S6Av~KcHNwFOK<1mV1VW**z#7z#K<@hK| z?p;$yo}xw8C~N1yZvy6xDGn#NnRyW{($S&)EKOyjQ-2$k>L7hT;b6s#ELl+ZB`;s^ z`pt>QY%K(pZKVeL6O;Qi(B#Sk6;iY!d9jz_GsG5QxbeSm?u_h6Io>E{i*Tnp z=4uR6@6WBAcl$cU+%Neq1;)_%a24RyPLY%=+@$9^ux9b&NsM9q%(K(Vovbrar-QEm zjLirzc&!+b8)dKB{q>Hfkf+Yymjwx=4Ye#Mw>|HpqqwWz!SaZrw>@@HTg$u5;MU*t z`m#9{jHY2XtgvYE9AUUYi&)yzN;yrM)q8KUv>o8@f87AsQ_^@ZORB9~EA`WnL*J1a ziaL`^K33U}54QkWI&oULy^KFNPalsAs}1yfvoZ7Q^w~*Z)oGbMAs5)_a~AiH^MOKUST`y;I%?FbgY>&K2P;hW9OI9zYDp)MX6Sf)DAUPC{o z7zO*a+3;+~D5_U|&luUL)L?!6UArZ#Z*!GmYwW9LkFWLyteF!mD^bE^qy0^HI)Ab$ z2(TJ4$iy`KJmb^7$$J%>I%JT_>zLL)SEaMrmEn&eddFPZ`=R1H;rgBB2gT<*6}r@ z9OcnLiKO_Zh>!|z2aiT;Y@L*{97mGpC<)-h4_I4#sw)LW2*C~dAiv$>3Z0KE(r2=z zN;`u4@y9vrLQUIIfeHv34H#PR&Ihq*Sd*#VpCSbff^z@9<{f7L+Bfc*pYoQEeC730 zpZK!~cE(uG8h?+Tl~2FmGrISh9vb1U(OF|4`7H~)Wwoa?y-@$B&+*47<;rM?m~5aA zGW~KJgb*?Cx&J2E3==?pMu47uJUm}{ivMikCdrS~bRECcAG)a}V1=cq1(UfD;R3G< z_JHF#uZZhH6&-}KtL?=uR@jc$x^Qk>6w0X`gS|BpDSM3c)#C1I^0yk)tE~rK3}G1U z1({pYaetCdUNcX;HetAxzVmhXyciYCYU%de(*GhUZwrQ=;Ljhzp%u*AyQXZvp?DAM&Yq6u0vAOHa9ax%}8dbX$tg+s*V8 zt9HoP%rUwtTyI7Way^Znu}9< zX5s+n|0e=RO%mn!8Fm0(RtO@6%8{6}KnCvWw`7^ESYnatDAecwiV+Kd#3NZi&m0yUvpK_Qx z`^fbSHC68A!9Y6?v!^>YBQq-N?I2I%)xG^AmBD`aOqZyCQzK~`eULkDefRp4bV{Qv zLQI+GfYj9d$LH@nZ#D%fCr#AGVcUbgCg_rgJim4Uct!U)lU+U7rY@Q7e!+!T;i&J_ zSqDQwQUsd_S7Pk03^u^qirHcX*(~|xwOP8%o_(S=OX4T67`(tVBeU0lcWM;L9HHmf ziw-ScjV`QW2`!Z(F#B<~1hX@j3f=IJ$`Ihj&dbxx@+6I{PX+s}#wxAwgirpF@*#$^ zS{R@s&QgkL0Og5uDgf?46EuEygM)mBwW*fBX*(!knijl}mrd=y`KfcgE84y|ebqLf za21+r2*N8B4-qa+$+Q@wdU6#x#iOIzb3@$gN?+y7e$AmlYO-8b)Um1|(L4n!vjWgj z7imAwWqj?(^8Wq%^b1_kml>M^*kdy9nG{>yKc;WlltjS2w7$$UXJ0(csoqYTc_)|$ zBvd$D2Cfi?!_h0i9?=m@#*fLC1dY8r4)5$S*Y`ZJOq$B!$V5 zk+>RJi;H+TSuG5D684P$@VgAl9v7ScCHP8PCsaT63+~wH>c5%iVNiw|vw=K?$8rf7 z`3G@Ybj(_&KU`+z<}I-qm5|YW8hqsUCxWirT@4?nI;$AqBVRZ7*6wnC%O;sJGW<|q z6dKaN2Vs7a`-(KexPB4x+lC6FQBm6qufCZumk4OkB3yc& zyIRpAq8-5wI`zkS@@?iBG`sm?21VHfT6BBAx0Urx=t)Qoi6<~iKkWnArqrvO(wx$M znP@NeOBtscsKqJq)7=z>5N8meeAdErLX_u7FcV&D zU`b>un08`3ntXRgArkgbY=CI$GThT*hYV* z-*+25=|r&cd>H|w+j3QLAeU8_-tVYPB(4we4VOc%K$K0u-z9#h*2wIOBf*b7O~{wM zrR>v|ce0N3D|GfO}=Uvwmw{_zHq!3!jgzvw)*c{ z_k6b%8EU3)=PS2uhg5g+8uEjJ$hyDC;$6wM&4tQl-z zfWDLoL&|ttz{3k*QoYctBBh!&0*e2vN@iDW`ZEGA$xHXRPy!`5QzhT@&F6>0hEKP6 zR|IZm+g2BT<;7A_{5*X*D-(q!6Faaq9N+lzGUm6bhim5fy7QN`{sk%b=XOpk?}7&% z>(_jsvtygH6W8rFZ)qu-(<`;C)SvN{kyYj;wupFPDq3+a+Lt3aCkFDKISYONDmu=7 z^%{1pXHqwwh9fcgpuZUH2;4X0poA6z?2uPS{0Tn){@N*0ZOD5%_shv3BpeEbn^0B@ zP$7ngM7`$ge#bn43$^Zps`bhwq#^2ZD%KErN5}wbs4jgdksSj2z>b>hgQ9^-w#^ge z{4e;UHSRT^@%5#fOF3-Vp|(5PjXg7Yq0HQH_Q9N)L-ObSR^9;UHUH{;?9T%Q-nex)vjS_ zEr!Nzhfx4;%5qdKwu6zz5w04`2KW?iICcKje!SiWko$AZK_JKC5xiQeACSN|0GynWEOpVRU_EKYWUl zvnrLBiiAivwM@iDgvpem(CZ9fH5A+CgFF4k;+e%`k1oC}n7@_!#+eq{KdE^{e`hnJ z<)^dLHAHKS&(>Y%z2ZzVZnNyJKBX6g+!@ts*)^~kV=qsOtLP!k6MMy2nBzm@>>$9}$VQuV?Ss{99l;C@?the2PI_#RLwH4#5&3H2;Jqm}w@}B1=vl3H` z-za(BM;2VGsoEEb3R)}Q(a$Ivn}deLqtVfyXR|$SjyK!;0x3jB{xwwa6+(2u;VsG4 z)Ji|7{h=V$h41-}JH~X)!R+m&yr>uvROl6`UIVL|woDnpPgE^fJ;Ra-^JzmDejuAm zh6=C2&hR(Rd@jS1kI-G)yhL}8IsH6VK2zWD`Xr;40d!XS5Cge>!{iD}w^$LXTETAm z)mdPvd8ZMW{sh(F++5RKLJja;_;&@YoehyNsNo|ha5=T zF2Z_L#Qd>2tz~@!W#rd&@xtMM(c*Wzm_Zp9OxS6^-b}80Wby<449U^ScGu`863`mj zrE(T@-(1D?O8@j$oL@cGT-my%^oUQ5Q^J@bYcPhhhs4@`+M2%;!k0dMsTIZJV(o&r?qaAP4>v@=abCLp(Y_}d&t{#ZP(X}E8-5j+x0=; ziQ1YX7!Gswf{PVn3mH6!lby7k@9zV>_oVS>0zbK~B+))4BSLU0kCuGs1aqvb)rCkP z7-K5}y*vK2U%v7y`^OXOTeWcu%;A<#zz}5ivu*zMTCwwVfPd~j72ihiDlCY+DKBfb z>ZFaCFkSWe6=Y5uiTF2WfQ_i4%0lfMM&o3MYMvE|bhB{IL6cX!WXg)q7Bw#%skJg~e;&X<$k zHf9>>&|lR}#l9&_or5w4^~%|(9W#F~5$pBIb;uzT%kNm<3jUgoz4f7j_g59;O-hQ=k zIPFUYs_K2xAat2E@7$(t%+M3sC;e7~BOAiYP#J-MHW$`3UNe^O`_nbxS$-b#`?MpO zZe3t$9pCf1JwNPjj()GMnHfMYWDY#ZG-4L&lNLyeJE-~*|LdvUkoR=RQ*gtL5Yy7i zE>s;LTDRAIp%z`u?=+w6@v zO5SQ}^rt;>K{K@UE)Vv83k2@{Uh(6`-g~*ax{>@;d7Ut|RGqEj=Wmcby^!v>c%H(H zNyb_=F{XFu?9!e+Wz4NUTQM<_xZeaU-}75mciPJM+B4jFl0NbuykEUAL^$x#EPV|N z?=i$5R@vVp#0VWXJdTi}+zDZ!9FfAybu{~YEGj32MWpeS;CH*<@U^6&1v@BbZ(!PbWC-j`?p>1WG8 z+~Sw{uGx=L4Lc9CM{J4O1wFpFF#}k;TEEnY>a<6eHdmI&$fD(FM@?f*kz7}+o4>&NG(8odss>pWO!i^&i|*n6d`2-D#pXgco49>kSfZ`4 zr6S)dwG&%rr+wvFC|hq`M5r@pb*NLrKu>Rq@S)MnPK>{PwtsN zGO1OtF;n4i2b=2f#svjTz7WQdV~`8%p06aO3*OG>5+h_G*$=KC^4!j6kt8Pb`%;xB zbiwE{w|5_nuN#r!}xyMrPUZe%%xCvEcy{Npz2_*dtT8(9&@&%(B z(VQ<+dFlTBr<^o+-#72?K3X{|&p@ZHpF({yU*%iBw@$&WZT4COxEW1;NSa{fQ+dUh zi>Pd#3TZHbgl@H*2z57|XxvBfNM={t-r#9I)l;PpX^JLE6#O%_$#$mDkMd z`1I@s*W;ZNBeBJBf_hB1VOghXg;*$JJ4MUW7a6;8$mQ2Qo zmWX!|3(pF)w!Ivz_I8&Ct+0o{=CS7~tCaft*S9DH-fr2_TNs8Y62t~4DHGQ6511`n z)vjo6N>HB}Z@fHVMe8KZIO=ht3uEU%1$SKx<7%8ID34n9TNj3MVjWJn@H91TMEq0| z-2wK4kJa6niFPgKHTG#H_b)9?dIzO1C@>-=DFGS6KQlgGCq;n0rS9?Zqf$$tFlu&k zv|{=NZILK@YbsG3>O`P?PvxA)9u~RxD4lRr|F|6qXo~E?Pg^zho^UD!aROM^FMONS zW`5u9;!hfH3`cTYXx?KHc!spK!e)uSR7etT_m^j{581^y(OrV61p|6L=-7Iz=5{SS zur6RzYIeR-_J~fc&WfxxW}QGnh?yqcJW$USr$Y?P))4BM_dlxJVQoBMjr!;}wMSm5 zztiT9`xT&gUaKNR6U`p|$pw+;HcF7PDWp7SS`mpFk>ZxnzXfPVUu?ym|MkBrE;?NH zra$$~OJ1uVCReQ=CmvPp;?o?q^~QZBF0UD{qLy79Cs5sik2A|epAq+_GTG^JLMv?_mkKYBCX99%*?9^21fbG z0o$nwldsFX6H%gF&d1h55;~AhDpz#4)sfb;MTUjh9kWBTd5b^lVm70dSrrO73vs76 zjOT(mGYYOzM$xZ;8c$!pAN$sK8>~!j*ZaPIAjVGYIWG~X%B$^cJ)!YOc@5;y0kd~l z-?XdR6SpLVQUaXVj4E&%XT&I&&%I^eUM@boq?HjLEc7m}kT;(t-bw1^?@J&m#yb_i zzs$5rbGK`OCd~elO|a`cUebYO;iK|Y$OCOPiJ>Ccp7#mp6nJ*Iyh(BWiW8dL*A)Q7 zH9z(y2{W^v$D8xd?L*FCUMZbF75)ZK%zjovIq%M#=>A<=F@-!i4rs#r4?q!6NP49K zhm+QSd`?_!OaC%hIP9sN>G;(aEVk;s{fp1!Y=?c8(H{$)&pY zrNbAvb$vOB$OjUR{IZFBCzvP~{8Y9@A2;s>3sn*m)UG*(-U_vP-g+{M-Ax?0Z7nwc z8;ZvWLCVfhUZ>76(WMsKIriv*0 zY!2U}z}mrY<@l5nM6u(_q)k&~6eznJeO;hQ=0q?vYxV=%ODn9GbqjmQi+y|@v0B#0 zYwW5E5s{VFM2O%irZviP_OE-^7YQ|F+>f(K$V4m+)(~3VC4>rmFl+;AQLd!zwiEEX zRB3|+j`8?a4+BV-?ac@AcGaoSoOStdmLuJndoQ0akm?5Umh-8Y!+_@gr$LLKsoC4e z=+ziutr_~kQV|c?EdBQ;AwN_{PM&4IO4u1FIJpYpt0oTiiP|A%@25Dm6mD|5qm8U| zD1|Qg={>DVdfau9+miY}ba^nP+`RdV2K+zHm>tPRi$rn%ELY{nnaw&M8E8^5g zW3bC67%y0;gr_A#AesV>%EtoxYWc+s`lO8+z=V+>E7G05HOd6d@wn+MgsJ){wQwR| z+{ne)Y&={+-2*^?uePZuz+!PC^rwE^w2}2-$fgL%OH~g9c_9D5m{n?pR3|&$RQ?+4 zg6Afl1Y@s7=y9`o#u0}cNbSDoy7oD%JR^P!3sU1Xl`cykyiQ$H0Ew|e9^zSod#W6H=*>KH4poypUl)OTXY>UuthvjPdk zmh!XNYJdhS8;cQvMphc8d^?GhlWqGTWL@i-i>j#6!3Lw?cOcU_w*rZcX_dBOawo{p z+wfLcoHWE~Mz&a#R!vvcOgk(LBHU;Z{Ov+5|KjsW4~*w*uno3HMa#$aT+yo3Ce?nb zxpFHF?twKw14=@wQ(e=m4UP{LvsT}{Z9Kd(nLDvc+dy@|Sao`uEQOD{@%%9w?H|b~ zNPi`c_G_#&vnQYVQ%e_~tXMq}Oq?KpzNP7(SF?9TY-}_+eHgyB?+0D;UdTuSxUN>k zzx`YXj8jCgsbw;f05-_$n2JFR12B48#t3z8kHm#whQ|i=Wir5{MLsSMIBDFpDV^Er zP{`PaYT_>R=|$VYw~Ie;I8aXGTdeZ{szDII!4wZdaI-qb5(hrhG#+~2t)L^8erst| zA4joU?Dg#@czEwtqXM-~i~Ek`4N{*tc3%3hQ8YY#6MC~+_*$jI@!Elal%F@8UxEnh zCiBbM>FdMigt&*}C*seOVQ~mZpHL&rjo~y+JPTBA7CqBkK|NS(pu|UUVaD|VrRye$9UTs8LY*PXoOu#bbl*W6sw^uO&H~_CvUSp@$h0>uC2;Jkir&ADb1viNSz~L_nUc(RUfq9 zY$s64vHpwu!0PJR6Jjk`%WJ`@F|wzhc#FBp54evP%1-x7e|D5g+6kZ->J_~OE}<|2;QJ% z5i)&h%&P+jB)4U0c;55dC(pQf*_lJ{q`SWLYTBmN(n%fR*>V^={WyjX4R+n5m^$g% zHsh3VD)>hOHVt=ezQV(}LZ79AfZ{k=_b{gl%PL}MT;8i!m(4*oYgOooaN_=V-*yP; zSZWD&fC~y=1?>jCc36T*AnAqt;g-r(KuG&b7*CiDlZ&}*GAMK*R@OEcDk6oesIwi` zy*FmC*jv+z)areAmMF}voq96Id)TMvb!N|RDXSRaP7z%f3Z53^l_exX2Rd=a!?ENq z3654Jwf1w_1ZKz8o1f(_(Q|`LJ~Al8@lG>n3_l_=v+WbAMs}8qiG0=5dfW!TJc+*f{icsvw0j1OG(pUg! z%fhnv%6*wmu9MEtQq=cnq-SHQa|;n zkJz3EoEufMluPrHq$dCw!R7OUuso=hO@iJI>Dr_Ioq1O$nU|*cwr{b5v?Ow#)}H=@>E03~MP$ zSq+kBebCZN=~gMk^c&onRnD>F;7i_WtUhB zMOmz9z34&S6xYBHr3YF^F`t<=PoG!J16_2*T#hrNBad#fh)$v0S4QIgYWRH>hsey| z$jz_SrAI<12h~fiXc9@I_-n$)KE;$R?-k55?buihiLLBd**qsBKU;er4~y)-{<2TgxEx zf3N##cH)bM3e9;|C~wNm!x0e;cETa=@Cv!F8q)kc^cCQ-7`v-fZPR#z%e*reK-N#x zFjBq2o-6wCFZ8JMK^kH^c-86x2)hpAbd8gbUU&Zb!*g%w$MAM&!)#9N)>y#i*YW(b zHwaA!HFqdWO08)NlFj-1Zc4t${Rj{#1owC1GS70>w;Z}&oC2czv)hY;L_uDO`42Wt zMSpb#21{@y(Y$}0NO8&HwD0%qC`KVEvHdgf2A&~Uy;g#QhI`MxEU*Iapg;knA3t!MKC7ec@*Ln|?C zd$a#n+9$+a;;eUrTWQZ=C#MICoFg z;8O-soeDu&E4et>H}2e5ln7$+Pc2K zwQS{=<(X&@S)J08(e=1KqP5h<RVasq<}wh8u2}yd z$nF_F`}wX{WSPn z+C{WVaki^BNnFxe=8ElEes8>Sj1N=2XC>RU%}rLA#9n2b8@)sTSj=W8Kgx0P^{2<0 zBc85=Wd$fuezaM;pB5EGBJW$ge?0vjLOC=aUjnRWTnq0h3_s?V$j+I%K-VL z4}UC7bmvEQEV9vonOa{3lyv~UW&x^Qmv4@~JLN5Z@Sv#+7QV0>FgZH1m*14)6eu+X z`=i8V8M@}?;1dM--jc#&Bm)*V)bR~}hLqSny*A5q&~>K;{qg<~!vrwl;}HmNZ5zwoZk?TCQv)5$MO zgln20Ofo!cXa%;<0F6;8K+Sd!Ahg%^%g`MKsKFUcvBs|Wr^mp(Z zCsLE}(I*KC-{de%+8}8{dfBZsZO*ESWPQ`1RtqPEmHd;ezFNIFJcERXI|^USy9n7c zhGhU;cI{i(2+PYhgrU0XcQ1U_lO-d)2*vQo6bINYx5hhI52SR@QS{VOO0JWN57dv_;stx8gyAL7DGswHgX}DDDXI65j zDpJvxN~-RoJL@KU7_PcEO(hzb#mL07v;Vb6`?U60Hslrh#2Lo7>>ZX{4q|=MIjEfFb zKaWo!4n<{@^vAl2nxbcNkEQEnE))XY0_2VSi#qIVL?V_a`0iDPQ2h3)B>Y_{U#}~@ zR4rFdDB7C7_C1>zFY0(i(++cMppX+_QQqD_BZ*Ij{#nmpj1Fva_V?9b z!%Ld$u5?ddb_<1)#@EWVm;163k34uHCJo_u(E#LIaEp=IZXRXOalH%LS?}MFa4NV~ zTc@ln97$yRbdVh5(pMj9{6IZSjy&O>7$6f8PsM!BM<)%k^-ni~U<&>fuZDD=0Qk`U z5r9%9(G6>pb#La^bgqmlKvnBsX<)v$770_)RV!lFYTsm7r^YYp9}Z9P?=>v4^L9}M zGC@^O{xR>z5nx7M+bm(e!FaDQ=8aSH@h!zLBXD^0u{jJEkh=BH4+R9Bxy3*nN+Y`X zVJcRIRJF$b%{f9J2-iIrMdIz6Bke#e=%)&GN9YQb}`U~&W++A4r0crJnS;8d! zk+=#tGJG3coMM+Z@hFecVx_VM>XxV*_c&)T5QK(wHPub$AZezfj-Z@eQ#X8UV}8xnjC#kjc!yIuTN$a-jrjbfqwLCy5lt=sxDli?ej0l zXI~NPtX3)d_x*59#<9Z8YXv9^{POv!TgmQVX9E{~J;4=m_Km-o7n<-e=qyO~-yK)s zN`Y?~eaxa%8&BYB^$I&E`$nYKi%Z~($_C@dzz1p5sGctm!YYG|s6kjgo@N7@lM{fU z)D$2NRY7o?Daqgp?7fZ|eBCrl3yS6F<(`vYpS|O?g*N2gQy`hDo}8@mwS`1o6^AJ{(nh4bOo~w;M*Y?McDrwOIX!%57kheL$l|x*gdVb zi11{C~erNy`1zFq5QYHY)HOTy`V>e@|0#TBD%K zkVjOtLi~e9%<2FBKqKZoo`~XXjP4wW1)h`tIagol17FKk)tm9*@{{H<)W^-Lw+N~N z5|n^|&Q0dgAdcZ_FXPpvR>6bIs!U3&a+u6CLgS--E$9Ax9bj zjs}>DRQV*p&ulM~pj7En+NtIwJNt*65r-E?totp#oFF<4M@g`_Wj;!SKf|;UowT`@S7!X6DC! zTyOYuCO$s?-g_A5Wk_@LzE}NaUhULy(k=nD)P-$cR-Z{ydKyl(BxQvPQzHgfX}0YD z_&$KyWQAq@JCb^vK`WIvXTd!atj~-Y`u^>dIIn?`2IS@vl!fRW+hm!QB#HWHCag<~DDnEeU@68GdgA=rJLYE+JN#X6Kus$} zmaD~k4^`xjbT0hH1M+_%+XvCS>a<0G|G<+peeBCF!c;iW66SWS)RZ^)Q93cjHFgF7 zg{6M@A<06DaCc=UTmK^p$*vI5T!Ql4S)O?~@nIZZjA*Ode_7@X38QH~&u0M^#Sgff zl7ATF*3UUZVPby$fV&c+a)CxcMP+sWIA0L!`tP_tU+@j$91o(9^z4?|MA9(@x)Bl( zkkDTYsgr$wHH@n!=^sNoU;E4)qJWMhD)%iePH+IoXKuDQy0Z3NZKLP^P0r7+$5BH@ zr-tc|das`46jB&^8|$iNEUgd1P{7zr`}M@NnDJ)Y_Spa6fz$>A^!v`=2ThybrTs!M zeI_sXDGTm=Y2|(`=wQV_%)Ssoie#I3q#5*za&h0!KeEpxL3?qRyBz{lBjrLNd1}|M zM85_cg>^z+@*h1e6mmJt1XcbKetpHGE&9*UkVZL5|6|MN<&1oZxms>m@;d=z>Alm} z1@5=>A8JCZQe5>^Hql{m?Mr!qWw@E03VwqMO<>nU)YIq_brs-p-mbSxca)c3yO2E? zP)7&Vua8!W>e4q!v==nIWQ|VY)iq`?GYhSoaFGJn(v0D);Dz=wOunz3#kt{L)A%Hh z7@hB+TqORdF|XcWmL-YESksC}_ouZQO0J_{f?oF~npfXsP(O2C>BW8Lgf3s%#y8LE zDOmyHI$Bgs(D-NU{(6ox3vdeLEC9Z|ma%dAX3*I3ZYBpvNZk%o&3*5_B%gF%AoTeQ zfO;D+4F(Tuyr0Z9!S)fw7ra$1B<%21)3nUHe{M6FGJdDU5+`Zo48HkW|4X?={q(QHmpA*QG5IIxh;5ow7<OxQej#ogI4L}dPCS@ z@BXPE2BDt!<+<--;{**@Y1eTA8b}KO+XPYS6E$&DN@l&r(Q089s1h8c^8lNd%77|3TQs0)v*xnF)Y_Se-+-ut;EBt2>HB&#ZnoX_lQgB&y8 zRrI?? z2>?83rg*^*4as66^U=~~e*%go#r3vxkt+HI2K4&3(9&e|#(J3i3vlhhVLh`iM%NrD zCBq_^H7H>sC9Nr;8vqEH9u>xMJ`L$TwOiN@PUTG}0tV@Z$zt5n>@(zD8wc}3+^l7@ z56LhYEIDAKyXoJ?tL}AY`A=M*Fp>PA21NV($yCI4-~+N) z9$xY?+Z*}0ucqb@lu?K5?jfrWImq>1Xiy$6E_a(1((}^I00BMi;f7uHEs=kcfs4jI z>ctk5e-o>IOJ60uGG9$5Se6ja(^!U3Ba8gWglDf-yx2Yi7jaCTD!T6L; zOQq`)Zb@^hYv@{(Bun(>6#0YKbkTpR_XIPW@&fC6;$-K3lKU?@w~e9 z*7d-u?4tfe5Rf_+yX|LO0fCN3gP&Q5CWrk&=$T?9Hz+mb_W^1X4)SB)-)sR6v8V;c zDJ?gl!P^MV`6&=vtSlaSJ%%X4v$TLNx~V3q(>j>8t?X9c$Zf4Eg{Nd(6J<>j4lJOO z$E0jOs<2&4EjTT|wZ28!bp73nMA7!n9wQWx#~Eik^+_L}sw%)16-Jl<$Eaua=3szs zswGwh6XGi8OGV8NBDdQm_}c%9*nqY*b$)Ckq)gN0VZdz3^!s&UC&VK0UY^6*6Hu7c z48ZiE(g5Cq*IcgNmLix`e}$&$pR<}j1wOG}rxzppy)W{0iFS@Fc}2(ZH*(6^EwI;f z;!}Ca09TBsMW32$OYI6LwIrLJJD6y3OL0!EWdx5LLWM-X*J$z^&a8wNJrsY5S@a~S zUK+i;O0_KCPq}zo08H@R(yy{37E)XT$e8R74L8k@|Nc}l0bp6%M~h+rO3_|xyBqVK zz1e%}xPG|?>l*ieG6|HsKt>;*BewnREXaaFDuo~9ZDinZRb`(NBLJXs3ZYJq(4{{o zBs{4^9nhpLmCt#gcu%jT@#>^<>qO!yu8Wb;YR2;XATtgK7>g3cq`x#6>D)i%uP3A# zs$S;m-n2Oy1-{X0xLFb3hitH3ZUOC&fX9@IV{p3`7ypdBf#p9bjjLPS0G@aj^ZlA; zN~F)`-s+WE^W2gOIiekiDjCM9!BoKSrgWWwhmwwy9O=PL_Wi%$pnon>U=7?fU2+au z)ZWUm4Rf`+U4C7P@LyM)wRGhXVyPQX z_$oot`xPYpyb{t$HVRO}1-1Z^XKmBBkL%N9-0h}Nl*u1O9#{E(Lql=Ht$+4mq2#05 z*iv?Jvg<4t+=b>2pZ$Ko(0p;Pw_5liN3^k$xDHWmP|7pyYfUBW0%Vc$x@Q_m$5+Jf zEVAFjOR+e&Qa<3fcW9InX)pPmo`ATKceP5R(BkSH{Cg4Hh2T5S$*7u0#fw9$cQRkF zUQpb4OgK4VhZrHR8=WiLqhTzsBuu|2(=CYxKkFc7lx2^7wLm!x+3I*TWZ?5+K zCED{j69BGL`bPkIV5oXH$9*MO`RAxqIYqiTJyT9;!u%Iq0lx3*9Z);*e+h6eTC%?kvp) z7zaXHaxe7+X=C%znJmbeBZihjcWdVlJSx7t{FLOqC2V^=gD-`9_1<%9kZ7W5k=}a^5Rnd2^UnA8-h2PJEEa1)GOWzZnVEB*XYbFJ zivOI?A4hqA`+*AkfV^<-Ou^LKX$(MD{Dt=Db6Xd$K<;JOG|pgR+pt)YAO=FK*D(Zy z1`DU3e!eCXFvq?1{o?y5*n|Z1#wa6r=-S+cRxRlpNrs^SJwTvR=>SaI?#cPkr^oog z%&p6{D_Do3(#&k+g9n4=vT~fdgegx$wGR6e1*$&$l#&8DM8UTvQdB-y6dT~mQf+=A zk_FfpFRdjwbOCi9i3+X?&8Dx6oNCYZa9MYu!c)PfkM7FLW$vi^3?m6ajQcA=R>Tm|cn zMav8KvnzUuNK{lX&T`|g)Fcik3*{=9gD4rCc(*O+UXbEts{}W+MEnRvR5`#zDN^!(WVWV z2)<{Z+3P0%?6;U|(u~`U41VX#Bl@qy;-;%U93xnybNd?s?uE9)mg5d76Plr#sM!a;a$R>FLVcmqiqDlL!pCo6KCqYpqqTiS?uM9gr1eVIl7B`Ptck zO$&VqWGC5Et4%-@6KyViE^+=o07V!U6_=*i09uJA!URC$2R0P7W=cx&Hhn`DEWWE! z${kR^-I~fxjAD<$x6o~m#pSt&lfYxRR~%__GLZKqU6n%OlXCFJk2TV7IK0W9kw{P| zdx8xUsE{Oy5+lCk`X8R9f01Lg;XmO{ykw?I(zn2N4PzjXV$Q~SLHc*1*roKT(|xe( zd;Q{}rxfEU|M3}M;F!MAv$7_{zeK%0*=i3}e1p zib9}}nj?yXxI72@|3y>++KZ1;4#B{p;^2aBSS)S>C19BPg(WMxK*-fw1R}Acd1p-aAP<@q16K!X7_Y`d;u~eE^B{HA#gIg%(?BE&Vj?Cqm8;kC@fQc*GQUerzhCxr79X0 z*?jN7?MDfak58)C7^VuHD5UbY;oWh`5GWFJ2XO}g)6e>? zv35&!&xzl^&{0&^NnH<`&JPCUYMeuryXq<2ztF&Ste45H!Z}0&q*I6HDvX8$cA5x* zM>;&}W=~7m^U2hGU=e`99mb9W_{jmu^4#2Iu$R-RT^)_jr#JNxQ&EoAB`g{;w~-H7d{;%dRh~*o6;5-Y1Xc=Pf)pia z)7x5FB0nO)E@|XR*II>ZSR3DMZ<+cF79gB*vzbjB6H!ki8RS)1NHZ1baX2kbT zs#3(sj;!EP>pb!LY`%WGncA+<(~CV4aqo}#wyO(W_07Q_s$1~q zFCO3fdBtpjT6((uhQImkfy=T5&>ikad#5}s^19y|xXSVT6T~xL zb}Tnh%>2_DZZuD7+K)`jz0QYP{F>^nT_HMo*{eT;IG!kBZ4GM5)bp1ySI3d`sX@%MOXyr?p8`u21in}zc;0Y*ZwPPJ2WI;CFAiwRE{ zV{MK4+%X^j$e(YPazSmPId@N>_z|NJ zHBXX@dB}_9<2I-JqWp(LKV$|_dIUX5Y@2a3j5y`vHl_th-+-CIPDRG^UpPM_&?e>k zi{F7adUz*74r8Iffq!cULTOU%`hs~|I^k-1dIwP8iBKgF{pqYaaW}Bt1z}5DBUhRZ zA>~uiHcZv6*_usy3@niYxYaTaThh4$RD`4C&jKEw;)~j9fp9|~bCcXkcTp8+E%AP@ zCP{F9mtn9?x%@%$!inFDz?tl<4}Tm#`El=`1IzRgMpDXEB7Yc#u98j1W#=!eV8UQy1|s}P-B3}Wy#kP*67WuEaS2RQYe z4?{S(sV&)ViK#*BPsiEPN(?|>vL(%J!8|mo|bND-dpxQq)~(!V02#LWvcBF+OZfgn7yLW^eR*M&OoiOqLV8 z%cZ#g4xjo~jr_20;&kdmAX?dMy+DkOJgCbx_I3heRYLQk6;HWx)OQ$BH@`X{PAJJ>x^Uts|uJ zioeXmQq+w@Vqb4|P>m)Q<)VV^8@KpmzSd*@#m2KtwX)#es_kLV%&-%Y-9u?Y3@eV0 z&x!`@NI>a(AD2hV>1 zadxCo8wg~mR2ex&TxlAzv8S|MLDpSjCCEUQvZWPZ;!H&Dc6$zlOE)?G8@l(+3@5H= zYc+XQ9XD6PNZ_^L)<;#Cb^$f0vQbESqcKXXBTN#M0AuX903@_)s&{@4MZePOh}iw9-*vP4=L6B9{I@+P=&lhOHTf@oL;S72hI(*V2KJtx53S^cg3Brx5SDm8ZEXSc*J+!Px)2+2 z7H#ol0W6F8kL$6Pz}4${jc!}V+uMz)cl)sx9j@4?eUC7KcC}LB1h;>4=kKK)|Lw}M z*zPuSLs7%7m^1PIIe8W6m1uvX$OQdY2|_hk28i*8Am>qIM*2Y6z;|=(kq(jbLA-&a z_ZQM55tqaBN6T&DHXKnMFipr;-eZ>kYSL|HIzf7co@Fmn-Qd|b=jy!{X| z5=^_QL(+wL8n@$I{@_^hhJOs{}9M%6? zCNC?uZy~#Gv!;0$T?}Uaa%wUFRoDF{kBFc))D9XL@l$qg$Oxf_I7%xK*e=8jJf{t~JTb z*9RTAe~u>mWqTL^1B3Al39}=S>l^Wo%Nn2c^IvOi+C&nqU7KRjT0UCY6d!0nbo|0J zvsFF1;F^S265qZWYv2Vw>`Dghf|E|Y24;8$u!p>IsUW(9!xz%GY02CPzpY3ZXgV-d zrV3Ph3iy1sdY6nh=3|FX}|hM5+x228dMk;k3jveRHH<>l#A2zfFe$&#BJ^I4mox1u)x_ zL3&;Q+}6u^rp{!x!nyfetiUB=?6B7o^ft4FQnJN`G|9=2&K&Dnuoc%i=i#nf3OgN_%QASAoBa;{My-{h-lMI}ztfjouEU8?QLZu) zDxXwar%x{8RMZ^hLqX9(zm+F>y1(8fVlkL-A}Qvf^Q*@qq;pDIHncLJeXMq+3}bjM zQ_Q)_R*$>-%z7^87iy&pn^b`nA_(x$k74$Gv!FHkXm#5wtIzGP_^i_p+FmN)k>V=P-{H9H> zs2m0+K0{6?VnF+7Ic_rrNc&!&G^xD6Jsv~AoM*#qVZGk0ztN6`LFbog^wD3?BsQ08 z>oeD~?cz9rIy0EIWYXM^>G@E5OQ7GHV$-;Cfc8-jkRL=r9%`isNjP3SvN{uOyWGwI z=64ICu}cFe0pieM+ZyBdi!ZSeo9Qo|PSXDKA9>cyrPu(5zoi~e3F}LOqLj>*pY&q0 zyMHb#@o3D=7e-Hmln$gOQiJJF|(+kG-Gat06%76$4A*Dp| zp`ax}RuD>cR`i}q2Dcp0T_tL!9 z$9lAvXr@A=uCPXzJD@DHiXd(|iGV#2^4IS3e(Ira2_? zjA8hu%k$tO4;qp0UupjaiFu-Sy>l}raD80^R*9;yRUf}G`-O_1t}fz16zxPEYiU^m zsV6Dt1T}b3Z5p%>8q0xq2L^dsUApL{S3L7DS@81H#ao@LcU&lPuKXiPJo*N! z#X_L9Dv>23$`0NJjaW1Ff^)L;jd_`*Zkb?!1XwMI)JOq+Y5ouDHYp0?{NaZ#Co!tS;L zEsQV3j)?P`oLhhzz|0_fa+k#IW|H<(7R|iMVdPgBbhcStCRK@8l6sFcVWG|@Y$0Nn z#rN#Mg|Eir1_^0q7f%9J4m%dd!`Ha@eA;YnaR-I>ZkEzai!@5)zj1U?L|X_Za*H=y zhqDJCh*gyBT{($5#>JH|OaIqt($%{)7(eYc!(!O(y1LB%ZKpT(P0PH;Q^d9wU5-r1 zrVjPqzFK-P;M zQk)Q08xnprq>cg#Sf_}PWZ)u}8uApG0A7KpX~7jQ^Pz0f`3+C>ze^9F1Y=&eQIIpH zZ;zssZtv{HTfX6_YpgX1He#hJ)o@T23kugJrxkT~-B9p)N0h)5;nrEq9&O-^p=m16 zZJ>0)YnpSK#?)b&t`iQcUS*@Bd*m1MkVv3<_tQ<)ks>rWMRq273FQS9S$M1XGE9r~ z$RzurVbRAt_xH9<6}ZHV#Eeck=OZl%E@#E+7`_K~61OS}ThKT-3k9Z0a0pPK{MXh2 zx=blI1sLCFdkAS_%!5UG7R7zGcooT1( zV`D*gyMKN{6x|tkedn?oL=N%}x|>lzJ*RXizc}O-=`gU1>G@PA$?I`@Q-vS$$46}p zZsU0CXjuPSm}4mB`+%t7wDla{E#-e_!T@5T1(zE=_OE%SFEG+MjWrO)Rf-ZGugxop zRrQ#}IE%;5L}whLYmt>-@Hy6n2I_fPGR_-hgFzwS zOXZs%oxR~k7G_-m2KItdiwD2N5cJlDFtDN)VQ@Oyo$4mEA}var1b5FDQACXUedhIB zBD>p$KQs0jIovK9c#=id-)?W7rQy8EP6mxmy}}Kq2||6JlO7)-kiCa98ZAF^a=3Wg zew%#B?At-bC_;X}yNGG(tVAGEZgj}whoIyEC$TIwD3eXf=swa$ciL^~xf-pA+9KR7 zjQG>&ly{rJkh+G(1ia4KXreYUX8zs%%(#t|>-nerQJhG(Z|@6J@)FTLRQPcl-}TF+ zcBkdp+@0-Wrzg_6Mr!|LSwQQ{WBMYX+VsgbudS>kuPWnwlUb{9Q{3~I0&ivYL6 z*O1?=h(!W%nN`GRBk@2*-bW5T`F-WU03Zm|p?#dgzE@nhQC5E7P-net!BzY(h72H= zj2#NmZa$I)uZ3Uzd;;tGKCV)oi6m{OJ zjnxW_qf|$PzwI`HUg%ge-Rd4ZY^tzF zdMQTq8K=eBmf@I-8DUmF&gCX5X+xCXZANH){i(uS?32QUYsuc!P`&X=D|O4g z(YSI3iImm^ZTgtb+-I0tdc_z4&uS|l`__Kd*3RHX_AJL4NNksIxWFel!}0L_-Mscf zMMsZ{Fbsz$bEirApGVkPm50B zan9et&UstWnc7v*jOaxc6PGXv@NyENcMRx9CYEcnF%^9kNjYDvfxz9rxTuZ4ciT(c zAqqFY3sk%IXe!xZlip#I*;C}$@~OLrKMNG>U|_4tH>kz_Pm9ZCd_YUYj>&P?4)_WHazoH>n4SkHDeT)ZW5K=siVB=13Gjia?thWI>ID8nLn}KEjNLU{S49m=Q)EX zQbM?z0KrFXqSo0@oMqeR9V20ICjc}C0~18s?{R->zaaL<_6JK%zB?}zIcR4DMe&|p z2Xw=VCQ1c{bf0GcN&&?j>3}ztGtSN=HdJ0e?nDujtl`G55jKp3Cebm{bsz-ZtZB5s zLS=_yaIk6+f>Q0)!ef&|{@#1GTN2)K<8PM|j^D**@rh};CER@-y_%yd;g%KHD^``z zP9&QW5?-d{(J>?Pz!2+_vZuF&li1Z~jWvT|iqhf(8t0dIC>&|r2iW!?2g$pA zK=!a%$*ls+ZB;rZc{KM_9Hb+fE`%o)WM9%us1~eAY6FjI={Hiw*tE1*-zs-F%v@WW#yyJ-1*hZn1?S1raZH!c za*H~dOm8KEbLsc~Gz$!J30?Fy+M;tbjv0;;BsbDLa3DQz(&n zzF~aZS8~(=LfB6xaU5KP*F1vwdh{wGX}$jnkS)hqtz0}B0<^BSfr&r|lv9P~)P?Jn!iOYvXc|E5kNW3;5Ct&CL4mi}tGm9bNJ`l@mq23X3?4aL z&3x6wr0bld>q_EaFwi4J5~RMasD8iZ>m92V&o_K%?n>>f*wvui^Y!$7`ch};!h$jP{L(N&JOW);t|#S95Jj9w z@G6}23b$t593o!rF?AIm!dQ8%*V7_M`GkD>b+U*~fqEh#@%stZx062E0FP!fBO%3DxGiqq~3EaWwNdaT3@$I%_&@Kl4ak z@ccLy4)7lzVCnFgr;%GD@;*Ol0C!)wWOZQ*w|=X`3<)*C&+hqsczEG%KnJ zxj)kQ`R~6&$>MZ#;qDl?ETxoTf{2Q?qE_MEY~%$^lovB_^zP$sod>zojMUuDy`Ry?3yBD?rH&_w^Bs(#b*w1<`o%yy> z7V?(wYW#L*a*usVZ{_h0Sn*#*V?mymgU|v4?{K}4P(gf? zaApw`0@6v%Hyg|teY}s}sppOlM(PT-0KCnJ+2)jgz1m{GV-Ym%qGg9?nkV}B^bME)fWMhQ6R%R&_8sQ!!?OA6l(=%`NzMa1Y9 zTJq=f>6f77wu26{x(w+s?IL2>>GhKVRy#Y*n38yD6=r_WEFFmFrLfe(PT!L|3|2Cj zp?WU6=c?VU8gv&u(zaO7Rz_GZztvSp#vzwq)$vy^mpvHIE_@0%daEX&Axm<|u&MSg z$C*~_IBMW0TlN|Y5MdWV?ibt%nfTys*QM)aaxXpza)CP7B#W|H z`RUnHx9nS5G$xlr?IX8JRQ~JKse_9Jv)pB7m89Ci_&fhCFNA^d-Lv>e4au`ZdQ5vj z2aBMFPALvRf1@yotRPxaOFmU2#A>H3pKkMawsjs8^P zRK-&BEgTts(l@<`nIuATeiJpI|)3j5f z-%2$4v0*I9m)f6ZVqmtS5R34ARHi9nU)yYgBkR>6GnZ^oYvy50}SogGw zWJ|S_Kh3|4F~J$7aJ3Hu-E+zoVZdze7Vpen1!V(c8C2#oC)3D$t*ln#kw^=Zwo zrI=z!rnh=SJY%@`MDn;Qf#x3&yDZt~UMdosiuPrE8&ORM%$JBlWEG1U;)+w^U z7uOOp+2}tFhFAd*MGBe>2rkxHbI&%#L0#8KE?D7cnq?M<%e?%kxWmw<#muj(MTIFU z^2Bwged-Fx_yW6ABX#ujAd1%;8|`U~N4U|1YA z_$6`sBG{f}w9M8kBdm~otZxXx6rWZ~(z2ETK4{BQi={V=LFU9@etQOG zFUS>?0IpG*nX~P<#tXYJ;@1k@G8JO28xR5l(2mN1Q-E?nh=XEjpFNkBav6 zyvH8l1B*Wgp5z>`mj`hw-!bLj;X^dv+EpZy&*)p}(2owixJoXT^bz`wEq=GI)MU>k z?sv>|#|^cMX(KcKA#BaoMx1yhpse*=Ej4Xu%eKbNWai`?s&*P8sR()zY??anUg|80 zKqdjMPyVM;58|l%5^PNLytKF*bM?Lu+6T80Wi6LDL;%cE0kqHZdz`nW|M{}miA6KW zMP>tsfBWw3mtwm!0o@W^F4`7-u0l(J<9oPEnZb>%P8GQLGuN>bYB=? z-)A;&HEj=kv@_uo1sa_X)5hZ5|0i-GQz;OnpNch*U6I&%o<#=WuYhV9w~CD+p`2>~ z1pvR~zLOj=s+_4@G<5OyyF5simoP{WBEqTohWE(Sqwm+UYb3(o2gmh1M&ps-AV5Fh zVIdH0=>IT#4J5%cLN|2pG;Z0J z?ouMNuau1JJpK4we{NIPbgz*HAD`puOoJ*r?yK1JY{@W1ShPjuNOenC{sii>(!-B9 zaAX5gH^c)2bPj!dYC%*LhFCM_j)SYavlE;lKT8?FPG#^o>zOvzY*3_V#SmQOb9|Yu zux83P$ASPsg@%HkiT-9@-TL9EG+=|tApmv5DA9R;M~Jiv&R6%RpkLAJV-qoz!0|n* zl%n-?iTBk{ece~o%K97M|=>t z0bM*@WOM0Sy8iWypXSH=Yx2YAE9adg!OBKh7W{wwthes}cOU=Tyo0Q0ueLa@DbS?J z#=E(CsjyJ3iMz>0@(_hFi1i`W5PLg>M-AGtA_Ki&3tc5TPPw2f20aFMw=l+k0wsLD zt8D%G_U?l*5%_h(g9XYa(|d#s40xW&=|3fjMz+SKiE$2hNLL@avaFhB|34>`F~Z{i z_x&~UIHGGdGCRqSF>QU>;1X8vHWESMOdC0<@Yit7qJ1DO#v=PC)jyCwrT?tYp%g4| zASmU)C}KCJZy3is5W&*a>wA6gDR=fo5Bk*rOe6n?@%!N|2JlI*1x|-#f|#8}Ya{u6 z8lj{069SvBeI7l3(G=hR@2fZ57FN{?rhj|TLxZsR&8Vf72;992hF;jO=nmXqA7YoG zDqo{!37F|s4?21XctA z2%n59ka?hRmC5X*%FC;hI@_<6+r1EWdJyvT0$+n*4M)7H#bVW;yNgaId@e7*O>h` z=5BO>-8No3EdSQM(%D(lkY?@z94tQ^U`+hdAh%hV70pgHGSX&h<&6`{O{#wI>T?VyId$h zyr6;LmWOcc`HnSMc8lJdpaRn&@jugR%uDYn>I=b!5u$G(pRE2#cU55&pZIA|wo)r? z!jjmhN}gEb;4)N@HDIO!=o(`2o-~;)H!8Vfq!Vu)=UE zW#7eJz#+HZSy0&{GHp_Mw6@s*#s>ySO8_9dU7Jyef46*YDrzBE^@$p96#fhSRTa=V z!8ue)_`mUmf>OhKaOFnN)LA={@jHkMNO+aSpLUHgTHUJ${Elng#rCoxoJuVte>;p! zAwDrj;F=HK$~n8tKxmyXrRg=0q-dnOQ>O*ldHS4MEll#kWvM(5+XIlWo3Qo%ljqb3 zLg2vR%9<2F6Kw3y2V+FR!cVnQU+C!41y5tZx$=6s{R#I!o>e*k1$e;J3KXk2gPSUb zQ2&LgOh~Q()sX>wW#xsDMpH_J=sSdAs+xb0J#Rp%%VfkJ@|4<8)Fwhe=}&jD_bP5Q z)%Ch$gT=_>9CP`cKfJ2tW7cv-xi-?jHwtEDj?1f;FuP4{_$*g&G4Ll&Bx&5l8EZu@ zMpKWtYx*n&J=^$<84j7=@%?harIJ*EK@`CQH^1RC{lXqVF)v#0rv|%II7ZE8Xas}3Oq}_i5$3BGPD1>kV z9$?-VZzl}`<){Qh2Ngr$iY7AaD?WENBd}+^N014Q2;N`kru7yNHJRZ#ho#RYvfj1d z>$92#ObL47;t?4636K-E2@O<3iK%>d$YG3DsyP98U<_9SHSMNN=gB z{(Es<=paASz!nbLYZ~ydW?E;It0H3i8`i0BnEY8M^(D(iScki6!MtylgPFu}tqRw3 z=^IP4=&7sQz{;5#fmbtU7+fG<60TMNB@JbtWor*9vVb>@f(phaVYX^d;y2PaVhWu! zDZc+4msjI2Y$_##SZ^g1KaT+CDyiKiy?bmvYB$MpB1)Vqr^BoW`T4RGWkIhl@A5ZY zdE2#wF@l&_1?9%_f@Y9L1^D+FH|j%OuEaz0ygB+`5{kmucN&rD>7E}Fn4YI~N3NVj zxhTz?0h$cMR0~E#5s<*}U(G@V1oZzS^3XnK(u~AnW6D9no%poA@#K$n^HQNw-lQp{ zbfxQ3H>|o4RoQBZ>b}l@+g9ThnRNcTM-M+01io&ER zqL(it7IQf?et!AT=3v_7u*d8W1waULX=6*}3TzxlU+|2RW4g$zZs}n$&WB$%nN);U z+7AUYV3CaV1N?MIu;HiCkclt9@`m!F3@ zJI!{pEeW3|z4!7N36=NZ^y`C+@&bo>!0bm6c^kM=@7xX3)pI7#YO09NXUCz6$UC@> z+i()iXg&0OL+>jEj%18?^Mq%NpzEbv5I$7DAU67w1@@CCe!d!Mq6~i@j^CV)wX2oO zjeFkDO*fa9p0{E-i1s09?lFVY&9K$0Zv%} z%E3*7#tr7Qa$_Nq1EM9SFj+VDlv4&e7y9qG(287EaDjx^+B1nq z?YA;nDsFgE<<;%J+QflN*p^;6cL-W;rrLP@%ZeedY7~RkU(b8IoEXc`TZ9>=@hn0N z2I!aCmXuOYRWiPh>znV5j<}v*A(Fq_4HAvzkx{+TD^M`AOy_cGUv@A99kT$i+6W|2 z!TXZtA3{16v7{XIk(#NND+X>aaZIPb@95Yq_&wHH>{gmLd0*`trr$%H0v`teX)L}R z4*1909tKo1NC1~x#CKV(JOqr-d7Df6?Py6i;cXmftqYgxqtuXaqobp+_58fpKSJ3M z`S7OZI&}j+3o%j~Lqz^Bj4!<+?aY0oHl|J9=fjmeo61Nqox>vZn_wF<_e zJJopHO0%qIr5Dq4Y%uiCz_J1TR;rxk(@CRvPP7`AV46IFw4xafwx2(5Mp~)T*36w( zumMRO_1wdQ?(`8>L(KfCOS4xGO!ymo$^?zwjkRvIXUbMMiMz(e#+*dCoEHiEAc`C~ znloN{dd*$4a5Y7(HvdbM3$yG;sDeI3kxq{sK@h!cOTiMw=+aK^XehYZN&^Izork>_ z?FKMr(I+f&nh0A#6-7gOFOy&Bo-r-ybReCm6zM+Uw7)&=i5ay_W><+b@vL%8cxXa&z8;}J7Pl=%>0IEV+{!FwMuN2M@`HK2{AB}w-i@2k~~yX{hRPAn3#V3?zO zFz;R_)eG8Py+x?TiV!dPIsr0H{F3$2;f6FVtpMOfZVB+KsQfa{Lh*(mnjK3>9d?!_x_I{n$ zf{`=wsE_=_47Qd1=j^AcM&|Ixd@4ze6dNr7Mq>QQl8acwY$%xtEciEWw{`|IY~z!S zeln7Q-21_LI?=|27=MG*iX`^hA!mMTQB5gE0Hjtd7=_hVJ1?Z%pCJXkjCBmJ1}uv^ zky~xnmRUijhQWlNsCKeL%)8ImqNx^gi0fQaNC4bVfp$^c82t2_k>YXI`qDF1-YS7l zoa2xRGDAUtXPw_t5j_UY8IIc6@Q3qznp8MGr&diysWng(R7jUV@qD8Ay#6p+0&}4l z=fQcN3lC9ZrGkhye!C~9*9qJZ0!d0_)6xrIppG`*3d|2@wfS~abd5m~>J1gJp?T)P zl$6(yPaDfHMs*~KjcC$8K27h#H#}7A-gTonpb(n1_a}Dv#N|k8c3pis!0YWfrk^?| z3gRZw|4)J+ad`XgFEw>OvD-|YbLSQP%3Uy9eUZ%lqQcjy4iQB@M-v-Xfd5_+nS`(P z5o#&aCj56ZouFelMtNcOUV5r7N@>rpZm$iDmaP_;6(z(|<=q||0}QM8dRw5|8N)3O zMQ%Zx@qe<*oA@mu2hrBq|2$U2g}WNz>F@$An}xy(A_xw2XkR1`#-bNi_c&yx8&;3- zg?9mI3DVi*ksd0D$TedywcjnGekbOkWRJo|rEmj9lNY9ExFwF&{7^?S~Rl zDg<)5s()34CEmpqT9v9vHCRma6;QO6#mO?mX^RM=twDz1C%=@U|1&VYtve2oQPTm< zyUbkO-d#+rXs2T1O*Iysp3CCn2eS$sT3_s6;)nL-Lm7MwlLuCpnlG(|by9!}hTO{Z zbF#hgY2^EnR1?5!MlPxww$@qjZ&n%%t9JIgnEpC!o5HSa18T+%J`R!`nee(Vs|EQ+ zB${#i!fqVM9zr|tj4vsOw3jvH6c&B%$-fqoQfvPA{eJw>om7Ov3z~f5s8IMLNg=V} ze5CsjKVg`q=)<^pvIS8jX+?C=TwusOLeJJGI8{dF%5iqIwx7qtAIj#&FdNm=E$p3j znbZ|P`-KJ4N-$&%Gi7oTRspA_f$njQ6s^x2J8g|z_!o+7&aVf}HC1`NFDMGApC465 ztO@lWixLdg12RyIy=`eg=TI*v z@b9PeK>A)xIKxW?E{bgbyf-xksRkFEs4DPZm0+UT^P%e}=vF9JTHrZ#lspr2s>5%h zu*;((e>kG=sHFleCwwqm-0FZeJHVjgM4}2fGb4X5CZbVZx+CZ*Ywh#vph1|rwIO~C z>JQIn^_h>~vGwf#sBu@1BI5F$o@jur-YuLASl`{<8f$Gw_XrGa%ehSF#9nb>R!}KA z1iVpla#D5+oXF{;MdyHXK=|{&l%%Mdnw5i$BA`g`^Vr6aSL{I}mQE2zc7Rg%dgnUp z3w*I8XBu^*q9+q{=l}lwHoz_C2B}T}nJ!)?52J)dd+*He@rzh6!%E&1Dd6NP6u;$p zqes~qA~WkG3ItgL9;b}q2vj++MXZvZUckw)i_Vlw$eJ435BaJ%K#$EM|NQUhS)%iZ zQo-f*g~t%0`R{iDbO`KVr0>?PeZ}DV?K(FdKT#Y-tD5m55zgqr1yPuspCbz!n+9)k zr@8C_R$vHG1kj#RZ3eN`0v@HP>}n`Z(9Zjo`%C)pI20UbG(`U zSCdD_rPbipJg6jgzd=*a|5AQ{u`wTlGA5SKgN7rwn@quxmtrgIBU*Y3gt~BHjXfx> zeu#VFoA{)9k4@_jFIMB}c`je-IvMF!#ie0t2yPD$qQ-NUgREBmx0fpl18k2$m2BgYp~8YNPp=)9RQ2kD}( zw}}yP?6OqP<-X<|INCCvjM--wodgCg&)BvHi4LLe`d&}f7R@|d=L(`PMa_%OJKi5z zA_bw`0Y|ny9C(ad?*LE?!&I@1;kh}c!V7zZ?ZUaY-&TpFj>65IKUN?8g*9 zFn4_TcXUln4LdQu+|I?do?a>Pt>H9)@gpQGlx{GShl>@^LZG#vr!T;8xecG}4e_C^ zV_<-uasrB3lmL(_?d%6*T;v1+)nC(AN>-1s%#|}Mt;OXtgs2}j&{Xfl)MfbzAg-zv zd*sLCOJzbmyf2Y{KhFVSW7uk1xpF`m**#z_oG~019}ifyEvv<)q|}l=;s^g1Idys+ zAV-xCop%yVdG_Fg&3)sL{FHLST%};KBPmd>05$$-ZS?k&>r~JyXQq)A%W!r`XoA_L zj-FZX|7q{b-=Xf}zdvIOSwr?+C=+5VNtP^8gk&pgvhP{4&ma;)6xl@~dqj33B-t8_ zeJz8@zHc+nQTOw`uIGp64|uNYx$5e^f0+4v&Yb0a&UwFIi)volEN;5+(}=XEO1NCd zn@cZyuUFEc zrsw6%B5pP)|@>o+v7w_l3q+5QAZGqL*;+}j~xfx~~b+Ia({5S(iGNg`I@(lDE~KJ7^ma!e9S_UHnlyrSN|L=vo{t(aac7}<0rR7z z@*q%>z|vbtSr`?}?cjL)Bo2pkxZm6DWj?w!y}y;4b*3^q{w!++^)>ZCM6q4ME9~`K zt(7jDh!*k8!JcI&YR=joX@|HkmV)G-1{r%vTin5K@;{Ka0NES5hH+AXRgP*U{RUDBzaKC8aUJwhx3N%>sp)~h(q~&K-#0HS$Uk1~ za*0A?&$hslM%PfCC8883n%oU+Zpm9WHm)t}97DcbLA8s1MauT@s{02}+^N%LF9?ZYWe!n;4oi@B?q zCTwS<CeXDfiis8*E9dX1#TCh9>)NTYy-pO9`fS=F%{ z=jXxT_0~gXZ8UvDDu(F6FM1gIST1-PA6z$Yv2q8q+! zBTbjT;`oWx-)A{d*yM<+pth+xk=j)>-i(s}YR_fb+t(yJj5~OE zMe$nN-57n$m6U9U!@~RcDYr97kM;S9Lj+;l25-afBJt?bAa4ZIC6kxU?5WqA?Z(G- zy09+6oAKHgF^Rn)eg-|9c1@`s6osFaf(Q6=E0CVTy!I$FIZadNp^LOYR-fAuv~07w zXhSI@FxTl%XQsy(E@(AqYFpY$4DL_rZ||=?L(1+f?@OP*{ zR}>aT&5!Jzv_Jf4Dq2(sm=_rD@oF;+sZy=G9^=Y@skqvxU_T4l;fc%rE}N!lKaL1t zO4(lNan%*Lz^>AFCu`JF+3#pOYWWd1hyM6Uojhbf%oSUnLX1EN^q>-pMRT<6~9CaJ@V1L<5^;trF9R|IR8I*0EO8(C5@UlG=AJgntc zVm?|eGQ#?)w4#u1!4=`db$UQC>il|)U1-+ME2AeXEtYaRM)j6*vrf6w3NxGmPHv5hV!elU=F{DWtcUi8 z+COhkw3q>6-)Q0i%Nz}mN-J%4j}_32uzCl^<-^+1z4Oxu?bN(dz?Pjq!Z&GsAFn!} zW_#_{i9|iJ`P}D`Bg2sz=e;%j!KI7Fvc|Z-!O_lNZU@&ih&8s62H%O~_WVl9>w?Gf*A_ws z3qH(6Hn@$q-5c6lzP2&>NWM$mM7sBv3tq>TWfa?Y;P|=>)9(L5nz8=?UM`}H+Rfgy zxCLt+KK!iZX@-&6$6venFqj16x{%)uWoQw)4-~f!+}`vk^k8pyhRpM5R`Y%?ykX!$ zzux%AJZZpXSW&!h%P%!{o~0=cAhN^UnnGOoHRJOD&PMHZla7NWnk-E}{Vw(?i$@e9 z`LTYl&1n2PmsVAge)G9=E5YB`F)R4)wA2gF)vei)#~$^0Ur>BCkCUoC2ztereJ+Z= zumU`O{jP7x=SL{&G5Tfh0eM0qIyDbjjy#83gyg&F4jgxHgVCZ1W%Pb3e9W%W>3zPj zJ?C>|z!f#9!u&kR7qYYqNh{6+uBSzl)I$zRP<>Q>E$(dwbn{NN74vx^Mpk#TCqZ}i zwys3xC}p}G-Sp>D2pYQ>aiT;xh>3o4R;urLPP8CzK;MgtN@Y!}*Qn2J%B_8e{FU?- z3W(nDL3x^fb|0-wB@Um2LA1u5TgAswSxrGoJ`Jv5%THrgM#*X?%Eng8;y3#QI?BFc z$CUJi&uXAQY2}i!VEPVX*z1_tk^?*<3*`)lHe$(G?B@KaTTaIb3|5Ju#kXxC>i*i6 zdqd0~rh-S4JakKT_u1sMqZCw2fpPNX3Z1FK_9{fN z>!ak(iGF4mFbX7W`=*h4_4-l9JFt9om_z5Y^Fezj<9!XAWDC5b{g^>LD+A?h*vj&k}u=D2bJhg4UkKatn#W!90AC?oe0nhI!B)-t1Cdt1M@n z{&b&Vk#p7eVJH8Yc(Rd1$9~)@k{hqfov`DUVyI0E??#mD$kmxc?!ptSy+`+1c{0-6 zK$J@_CMZg0AyfOT`=XhnAAQv5?Okpsif-SXU)TNgQ(*(!$9?RX-1A!*b2fkvxqJMj z+1JnF581TN)3lMw4oTWc4a{xdbK?uF&5aItFNW<<1Gk~=)C!}H#+v85!jquDQgP(4 z9&Te&SeP)Mbx3qU6DZC(pYV`7j{{#-x~D!8E#~BajW_SyiOpNu{Q{shJk&}(NYf{2 zxIl8jR+o!PlOBo6kK6aA6$JMbYfnB`K@kqA8VPCq&}Tw`SjDDUee-oPmUw046lr8A z^bsfM!GZNi|4Kop4?|hmxB9W7R+qUNa3SHznMszPL9}0iVL~@tz-m^t~XV~TemoV{Drw{Dd z4}|$q_{IsiM7Q%PTzilR8NIMN0>B;g>8ZSwu5c=Ai=mSYa(88iZD zzVVPpSQQkG*@`kf93XqOxacm-ZqkuF%s>1Jb%z~f6lFQ2wN>h~;c(4_!ewy-?DW}V zil-;>{;;=aYJ7iCMX;BRBpTe!#46M28q#Wi1rFny=N@l;mXbUPw$OVe9A%0b@;0M; z3Upepmy5mLC}JXk`O!>2%Tw8R9~TQItFXP+>`>{~_`FibTJbKb)U#F|H8+BhYGKqz zkK{pCA|zUE;yJ>j+DC8aH%+UVkIKicym$RURH&03Z;IaWxyoQ8;`={IeU3thIH4s28YCxmyUvn13btL1C5vF5De)0!t) zFvNJ#*yv1+;<7Aj)$5IEZ>N=>&2<~sc5T@54r#N!=B95l{%y%wm&=X$Ou4CqS@tQVB{Xyy#MnWu zz2IJ#1e_Ga+xk&K5I2qJ>8Ob$E5>x~khlDnZ0e{Gd0WTpaP!V5&wPao2P_d>ozb#) z=43_Z1fGLP`%L}D&X=l>B`mQoWGPC&KVQjT^?Y`v)P25QA${90F;i}-D6vV7wIDG> zj6oc^3#XMIwi8i7;$l^HmwK*MweMf}=pt{r!!HoMOFm?R;0S<;u1Q zRp7JC9~|y~sHEDui@?y4SbZi?RPDVK_;A8IL}B_C7i1cK|5Ow{>3xo{W`gdiF0?53X8LGFBe6Pv zOlR7Labw`|3ZZ&^X_9b)J~C0rD6MeLuqoPV>yhZ6^;_&+oPMv~c6R(nXaKRZnTUl2CWBJ*sL8@W?jc3XD~S9ZYHH^;emGv>xgfF;_|D2@ zj8$Lmew>Moo&V)`M+RX2K(^vk4`N={RlnQkL8MP(oD<^AF16YT<5(E}R#27!Q(de% z?aiBN=wBznRxGu7OojJ_zXv~pnejXJt_07T60^)++v2Q(mGn75t^F~4*Q0)Jkt;Do zWbE*0#S3UZ)+A%u7<}Wn(9TnyH!yFUPp;(01=FaehqUFzSd7_mx38-85VN70AZiHB zD9E5C_(p3u@ws$LLE>|{lwKF*a0gc&It?oxTb>EwjPRlB59@hLMHu@{QObDOz;32<(z$k6+3d8@^KheQ?$3C8 ziq!s)#oD)=-N+9bX!KgBg-x@eoc$~Ef%=naIil6 zWcprzmppxUg|L;gL`nk~H+e37j;?AK%5T7$FzmbmEP=JJ&Z#97SbOp)0gMNZQrnt-XUq} z_xAiK-r7&q_9}R-39l%2JHi=P;s(mWe1gwkzEi(NkNVlKtsiH7IkrmR`JC*4%;VNQ!Y0qO5lx3Os))&~@-3-fQcnNEAz48t_v1D9**4*ySj3K)55AC79TU{5sk& z?L63{-mY$-*c_02NAMTEtZTb(tAuL*xOPk6s@fNK@^R5e7uILb+@TAs5g;C%F#(laakg;<4TdR&|?TOYOjPj(9QPaMg?0xB#;kCxb(cx9HlDKf27x<5Q#{qNu@Y6Nd zuo&zeg@(az(}9tF1N1*B>F+-aCvTw9~$7F%_Vfzz%aYcHYmNjzo{K-6LIq zBI6xy(sWibUJjcG4?q^=6HFTQQom|Fz8*)9rrVbqrs1IF3fHYSyHe$~J~LWQ%|iK# z%{yi!J+-hT>Z37}!REEZ8I_q9k9arnKmO-?(%x%tz3U zP48V=I3;o5^z=|0)-#nhhC(oCTjePt>Ftfq2RzYP$0ZI?r-~m@AX%lUo21Jqpb2A) z0NTZBNxzXhgu7q!{npmTC6h^9&K$fy&Vt9#g%g(61Llw3*A`Q6F(U_#XU|Ad5q`d& zwa`2hyLndBW(DIBDsXTu(ZcC?Ol%?fd;fyx%KXjiu>?nsKA@~COr+cK{N;}yiq0&A z&b-Tzc!EIFpkYDUN%|4~N(v&8qQg3-vwOo=Qd9=lqdqBHSgD75QRsSa2VMUpx{Ku6 zDj_--E#YU@IY2MSu(X<23l8lD#p{K8ADu-0rWbgD)@}e^_hkD$S1Z)+Bps#iBM4ObPLv#2{`w z`tlQhUi1Wg{z! zL7@38;UhQk@p{`XQTv9BNBTWRn0q3N$0jaedJ~5aL9&O@t}D!0hYD(sNh55%+}^8rB=Op>-)BtHe>dIT>_VZjAN?0O*FVy z9|di?-gN~s874_!Wgg*eD@{a`aXVuk92oDQ>AjO!ZEV^;iGb2F|L!ciI0E2V?-z9E zX}wgBl=pQi1}de(;E+z-LdFg-r5}`4G?mW-7y=x)4=0dZnS&C-QivOL?dB4bWtZ}q z11B>%Z@uWQh+*8ct)y4;5N846sd|h6Q3A|}FKIrU-gAJ&C+Xis?LDMvv8ncC@u6YU zEWN=AG*pdIbo|m*MBn1|ZruOuu(rFK?E)C-zR`*7G zhb)r5>+X_FpYJeN;yosBqIz0mwU3cxK17~~mdX%=l&U*J%@rTc_XI-@g59$0b3%`- z!t*}l^Z}=PaE;Bo7AFfzgZA2P!cVI>YvlYfdoNj9kD>+<&vd~u!Q4QnVB*owW&>g` zy*uN;9O3JuiXq@Sfy#k9sfD;$%XgI1K4{Bl3M4FlD&HFXs*(WfA!v;n3Jl&u-UW^3#XX>{NR;7Ta3e4S;+bw>tpuFQ5bM;td15L+{^kgc@4)6{XYIg zy$RFh_gsEh3RFimfd|HSfc?~uVk*YqK%Vh_2_W@+2nCuL87?Fcxk9V7Wr1#2glM>g z)3+EJ(;AUtfVnls*WZrv3Q-HoQ%&L7m`Q1s=2437dnu%$61a|1IR~AwIU$am2R^nw zG*H#PvmKE}f@&l149=04s}nOUVwz+WAl@w`Ly;AIo*x=_trYwLBV&~~dmf_CIctO} z4?6nt#}p#@629cd5^n>XRNRk@>2#AK=UcZnck0}Y4&2RtH3x(zGHdk7`ema3IHEjR z-Omw8(7}LM{=U&c!{l@Bs%VkMYYYMucOLS$n!xYx$^U<(G~Fw`*yHFSfb1$c8HX5YZZnBA(in4$9|L?V_@NKqkrN za?K=)@B6t5silFihhC%SfK9=a$53)>#TPrxa*-Q){ z1}7Tljzm7GL@mA;_seX_bl?1jJthAbL*<%8Qdugnk=WS|zdFDGyF%YOax(|KY)tO!Z$U4#pg6ZMb+Kq&f?2odV3 zM}S2Z~u4YJ}z8Sn(eMX=NHM27oSBH{;i|93O8^ zfHctZeLOCoU7Qc!q5V1< z{$WrnVP9aX3cvK^9M4s;@BaR<7Her>%CLDz+Yt%=pkRSS>D#8n&ckWb`GVNtX3C)u zqGM_$_0ILyJsn!}pj*X-0Bz(TuI>1g6s>BYoREzx2hI^m-7C<8&JgUEt(l{m;gWgr zM<^=!+}SfTGBCn%EtPT0OHcIi?IhCfL;F;)Smf$5iBuK+mOo`5a`c z4H60)FW!eKwbnF>NvHKVR^1oPdeEnE#wE+-)*p|V0$tBvWHGF^&^ZB-;@)xG+Dq*j z*}vd^|FkFC{s7@j4$PNK=p$;^m^)2OXWsd0kdE@7u7yY6d=Mz+)@T%+?nNR<)%PP2 zs&jR&;)qb}z1+D%&ma3zpn$NtFHf|7p;r84d^#@699n;){bnH?gG4AxeCZ;|wkCC6 zbf0l9A3e@UOC(eVyPhQLe!QMnLIza~yq9gk?K+HcM#8d7dAs`&h#tc@UoL5O_<7@! za&zm-5L~Ob+jVYKP!ddHJ!bm0SMhzd|>hgGP8fuE5zE)#P=9i6Xf zmY88Bg-i%W`)%&{ubNIL(Snw+X^5Y7gWTwBsEYjCOISZ25B{>`=-t<8HJC#{K0YKI zf|$cQOmHUvCTVvCsFjLS9i0SUTfLX`+YngDYZCE9}s$($ZT({F4Df7xoM#!Ev4dlM|?}w7V{ap z0o;@#n(+l)@E2)3fL0MlU+*phm?lId^mRBzWJ=zbhaan);b-e;0Gbx2WX2El2rjm+ z|6)!r*=Z&a@u;%Qd496qwg6U?vz5sN1s7)QDj~6(>m-^gt40v!UUh?~_AuMepSZtl zoa8EgYZ#~46zJS5QYh_mp{46qL=H$B6t$3iD|3Q)*!jENcm1VuJYslI*e?j)D2)V{ z$QUpUh$)FavCVvW?SCXpoOv6XusX=vDgWD7%sN z7Y&XVzGIx{6mZ-vU1iOC@ag83vwKe^6J z=&(dP*=KvGRd*!azMb1i*2=Rfr%NGc0)OJa7=6NTz%g^{C4?k#peXdp#&0hV(C@u0 z{^Vl_lupH66J>h&8XvlxMW8X7T6Skc-RhDhm3Nb*RB^%HvjJL_#sX$no}Nm?||%|A245$=;fU5RO; zf$f6+*BKcC8|HT0Xg}ov)f=KT${|fdtHy|B^K%f?Aw!AU8bggII%hIZKRX5gl7I8` zll*v2h; z==Uv!$4oktpc8#K>yG*@in+GyY2_xv2tC;8cI&LeC(n}ZDUUk`=wqB9na zSR->Gp7rv$;bxq72~z&VrC!W@9{cXJV3ppLYvJFwlE~R zisGQy+!qAe0LR;zPP9``!OH7yzK(#d5usx31MoaGk4}IFn(F}M@@S^&2CDl42}~_S zIMmAY91z}+o$~4RP8aIEG!l(!L6a&0NyeYgajg|I)x(Nv&|J4w>Fu|uPWUg)`kI%q zc2(j(&{zF_R&u+ZFd!M$jaCUI%#`GTJ$6ge+sng>Th$kJ)8}5vjire1Y>}A&xspN7 zZ_n0R`~qLqcTbwVgPxm-Ex7*VRLMdpd0Zwccbm937_h`Mm!{gfx)G)2sz`=yo;U3! z8nX)0hM>i1dJ;%s-g`AIrv=*=Y3Z3$b= zV-QlcS~Vt|=Yh?$Pp{_&(L>HBl5Qc1or*h7CCJvVZEMq5(AMAB{4UT^i5hpanpcEM z5eNY25-1HYX9ERD0Uu|(l-W~k)`r^s0#W(1O7Sn{Cm-RLD)%X;dRtEpp#^Hvco873+V9Sm@JjyDw1wH<8js4&b-3$*1Nn|zW zU?VD}?>8+fqQ*kQy~OySg_S146`qyjh4;U*ihf;V%T{a1T?|AdD) zGl*{F#XVG|^+_65k=v~D=*jd!z!jBOR&OvfMVq0!IjAVB;7fl1fm(6LhFW)371}jS zn#AFS<{ktRxn|#u zQLeMzUQ>s5lh_$}6P)m?*Xp1~`NnHb$g)bm{@cOUl3VrBuvHwgS3VxY2wj{pXMpVO zh$hZa$}+|gw~6;rgC|v<;V`76qhBFM?S7fMJDEW0mBB96(rv-KBbZEh-IQhI&gC`7 zUKSOYMK*%9@10#wC4x|%VBxG5li`2v+y-3XHgQEW8c|a6Yf{kAR6XH2I}YV`R3!q4 z+q?_S{a*R77 z{CPZik~OvIgyDz8eh?o8E6B`Wi-wI{J$__v0zu@iU4NQO*kps>L(D+0txX&w`<0O= z-41{6ndJ%bw=yQ!v_{Znlf`g$L4}4j>{<6GeEn?+F>l6wgJ7r!qN%}G=@)MyoCj9A z|215j<_amf(qmDG=7RO{)G_xQ(-yL+5PUIvDj((>+0C%13QY`m?yNe_sMLl7!aK{t zihJZmB~_BaXSol!7BR^7 zVKmX}*?%I;_OP6cWsI=>v8F7sjz>Z}gu^csd~r5qVDfC45>FV@H81=7f$valp<7{7 z+?Lc(?=y&lZf}7==W@P3ni>jLo$g~+sku(BRM-+Q^t*v|R~wpXa-3L%LtoW&0GU}TNeh_Zj<=W-d&XG;-Z8$?(_A()>YctMgsFA0Ju8yI2+8S zPU1@cisT-`Qo$N_l4_L^${LkEcHGs4pzSX*Yoh;Epa@=HA%xd6a=AXH% zHT(=>P*Tg>am~gC%-aR{b%IA+mEEl%Q-W+;wv!a?l1m8Jt-N|Bnl~|47?BBDe-t@6 z$~V{)*)XG}|MzWgn61S~TmBr^=n=D+iLJ@ar@`@)%{~KCPHrDj^GA)`#Ay;LanF@*g@3BT7flGOVIYH|vGu zo*5*5YF3u`w`UeEe*~L&efm}<0casj1}|FT2(WLo1!w4BU_+Gn`!F!1Dv-wK{F8o* zJ?j)^j!7Y?xYWp3HuCgiP}%={jC!}NB6BL`IQL0ogW1!gv7la9B~FctXX|JgrrNUP z|MFkc+)&r)AoR7P;MLb6W(}3&w44DW@3)oSOeK>G5aCLhyH2}>%5%}{G86$``h#m& zfiOh2cx$ifD1FVOd=5&H&*rim-Qhc(UO-qP^$sa22wOAVMcljYINTg)QQvnp+k5}+ z)BzvGjWUd+wtkY0G96$l%*&F8<~h`vk5R{P>C%>y?0PKyYtb{MCqzokVmkzL^PWQ^ z)Ya|U(jKWLjdR$C*UPs2xO#GJr<_SqW20yNWFoAz1QTc7?N7@n;9vx-p-*+GG6Xa+ zXB$Gk#I}o(huWLu6h`F;4^|l)JWP7-PzNoSV*dM0kzNAOFDGrqGGoGAh7J;-edz94 z$#U;5T(@?$_taKM(1hM?A>N!x%hg82WqWO1nu-Rdn>TN69R$jA0h3>CG_V9bPXZ$) z0jj2zaGZaNOurCry1IQpdRc*(UmFUERld%nFBx3+hS36$^)K>c`ax{%s-zC+=YxMN z?$+f9SGxf8%Z6{D7hnYT_=A)c4>>|xq&wkU2#~4OV>A=nWy^`&7)d`x&bBYz`{bgW z@U`xI^bIY2UUJn=dH^$M2bYfuc)hvkzlMBSUna8j0@DPa(HEo!PS?KjnRoJmZP!+p zrGj`Ym3L{B=g0Kqv;+0{r;HA$mIzKB-xZ@x1xB?2gf_qIr~nqmAh*IelShBX#jT0bDT zRPQ;lw!bUXRJuglg6Nrb*I=_uQ%54I7m}ngUu)m|U{Gef@l;TYID*WDmK5a+U|XlK zO*ys~kZ-2YDWz>i%&YNdT0de@PK%+sK}R8jBO5kA;Z zQu6Qo{=?gM5qk8E4Y5&8WKR6%ZHn~o;vab?l1`HQfd8qWQVS`(l;nMkZzLx-5%kaG={7JC)SNr| z%K(l(l}G{a{6P$gcRb2$R)aS!o&{G*6}!5e*bXzI`7++mBE0NerAn&VW~4=$&*HeP z*G#M+h%r@DRrwyu3g88+B`gtaJ$75m1^0h2Qvgf0*alUToMK&r0xp7>_opw+?S^<#;sb^$nc7BVK8f4^Rwc9xX{MY6=wsjqdD zB}Lqg4w?&3Yfh1BFOIbH5I_6lLv8wHw1dAVd(SG|`qmpg0|WFYLkeNy-_HI%QTnvz zfKGyIi=)ri@C>x!PyKAat@tR{;_aDDj?+R6on@oCfpSv#7t3Kp*OTd&lVv!$*H`RQ z1-m7ZiT*V}{;3@u#GqyS<|WzUTOkWY?43d#NtaC%E^U6h1z|~2$v|m^=^5p|431Q%siPQ#Xy`6>$-I7CXhecEOTP#~<8U`rkVB19yY(Z4$Zc2$ABu zyes~^Zmhgfx)|*;%+8HW%HQy=3Mx=TZEvG9ZFO*^`zhgt={Iw8?#~vo_T(*%xoTn=da$&WQ6dxe?D^oP1iB2gD+C z?-t$z1nj^0R5IlmKd#rJBh}a0Uidd=mf}Kre)(~!y_}bgo%d=a{@YJeY~U@g&S&wx zpgUOab6;o;_nOb1o^?yt#1F>Vd0cvbis-I>k+=R-I<@Zw5Bc7w*N@PIp|{D$G^~~^ z9o|{~pEVK?r$pBcOY!V#wG!yBV?Eo$nL1ZJMufAgILn*7i{v+wY))mw$WQ<@bGjh= zy7ftwVq{ep+n&q_>)w4Q@yjVJIR8y!n{#z)sbS^oT$gLuuaOMAnlBYT#NjLXqUHcA z6{y_OJd+`iJs?baJP@{&%lKYV>@YSuYGQ`52pCI7O=*CANg^fQ34lq}^ni=@Ya0`m zh!sZ3zAf9z(T$A_FFByQ&Dbs*t4X0N%+uFg(Fgw*9#-THpuqx8*;BENkk)V!?f0CW zge!S~JT0E_Q2Ie{l895)*T-Qm&SIF4>8zd>;FxDa0ahWaPm_40+9g%+z3c6Sdm3tz zPHeRf-=mB3OEE_bGjr{(+j)M|h~_cGV2%M;#favkRRH{3_puR{mq{!B5zukXLW z*7psR{?})31BG6CK5P3(eR@d>wDpgvmyeK3Y`4k8!S7{a7S@O^uKOV%nn!*U1tD@Z=ddES2 zc*WH{U_@_^D8!`}Khk52&dF{7V5K@U;3qV{@dnWXdKV;n<2oD7<0u0`ooaq$OWxlC zoQMGQC+hF!2`bC#21DGz`(M1xw9)nx$`}lYui$ho(=JI4K{V+k&+P)noP~R1ucVm) zlCEtf(&m2pouu3FWMk2APioW-Sz3|yc72#2e)s4E>{EGZ4yh->NMP4~qSKe|mflav zAgMWoV5s=feQW*KhvaPou{aGkaQs+Gyh>rp}K!!uRxV)9mz; z0?$)!Dzdg&cYr*}*Z&E%&Bi}IEGnc7MI|8Zd$-+Xol_%JfkB~~9-tZ^fFixO*_weB zxE+F7?1sY9L(pB$r5{t?2U*}~*!1HadUT1hXn5N#uJJqJ?epf;JkST@((j2)l6KYz zX@sVu65QD8n0b92d!+I`bD|dEdW@IP zpS=YeV?frPiiC_-Yu`$^0So)m;tf!Z&|=-x+FtX??t{mK@oLUa4>ST;Xm51&A@N%X z?Jaq+-lapzzh~F2JYPW=Pq)z@ysccj^TM5c3)|tx{&fkW3CJh27@lg{4$-JLw- z$Q1FGhy2$j_Y3v;jS*lixCc;c*|~(f@wsSjPqJ2W9MC&f!gV5ZvrI~aw3#)6i^&-mIgo5+6>b+ zD-J9|H5ai6?reut`MxC#aEbSC^x^2-lAoSVKIiu@)Klr4hoVAffqkE3%BPD;zd`%& z7$FCpN(fAbw||LfCB1=%)RoeAx|<18rjivkYUJ@U!*`s@aH(UTqH{)YJ9D!5WT_R! zg2K|ASErgX0?G--Py^!UZg|ooqa=M3O~xGy{rN;$a-vQT1tgw>M42U`Xef#Un{m_) z@|RH{1CP+Y-gmUW0UDi&4Y$&8ik*K`Oc1BK4oJ9W3Geb8{$63W8UR4SRMg?76^l<0 z>EFHA&q>|{dL!suzqEIS160m=aReQkYs1LKuYsiS5TwU(dta+)3eQ!iG1RNzx~=%%lPoIpoSCct87cD&On7?d1eYj?TABz~oFf#Ens{ zMD=1+=(!{>vuU92oQb`vll(5u`vXYycfl{Pq#jD?wpR#`M#2$cj zw0aV6A5e*^^Pab+Bhkw5u?>^8WnI5v{6ea=0B0bd5Mbx4SG=_9&hT%;uiWw`njtfC zX5k}$-1lH~_pX7F+DAmpYk|v8B#?%fEMo(Z<`r$F^Jowvg)Bl!=j{~3fZWmg@7tb! zsW4o~&Bq6358D)42Tnzj*mi|AWBz3?vJWU>?w)+=dV{6)5AU>9n8n zq~1uNQxn%-ltZi(g|gI(EwM8b$CXSE{gn#3zAgBsp)-Iwb$|u^8?m?bPcj*ytzUQd zg3hCVFZW{sP>=c*8Mn_rF?&W$&G&|0=fKrGC~BT$d{)l1j$_aKW0f6abIEEaA3v3grp@w?Zn(C%@vHjV1R+`r8OPx~lz)Fbf@MhO`QuW9b z;M)t{DAF8lQK*x?y!mbG(_qUnE$1Y zg83%k&}tRFGDA?YelmDWkv2m%)(lexfC~uCgwzV>oPsMc>IUq3&fgz5jcO>PWYrV? zSe<9^xs~$aO^Dzi(YLMi&4s<%KxvgEz8Cb*$Yn&b3zQrGQ#YFBM3@8?1qHX@h%BupR6sR+{uG97>pOLG%lE-?CY9Ec^;FgpmWi|4~HW&8- zE|W7d=*`gi0>@Qi2yjp1#9l~XM?j@=dOS|Bx!Nt!CJyAY=ITTbdfUV&bYQxuNDeyo?*jkvFhZ=HtAbhjsTBmZ@DQ`A}5x)QsOcfeR5Wh9qRf(j7l zsqD*2lXaCZ16_>nr$ixKLZP%C`KVW=7(ez>99smh=3PC;rZwPWokkgISvi_F@T9Th z0Y%$-_uTF3AIITkmk}Pk!`*eJuSWT9Cux?GPlS)ZIudUD`*W>!Sy?U67441JSL{fA z&D<6)d`nyS;lbAF;MF*Q(D(@;6@CnWf{AG1(5*MezIbHf^od;!hPCA84=-iPFuJmhM60EAAWT$!A58=8TgwS>V3 z;HmEPKj&9ymo}P8GycXl+djVnNMrT(33B|^JD3j~kL%>Pd;X|t?Z`~*mz8YI zmx<}1W3p5&ARY=LlvigM38>i3VsF7(bamWX;a5NLyEyb`A)bTicQ(SxccvNMV@ic$i&rEnMMB{GY=m-I`F*79X{HKLj^RF zfl04+OLyHt{GCQ`MROntCbEvxc;I#`rH$!-0??NBzzSQXCZu$mqGO zjGAnwsW<<{MSq=Vt$Fc(($}wwh%AHbmKBYxry@M<&eL(`mNM5elhA%UDy#diUH^Lc z|Nr~{dJp`l+$5YqKW=e7&dkY&An1aZnz7d-D=!;4>&G_WKahmDgv8}5;IGs@aVfbg v2sy-65pi)jadAptV!Hq13odSt9Blpm?_UVGP+ttb0BNe-Q7ye;8T!8fZhe#R literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png b/GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png new file mode 100644 index 0000000000000000000000000000000000000000..1f7be1f67fcb42c6ca4c4e260007cc37f992929c GIT binary patch literal 3180 zcmeHKO^6)F6(0ML$PSVZiVyxt+-ZZbv1_{ix~po??9$!U9c}O^LSAe+Hg;;ds&@y? zOi!kJHM2VU5_AZb4o(mVeDEQc5Ry}j<*W`d$Pi%>2W(7YIX2ii#KAaV2*ij~@64{0 z>{{7NAcqX}ba%~r-}~P8UOj5g96S2${deAbXQR>BzjQ<%xAzz9b!p#M?Dyq+URbcV zJ4Q#IDjSUhuh-XYFFtbMKD+i>Z}~)ZqVrfQD+W!ai>_%-2P13UXdGUgj#PHiR8H5d z^oDKs(~Fl}r>EQQlYR$wMzLA#9XUNVkDoreoSiuj1-C);jV2Xsz!jyZ8LHjdv6K!zxHm}sJaLJ~acV2FeVxrYdVs0D+T z&z$+kwb8~pZylHEJeGZHyQ@_-YI)vdGHFgovly>wplw5J=q)TVp2X_GnzXXsVdWUF|=Ak0Weuc zehUd(xJRJ-&Ol^0NN2$ku8lYX4c=>LRlk+iJEn<62{u1Fka!j8A8MS7mEux`@3yyrC@}LW}q8xCMaX^%xDeO~>vfOoU#Epx7 zG42%Fs!Lo)XRW*#50ven-axGwZ!}z~yV;`KEROU_Te|i6{&?K{VE)waIh#$_Qd!;W zZ8xinY_vOH?(L%9-gwSnC#%MS-lF(3v$Dvmi5i=5#VY+Do6Gw$@})X;YwCL|{C|=9 zT-Iz=4OfgEoSs`Jvf~vTRjunZmz3Y&Si+y%C;a25XM0qGa6z9Wx@#x zeF_;9C`~0}K{$)m@7?ggVVH)PA;MsctYyL>PKkh=CXwJtveSbGX&geHGK3>31?HFr zoXaGTghgqC#-SfUw9|uAner&%6p09NiDXIz4rLhP zfCo{EcX|jCONn7Du`hjLkp*RG%x%&0Bj3X+gW zpgI>K5lk$fki`Ka0Ss^|c6uZ>bHSpRN{FN-l|Wn51g19PADqd6hQQU$)& za5l(zZV14PaAE9N#DUr?R?y{n4zmCtgEP?0DFKRh2_Sin8B|PXhVB)MVV@~PARyh` zj#X#}qYxSaMhPKM@ysf-S1i*ttc&dESDG+jJ68eDi~`UIrl6&mWoEBfIn^-BQ3kA+ zJ&f=g)k+93(wh6m=Z1D~!rI*Bv(4(=dRK2+-gE@n8WHwfQ$KDWsO-!3k<1M3I2qdm z*V%jSyVz*l{=||Dm!}v0`qnRhbnv#XC%-EWf_Hy*?v01^N8fq-?tc8r?SI_&_7hp> zYlogc`=>)MpL_Gn^{da0?z;Nta^u$<8&|JfzH;HK*FRk#?_7TM+JT>%^_R{+_q5lY zG@skpcIU|C<9B-oJMJz03P2zbHTa*1@~ZPv3Yw zKJ-oe+1WEceC)9P|I+`o5}%B|_v80TdF}MRi{;{*SJwV=_a|?C{`V8_{Nc(o`Ntcd k-+StV1@aTy3D+AhKKzXgocn$KU!t*;9F;$hzW@9`0mN?{a{vGU literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042741/1/win.mp3 b/GemQuest/GemQuest/files/assets/158042741/1/win.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..f180be695cc1716b63cb6d9284e236da042d54a8 GIT binary patch literal 7040 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 K04p>dBL5EzG3f;W literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png b/GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png new file mode 100644 index 0000000000000000000000000000000000000000..b7ba6c3db82762da0233f3c617202ff0f36c6bde GIT binary patch literal 662 zcmeAS@N?(olHy`uVBq!ia0y~yU}^@k(>d6HWVMQiF;KwS)5S5QV$R#Uj$JJd0t}AX zH~-h~Y}Su01qO#1D9YdDuR3zYfZ@RO z**pKIZk+7M&|qN5!62Z9T{YP7&QV1a2f^mu+jq~OdAs%UR|bZfduQ(KJN)jRo`obv zM1m~Z@Yv+z$;?v{3=QY4eR=2OP_^pyuDJCcDu=fG3Qz#1D!$YR&op0O1}z|)1BgN3 RQt)ID<>~6@vd$@?2>>X;sv-aY literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042748/1/up_Money.png b/GemQuest/GemQuest/files/assets/158042748/1/up_Money.png new file mode 100644 index 0000000000000000000000000000000000000000..a00694c1729965580276d3e19c589ec4952d8c14 GIT binary patch literal 660 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042750/1/Ok.png b/GemQuest/GemQuest/files/assets/158042750/1/Ok.png new file mode 100644 index 0000000000000000000000000000000000000000..1c8e6a7ac2e59c918af90279a328d55ff2cf9dae GIT binary patch literal 4799 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158042751/1/Clear.png b/GemQuest/GemQuest/files/assets/158042751/1/Clear.png new file mode 100644 index 0000000000000000000000000000000000000000..bad0c3475fb64aa913ac6975631bd442bbbd4d99 GIT binary patch literal 4780 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 Xo64~A*F1sSpvd=h^>bP0l+XkKrD@5p literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png b/GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png new file mode 100644 index 0000000000000000000000000000000000000000..54f8d316e4045900c6c25f28c3b3425a5338d24b GIT binary patch literal 1421 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWjzy0M&bL8+`0z)8Ui)9Tv)EaaqRkq84X#UPKcb+WmU-wKR+Vk9cyL^?K@qhUkDvZ8Qy5sdJ zcG7FleO^T$en_SrpYzFSlK-SVZ@AeT{^yvV)Lwl)+A~kB(*ERhcYhn(PoFzgdM6NN>!0SFruhbJhHMSJyZ2;$NSx5#zSV9k zBSX)l%?pn@PtaGbyvW92&{gbtZ_c{7TqcHN#dRE?Ub8VY1nxCs`B^E=a9~B8MAM#J zW(J9?*RFi$XLu}}!l0pWf+4_R0^@=P1!f0EN45s0CLRV>7D)y!4kHE;fl&pc;XqD$ zNZ|N%z73f2beB(l`K6DSA;AVnFMnCHZ}S#lf=xHOUukgnp6%9rU|KwX?%m42FTW+_ zo6Yo-zro00mY?zAT2g-5k11d8z1*yx%fK+(+@xYt-P_FUjnj|5EAD>-6fxdXo>9=Z zuYHe2ZCX*$_bHML3CwNJ_}<3GXO?}LbbgNA?4RG1zQ6zTvQ$L@!2yRxct06lBRhC7-+H1z+B4Lrf`27FqmF_6L|6-=>NsP(l|cxg7R-3 zkK?{sPo~K-B#7Aa=*l(KOn71o6xX=t`>EjXt;+?|YmV|UYzPbwj7&pSY_ zVEmd})h{w8)O&yOo7C-@cZ-Q(Uf05n(@;~Chd%6 zc+jaE&YxF1`^m3Y{#Oovj;{Co#4hqHRLfzFeK)W$zopr0A}^hb^rhX literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png b/GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png new file mode 100644 index 0000000000000000000000000000000000000000..982a48096b6b22b8dd925eeccdb0e44a7c67b4f2 GIT binary patch literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWl7xYRN`YYbr^<7ZpU}SkB#@I zd!Lw-co_JPU%25v{p{Sg^Ag|7e%kG+xAO->fkN4A>pQytE8A-vdl(-ah>bFiq!ahBIZ~ye!-P=Fk-dkqL@E|^FuH31Q zHy_TKvp%(UVr_oKf59iQue%>ccyD_4i}`@_v-(JyW{d=mPx@^P4S{zhn`#b&@~pJ; zg#Dn5{pz&hiSS%t=G|q*@^iAv^|wIgkGhPH0#B?x?`;9){9cvWyVu+DmY>FVdQ&MBb@0ArEgSO5S3 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png b/GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png new file mode 100644 index 0000000000000000000000000000000000000000..bfab6244b3fa354610554f586f6fc758010f3451 GIT binary patch literal 1416 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWuxzv!K~)7ur;pL(coU&u_LpDoL=)cz1x*^&T6rC zUh}Cr>nrA^OgfuZ=2x`u(b=1Gj3nN*ckkSM#&LZ81bdI7qbJ!L*4{8F-x2liGuO{a63hp##YUR{&^U4UY?S;>1_rl} zA1^#oJTZN;O+GV&#L=HB`99bC%@`RT?=)cf8OqFXU`3o{)1NiG3<)9Uc^&U7#2_M&!l0pWf+4_R0^@=P1!f0EN45s0Q3a#nKvsI-ar}2u zfWcr@^UD;ozX#bE4CbB8`E|Es;|$pw3=GGNO6Dry&J3RzvsbU_X*}@ z|9>bymt)v=pgfYMxgvq%Q-2#nL*QF}$9>trjC}R3;)(mWfZ6-&Re>k7&44m@Wt#p( zPP$zNWZsdCvSF#TKe-zuzGw22>1UJu4~Kp-1%_W(Y_$20{PT+Y=RXk!acg$vy`T8l z(az^n*(7hzyqio6^Ewu8oIZKaR-pJ#PWN5&o}B(VTVJix^5jny?%fOrlC2}|@Az6e zN&0ntApiILzp5wSbA1VMc<#k#%+-&^GSFd*F&6BI&*FR^8_SDmh&sVkF|3{YLL(V(Zos*v& zS23SdGyBPdm;N*6ewa9YQq8m{qUtgX|2ALtjEmlP&$Gz-q`T)n%YO$iC)?+%{4Dv& zX2{m?JUQdd*VJP3Fn5c()<2$;R{Pm8tU0=B=i#fL=7*n{epG_t+Phbq4!S$a6lDyw(ZY~f^(IDb^}M7|UQgWK0*0#C$q85kB_IE)xX1X36@6h;+{h66e2 z;ef!C`#g*ci>>DPExQ~KOnQ%J`Yhk?lfL=qLSXW33C@5?_|?o|R4Y(<&h+qv`4 zJ@3AmVzoD)ogrfX!h^RzAAR#e@3r{1b8l}jFkH*e_>l7T#^q}@6Yt(N_J6~`@Y;Aw zc}78>eS1yT`!^}+<>z@AHn2Gtw|`sLXJTD<;&S!#OC$M^32^A8sf|M_=fav;NpeBbohH|ON0XQxm6 zSyT9k^}T)59;5m4e}JX`t+SADF!} znHeOmo>e>%uf8*xok8NLzjJrHg1pMl3!oB!f09j%?KhJc)%eZK3~R1#O>O@FP3F^a z&wX2f+@s;AzsXt3Jvr`q&%4O-WNtLWfnr0GZ(ftir@yr|vVQ1seR9qAn$JsB)~oNF zkaAg%;lmle>E?NVCp~6@vd$@?2>`0v&SL-o literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png b/GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a4b2635d6096ac88f4e8dec4592bc8de91ac89c5 GIT binary patch literal 1430 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 a2mk;800000(o>TF0000ng000N*Nkl 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 D+OQTa literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png b/GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png new file mode 100644 index 0000000000000000000000000000000000000000..1ec849f8962f5fca8e61cfe37135e050c24087ea GIT binary patch literal 2063 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 V-Y`;C$pejt6c!X7*btDI{U5Y$*%|-< literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png b/GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png new file mode 100644 index 0000000000000000000000000000000000000000..633c078e634ce166327a99177436f250442342af GIT binary patch literal 5224 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 Glm7y5mDFDV literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png b/GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png new file mode 100644 index 0000000000000000000000000000000000000000..25c7ec1a1addb68dac40be6aaf8c334f04e772fa GIT binary patch literal 9935 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 THFWzK@y$TTR2!#tH}Zb~<@k8Z literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797216/1/gems04.png b/GemQuest/GemQuest/files/assets/159797216/1/gems04.png new file mode 100644 index 0000000000000000000000000000000000000000..0c3b10a6103e2c5f7a6e095161f524b718b7d7d2 GIT binary patch literal 3308 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 Jx$~>u`!5BIEn5Hp literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png b/GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1356612c94ff804abfc734f1c10bb0e3fefc8 GIT binary patch literal 11145 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 B-P`~G literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png b/GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png new file mode 100644 index 0000000000000000000000000000000000000000..00ec076516cc83690f8dc10fb9e33e95002df556 GIT binary patch literal 9587 zcmaKS2UJr{w>CwjS1F<*O$3F|t8_w^_x?nPRc!b>c21cGn z+FJLl;LiL|oD9FOvnwzg4^Kwk*A;5z2=ipKgxT7=$Z~AdH*>JrTg!47ifIdKyMkeM z_V@kVVfua#46OVdt)#3u!#M z%khVlk+u#S814>Zlj0WwSqTaXu}J_eQE_2ODJcmF2|hMqL17UAL2&_LF_5sxJu!)U zLZWPcKOBHYcWaw_ddjMQ^#MIu4m(dz*Lwm2K0ZGDJ|g^ZcUu7=DJdxdL16)5VGtkz z@_6dv3H1fJcyRuMpbYb{a<_N&w1>N};Siyga4%0;4uI_+Gn`%j1MA}P*HwVi1bm^c z0z&+PIJ5o{)Ykt0i#j|1N7})p+{@hx2%ZfmPL=CDusaOu z33oSu!=3)|q>dfj6YgOLcV!b6;}>G%F|>EFhWmKjxtO4>eNWxR!xQRa1yfg+Qs*SP`!839~m|5v2{ z83NJ=*ZfcJ0-gV4KgQh+*(b1|pN2Opj*+Yrkdj^! zE*nvN!bv0DI_z8R){yA#IxCNqTxI3{q4z-7Ez^MOqlR8wR!z6tnxy$`Fh4rny}IVZEbCr zb-?dy#0M*xk=h>XJQ%sz(FDf~Gyl;_HOQEXq2k06I4vjqxeNxeZ6_zZGF4JjHCbs2 zxt_n8&3{9MNg;O0$GQJfu1x=4<3Qz<_qu2uHH}TMrPOF;7>jv1-7a;FH~$0)iHL$5 z=lmfNWOc*x7X{G6YWX-ThG35U%}iCR30f)on7gZV4suJTu_uo(ae4mu(94}2^s6%O z$K#BV0ewkpRCuAxY;#_At_tq>kdQmHMhX{r1sNeT3Cb)uQT;q7Q- zR_`*PBmDs_vMIN(b#9EphmEbL?@6@h9>ddz(^Qv2nXg6Z{fzeBV^CS4l1UxBL?R+e z#Hej;SRe6~-tyf)gv?5~@3jZh*TI10Jj7 zumKe1|85D(bWuoS_gWX^sz}@_pc(xLwJ`j1K^^KOaFko>KR(F znhCLY_qDJ9VZD??3fTCk$xOumtF9}IQ8nm$rIaTT!2WAxSzmk_J1cpkqy;lV{Ea)8HQE|Y~a`!PWR_6U90S}9~H0D)e2S7MHyz88xCOyd`pNI@`lv@o*i zsJt&e(+zl{W2I*}EMbxV0JqQt;X#_8dsBc?^%}^<)vGdd% zv616ck%TgOyY4AI{zV1RmH>iy^BPxg-gP!^xcGPoiAXX5Qf`U(W#t*Y}yGZy3SqWoywH7%lgKJyx(^F^KUVi>Er^*5@(J>IIvx0as<*uT<5ngC* zVnB0WVJ|1z?c}$l{JAVbpyN?T-X`i(<`f*^NL>3%IIkxgmzJ&Lg1}P0^XA!+q&%h< ziO@-2^g5^)FitAPA8BDRdZ$1^O+84ChU}iw-iTnl5i~todgY{f;0Ll|MdXHPuy3)W zX8ki((jDP8ox})k$T2m>JcswH5LTF+gBG@B_%gCg=TUug%(P_h9fjn<#2r=5?JV}| z8gCm?BbZyqzqMBwzP%gMDAKmNo4(2`^B~M1x~C{rvbp758u@rg2zxRu6)3;G43zAI znW|db0)sN|Fb2S<=L{aK8^g?wiDFwb+RtnDuhfOmdX&%%ng?792^`r5tt?fZ+sp~j zrJ|y^qTRc1^M8kQviRPf2o}T=2(6>Jp{EWJ)TF0BFa%LMmb_CpKYh$)tf+F2S{OiJ zaf`2Z0Y@zQC(pC~*doW$pm<^ONxsbu*23QX>t15pxK)WfCA#sgO2=gBSXGe|dwAB^ zZAA04;H0&Mx~u~E74Makjh@dmq%Jofk%VdXOxsY^QNG@l=>FILtSKcB2V>RnkdNxEtQ z$>I61sI3Gxi+x5NI35y{=BNl{>>YEyN5``r%UH#_Oy$LhNpGlfwm~)Y$s{ zsqi8?XdDG7G<1|vV}y3m#FDKFw*%Z!#yL|7V)Ou%UTQoV$Wrw@dvB8IMR9aes?F@yz-esn_5re7V_|(MjeMWVy8Q;_ zDXkXjk&t%ka+(tJR9XI$KHpB+s@&U)Sca+QgvMsiv$xs2Gz*1kGb&Q4v_+}~CMU-M zm3c>iK%Wou5*4~k~y{bdA5d7TmgA9hcc7O44CanTY;k+j)+QT>@ z?>F6QtmUdmY^=u4riZ-y?G9!rKLgC-XQ^uN<8RG&6PRzq^P?rE`*jT~MViGv?$0Am z#RTI`*+n#R>R-BaN^nK2-G?mv+#Tl1zdKS>i@^46oM}+$KE5{NunNixS3L!5^?H1kiUt0%XDxcVWc;f{Zhk$@XSZT`dOp!WBxLSRg2_1KkhPUn8iBT2_5YL zFM7xj>d|gs04s9Z|Gv?qvYjV!Q&LMo+(kSe_5^J94;sr+Nq#^2ZaNp#Cjj5>i1&83 zQ*Ls6Ix1wT`@fHs<1j(3WgFNJpTlNHJg&KFFV){|@JJiu9ORqx1im=Y0DbPA zT%THtkJ?mKmyu)EELt(*95o$D!!p*jiJje@?Vo5L`g;v$ zdsQFgWgL2AfQ&Ckn%S>^XNF~0lz54klB(=QVT>#}x;VOp<3-U;&xV7raxSkdawAf@ zzsN~gJ}&)YBnfMWC|%9#jn9OME_p&%C(M(-pBtkKjLD7OrvExWzn8~@5cxDB#x;)M3+`t@A2 ztoHUC)-RS;zJgYy@CvYz@u{ntygfPX9l_-IqC)2&U+vep)uPG{gM!Lh zmlr;C93FlUiQbNibYFeak#5X78|+AJWO-|(f2Q#gi3k6C+Ztvu6@C2UF1_}^j-)Kr zuVDFe9hIpK|G<^kW&P)$STu{9RHC{Ahn-zIeb5v$wsKCT{iB!?n{WJ~Qoi!bUha|~ zSH_p>=r=sq<3~@B9nGqN|RAU zfoJ8Z$!kCNH#0O&-e3;o;Wro0=>-~ldI_=_VDBK%mmSHE_#bTz*G;&lm&!V2F*I4W z#|RqU?HO(3kG+%13?6hi_kkQgccf0)JX;0|Pt_31sk<7=AqS7?yH)@pb!pq#X!B&K^az9=a-tn*BiDAtG!ht58t&FWQ|NOr#^zHPgGXHXq-z%!7vV zS!9359{8)%yzyMW!&{<-*BT>8%&dhDX;*v_Hu*$~M5GlGCHR5o#f+7C{?4|uW|?r6;Xz}s`?~dmbAi`$ zYF(P-z9njWLN@I!2|+qeghE+$f7Uw?Md1sgK5$(e9h@EA)^l{{Jv`_(ZOn(^zhlI^Q^m70w%vl z?K7(^vb7N3Kp)>2e$~=il&AS66kq z^dG>?b5d@UxLkGm}uce=@?N~N+t-R8lXdq8OHTUTM$nASRE%6D>UNsWm zGdhuW&sbx3%Cz=orsQV9F8g z*z&x<{gIfwcX9&Rh31C&AipYB7ICxW%HgM3kIJtgY)T4s^{iFum`?AXs9Uueg))!2 z=W+4QESxt8Ep9yAnU!e{_9!^&FDk}r8dP0Tkvf=kP#-S1Yjf~fwVL|=_rl-XoP&+y zE+it>;JjBG2hBkr5dAUAdy?|A>+NfT-{X^Q#Sb7$_#Z}Z+p4+Cl%IlgU+#P)^X^t_ zYHOXpMc6v7fAW@#{HX-Prn#^jU$@k#=BkBgB~M}~{2kMLSRzYC>!VlmG(cb(z>kUQ z7h^Jiy-90T6m!~|g&0s3g+Bi1r4gdXRStGGukUVsZ;uMKA&Fk(k3YDY(h=B1t)^Ag zSC39|LMXc231yC+S>I8v-04WatQq#lQHe=WLI(?Py%!+A;x z4Oe>lsU7=f9%b8Nf*9aQt*ZzL$O?D)Q8eOK^7&Sn%Zu~sn-v;C{$D#QfTA)rf7y#} z*(`9SsUhSvdo9J$K}J)uO&${Ti*@0+ro#U^<9YfH-s646E2|cES6)yXoq{EzC8luM zak)UGn>4VIng|c5tr_xK&k8eSGLS%}oNYp%J}7Q;g zbcl+5dheoLc|Wp5(AyLrDBsBp8q{mMJeJ86((nsa5PsdujeSPbgaDL#^4a@)Ox%48 zKtXQMTVz(>O*cn^1KkoU9BsGlzZj2qplj|*;!wr|G=$~XBOp#rG~_^gz9789n@K7P zX%{m34d`?6VRL0(BJH3N4CNBH0M@lga2V+E0E1QEzOH;l7uFRhMYDA(LOwAb#O3gs z^m*%5o0Nso1Cn3*&R)E7XNiO6IXZ$ybeMpn47OdJbXO*CF*2l`n8LFirH+)Z`_ImSKf!OQjc5 zR^1RVi(P6WX+ouD$YjJ?eaSKb=S?M{HuCK|fEJUV^_XhIB`O@ACTQfU7nNE6bJdRO znteK)KSPyJ5sz!VLrUvA?E-DoWuD6a8O^f-ZGr$}5>k$cQ?1Q`V9`*Z5-~<)j$$_y zrMk$>*7A9Q%34RuW1UP>SRgy)805B9+CmJJ@L=5Io;+TYVc-pR{f{LkKc#ys5qxet zUuX?Te~V-GaUlTn7)&X7@u&7Pfb4t{r9mIFD1bph1JVZ!Ge^tOj8(?7(_;@V3@o8V zYsqCGueP-zPdkUrF45SKM0zvy6HF=9<%Tt;wkN%PcR|N4Wa9>g-_4n9qQ7+~)#KeA4)SJiqbu-P; z$7qlInWhv2a558dn98>a%H=iDVW`=t-#0*Y2$fk*VI@H%BD-?7b>32#FIUYg+8@gr zY`GO!PF-gParX34RMbcIaPTfgGgcH}tuVjKSC|gW=SCl?qU3;cfG=Bt^x_#nUbWB> zPkm!x?GTkmNWIX1E(jLsBbZu^nNU&P33aSCEpzlr;oGPFewaxIoF}y%dMc9BS+4VM z4@Sqohz3rA2#x5Ogm zR{>SmDcw@wOwCT_p{X9NOAx9<5hVva-s;o_-IakXl zWJ_j~fi%-rotN6E%7@sd==?#r`=oiO@~z>s8^FtLxL_CvzG&tm--wwt{6DBX5Vu#3 z@kV>72!pvjGEK#R|={{Mc>=U%WX4cAR3Zsor zqN3)Ce?vPL;GXt&eoe*$aeyYBB@B|uxU}=8BHw&BkRSIBxh-x4EXOa=@pF=zN=!Qh z&xRDwvm{)PXl;Vi`hIh)o)na70RBWZl7o5(rflS;hf#kpZwowl!N3|ZFlDef8>;a3 z1HoBzUUTckGo|zZ*OEugE!=sL6r3Ui&r*f8lI_b9HSuT`7P3*C410$UG0526t5#id zeX?$^9c_t@Wace-x&19NF!pUmwKo>sr+^b4IF*0S*qU0lgi+axuk(p4wtOSR9d-M+ zHKS=#V#lN1LCD_C(Z#jS2a|>A6|*g|Fc-rX>`Uo28L zlo{$0Bj{*-@*GxDR@G8jVxkw!Em~^LihGBOwAg-B-7S{mOAIrUx-@>`lV-Iy{E!Cf zLMXIwl*hgLEwDR7ZAmotj8fo7$K@N}I}!o}(Gj4>mya428+kUm`X4^6MkQ@-?3Cw7 zjWd#n7<4=kaL?jTSMQT|Q15x_($$eJcAV`bst+t5A$&Q_)+0{Vrp|j}6N@UfS3cy) zS#`?eEnH3~#mk{kV&-%)M> zhehisb_h<8?}{ohYOcQy+es7R9MeSI#CP&?rEb&?YrSKM8;OJx0L~ype z8kt5qjS`lX+oE4h=uKu_F-k z+tIZ4YxThnn)IQ8WO*M!nUX;H315^fIjv1vaF(2t8{2cM+Ar}1$RDmfCevdkTU$Ri zpFh*c?tNJ>If<&(J9>hye6L=Dpl3WU)7_t)G8gE4kr)84?UaLG>9CjXlH+;tE_IEc zuGL6a89xXu7zN#E?bq5NFso|JK*@(nIY8xp!3TWqgQEcl$dpeozx1OS)xyj#FS37F-_L$&QUI9 z)X~Zp-*2RzO}B2F{93*JyF{h>syMzK)(m?TQDWJvc74lMwTJSm5cSb#)MWZzh&bnI znxi~I!H8bX+zNWPkn&J>8)4QIzhc3&=JDBP(QJkfR!jfdyd#ns8mF2jwryaBU=jOG z9IH2FkA6*0PuSSnn!<|)+huuKv{+C>jf=79gK^C?#HcJ0^mekYRQl0f@xwB7&`a&u zeYod33*%(==ivzc1)>AKuvf`$TfU0azx*BeyBAm=kTt)n|3EXTkmiW6j21Auu?$xU zsS32zh{eslEmX(-lRS zy4z!aG?sdKH);*D%J*^f@n!B~>~HE#v;70&@4e*D9cF5<#RDald9~@tUX3dRqG1`def}Tu5lnQ3- zwme$(rpqXt*KJ?hzdRD|4V1+;_4tlgw*ly<=K8YYQ5So*gHIr;M;aUPBGL%A%k z{O-&Dfb|Kx>iP;y+^B+Q`jgTuAp3T;N=w;;2yf z^B5RwJJKtc#=hf4^s%;5Fy!c#e;V8AIFv`NJj(UZ4W82(R=*ritapn^S~=brdpi?C6KgRkmif-Y8+g-3y@e`nRM{IuGxD zYZe^7V-i}Q*Pgf*D6eS(Tz5F!unF;*F>^h&YMi@C4)GI`? zQTMdo{tvcg{@d;9hG|m_}gaU<&zsyj8twTF(2<*)tW)kM09M zP=mc%f{xHP?K6>D#WJwT4d4w(B`14Yx4%ys+IRE$SG>OfgPpbVqH~ttCN73$rDjM z8vr-D87?-v3G9;yQ0Y?+Gb=SqmutR#rdpg~kk@-p<)yCEPGSjGiFc_K6#7>2<8p3h zNpBS=fFv4k%SQ@Ij_u*hSpE%JV*kqM2n^DrKODG4ZIr~s$9j73Cu>BauK~AFd5uRy zuQr<=9_dP1t0CpQofOmX149@WqWJ<#j+h?y71t)Py)1nWTzP)}QMpLw%Zhe>&!a0x zU)SOg3tWpTE*p3MT(Ze|AXQC0kW$;n!OF}_BGMAt`Tn$d$XNSw>_IYP1T%*;F=dfh zD@B6aC7-9(xZS4Q~`^-ly3eMx1{jgf^j5* zBXt^S{>VPR^fVYaZN+D!8vgU71;VS` zAW{~%cmwe5fW1C9aN|L!aO3|H`!`SU2-6?>muipp2Pgpx+VTHdkZ1ju1SH_6SG5eVb_Gdt0Wkp&USB2@w)*Jz)K_tb$1PKg*q63c>hybuKBA=98%;xag zgR!t*UC1RyZi}~}fl5JvetHEc)!Bsq3jBcv*#9pMN?QO&T>m+a zBTn_dIbQk85V%9cQ6~JuBuD1&aBBh_SKD9uqX_Wk1(UT4?aKMM+g=#B!+!L2_rG)U?E;T=`a6xZ$^D5Ncv#xB;h-3{UBs`J`Dv+Rb2@--5#NvkJCZ^;?a)AJ%)&lZU zL}Cp!>J$`95wVhb|{gRv2T|4yteSb5R9v3-rpov$7U#DQVgtCq^bnq=84?VQc6ac3g#mU zRjfiGoxPILyA_B+y<4G#DE>aakXM{UE>xte3044`&4`ez5x!giM=*o&fWk*25i%$N zA$}|-lScOo^Y!&*u|oZ5f#FORog5I#WYTHjvsk7=kSc@a$ShX)8cUxOi}r&|2`V#T zl_U)ohN~1Z$hv2SWNs}1bMnn#g>!2OoD)j|Vo2znedA8gE`jzz-B-N}Ca=05mV=g8 zp}mcvO<*wCy%EfiSj|6%df55L9<6SDNL}NDgePp*a;_aAF?qL&R+L5i9dt2nS(nPu z`aah%r8oaaQEy;2h9GbTC!G0hRV{QCIte>J9n&e*KHR zPX`YS4_qBhKQ+p?P{mbO(k}L3pq0mIHv7r*Arq#_0gPBG7{LTfonD+Be-(Tq>DD&& zhc6aP$g;23Sb9IZk(U(MYAfh!9cXo-eODaWQkB#ySYj}Af6}cv|0L*T-R0CWGWX0` z!y$vep+?_d@&1=-EGcWK^zpupxbK%`txx+~`LkMw?JXN>4m|tDYl3MW=(usEsQ#<2 zclcGC;#$&L99y2I9rpOCIj^Qmm@X|X!%`nVGMsLa9z|P5nv7Kfo(PMFT|X%nmh z-Yk%B1ibmwCSu#ILo^a%$9I9ZtZVm9aT!=#IiyA-dY(3p@vc?P>*U#@Mz1hZ|B$-9 zNndNjsj8AM7xUZw+q^m9dS?;G78GUTQe4D<)Je<_*M{hG<57d-_26ZZl3>O4*FUi2LQd}5x*qhpUR6HK|8^v>aIOhoyv%YnI#n@+wQ`Ahx;#-n=l!KL5p zZjPQ8uRc1iCm)9;(r)#l2-m_M57VP=r@_(tVIzf8H)5;#iRO%h#QVGYmUGtRWu!<; z%_}b`Go?!2=FWQ^$>l`a?gi#?CViZ;_tKB-t64Og)K|^7Q=9?2j%_ zOhJjdm$%Q*uAkpL`JkI{&PkMF%W(mQ8Lw-`0h9cJIV{Sif@qR7Hxk;(g3Z>zox+i? zz3h#&Pf;@;MEe|o$*1ODAQz#=y&Y<6(r4*^S!@SpYegUG3HRfyX%bc=p{Yd@7c>Na%obj9P0CR+=-Iop?Y+@&vAFdD4=Em!r zaUj(y)LG2LO^2$oQpQ~m1^wkiKG6F?bJv4bM_qLpytEFBXOXK@lcg zO5No!YjAqQ;7!nmMM2=LQ8KzYsB%SCwCD7py6V##lS*1w zNuP6%(0|yIddaPUkk(1hDbLK>*g$KzNjO@+wt?7iosd(mnp&K&JYm_3`}Cu?4nL_$ zEUPyxiNc$-)uUyWtgrsqo>+JiIU3*9I9X(Hb-jD~Pqcq}z$g0OiM>)Ht8VZJSemfP zwfLjugC*Wb6^{OQo#ohMzoDR;C-n^PIIe!!56wC%!?4Q*_ht} XAB%pngWnx)89GF;qL_7|e>m_jVY0>n literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797221/1/gems03.png b/GemQuest/GemQuest/files/assets/159797221/1/gems03.png new file mode 100644 index 0000000000000000000000000000000000000000..e91162f8711796bb28662a81e8cf49c01c0ac697 GIT binary patch literal 5602 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 literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png b/GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png new file mode 100644 index 0000000000000000000000000000000000000000..765381267e4117fe8a222bf570914e6d3892de84 GIT binary patch literal 9213 zcmaKRc|6qJ+rLt%2oa{mHkC%%W-N_;--V&FP4+FuXvV&m3K=2F(nw`jQD{U$i>1K~ z$<~MpjR+x2Cj8Dv_x*i-e>~sE>osQ1xz_jly3RSDnUiF7+K6ZOf!%CuY&<5$`WQC0 zZC>Ez#Ki$-SZ#uzz#A;cz%IxJ?-dm4O7LXU@xZ%zikskEy*)9Wt{&kR-+8LDv9U|} z+S&!#S(vN3<8iXCkdAB^E)ZC=v8ii?1-iQXc?OBQd3yT>Xh_bzXp$87_0W(!r(_{- z5vb?s<7*s2@U)3IZR;N4=Z^M})Y24J4^ssWaGpV~;$b-d0HSJ`hUAuCRqz>_mXj3U zQVH_Yko=pJorRUS9-iPSj+RxBahI1@5LW@86qS*u&}bDEm6PH~c_d0sURe&QB!fh$ zDygU{D2o5{CkY}FJiJsf`iB3+10xMdpP-;XRXMrP&`{Y>lq{a$EvJA+qvhn0a!8~M z(2ya92L!o>$pjGL|9a5(B)SuP1A~0=0pgHHS2uickcK44_Ad-v;D6i(5dWbHkR})A z8YrhAD-Xf?SJA@a|5nA}{-aF{!g&5qzW=LZqHTDfryRzUhz};XgW`F?p-_RUdIV3` zAUweqkN5wVNh=?G5T59R4-`i#$ts8+Kj$0Zfe$4jwhSyRR80biL9PMro+kPllE8(m zudjzHN*-;1(gpt&^%N8o3=DKoh6V;INVG0eUP)gEW$>@9KHfbT=NS<6udT=b*ed*2 zTc{s!fgrNJC&4$w)5DN}$BA!YR`va_xgZVxtG|D2J^pJhNW=eXD+iL1gDU&~Rr=p4 z&_2+||MV^x{HOap13=3YKyMoer`xl!iDOLkb!@{v{>XDAVf(_{vNV)A;&DF)2d}w^ zA35^nw)XZbflb#i2g-bn!+j$%BFu^?n1|(<{Iw5f%WTUo6lm6jTNF_)=vlK%?Anog z>`Hf_NrvJMEHL=*`7k_1{?42dCiNDQe%Vn`iW zZ>gJAUDIPrs_LiIGD2?P@K0yB8OQw90vHmE<&P8wMHqMIYoLzlqpvbUY4_5Ojy=Sw z5wFrkiTTm36uFPe@4m3VnVt3>4k@MUYeuuU4wtIB?{FqU~M)WfQ#Q{xmuQ(x$ z=#4ZLuo2j|ju>b~$`Lp~pp?v|>cj3Q&En(O$GH<>_Z$&>c-HciTNeaf=bXPX+hKet z?LCNOoXqV=pPYQSHvsHzYX7^#(cz?{^`hcGK3cq1a+EtpRlaVfqd+7MjA&>#UV&Jg zTa`lIrodj4RyF8SUO}Ris=3eY&ex#<3K4g1c`xAR0`q#6G~*#9jOZ&>o4)$V-3B9^ zTVCc1{mrZEMS{_Gi$o|7@rk1q^y-L@H|)1E&B?qvC1d$3=+m6<&v0lat;*dfl~Isb zXQDuW#@DkJo(C&TJs2pT@mp1cJP4lfeA@MflCmhPy`_*@^M9c^B%u&jGM^34@XuCqurVX-WFaeSGkdZt1Cc%=92w!D z49)bI+LQOsH`0GS_lJ-_$gG-jBg5u5{HzH3ps*NF2&Wv8j*Iu06Ho{6rDO(w!kLY4 zWY2^jhPc>~RW&$XzuV2In%{EiiRd`@9=kUZY;*ud;FKuyW5|oLV|Sv4GRQ677FuNy zQ1Meqx|XSb5DOnAtZ7DFDAE2D@|Uh;zO*ViL~=Ik_N}7}JrX*!#gJ5nb}dKXLVDFX zMB7rwP`GJ4AnaMHx45VK z>%Nxm#)o3R;fGD_A3ekQeV)D&kkWbo1iYdoYqNT0`^ua!?nOJreV3ViL&s|V<;TBN z`sz-VluS(L#ieHdL=Oe|@hRxhht-aFj%{r8ye*1yU_Q_V{fC7ywbg+7Vy!X8;?~*HhB?09 zEtZ4JZxSnxZUs(kLKTb($-G*}xnY*Ah4q4O&MBN(F(@?=%hC^#;YY*0CgVmG`^;-@ zb$iF0;724kPP_TU&Moq#4-C;$+F`1x{*zR$YobkJ3Vn}iR1ZCy5n?p%tINE)=FG~z z{J4EJzL;U3jho< zuf2|U@G0}jBP7vw|Lf;3N7Uj}a-L7uH=Ov2gA)up<+tQAiYMN4sDVe6>;*$}*CN9-V_N%743weHeK-(WIX65&qn zj9W>0OpRF+uQP8M#gBuB)>Pe=2u%SU{U8TU%*goN?G@%fqfWS;7yGRY zp%L!5A~2sXvI*N!KKj#F*noB8I!$S2EvwJ+q1&>bfaXg1-qpuDC>iZA1>yK(YJaM5 zO&4CTBsYEwP%j!-Z|}|OiEND`4d@H<%)W%j`)NOTp~e42!uu`xDD{SwM2Ll8U5Cc8 z*8Zkbf!5?>MWvWeo4Mt3HK}c@i>>O{B3`s#BUL0<*2%RBYSYqRKP+;HDyyS>Jlu9B zJz(q#+S<(RjOFy8LhIb5*^IQnip$U`CvsYLxW#^c;_`7f+uyY8dZgluz)<@1`#9%} zEOJ1g^#YAlxpQgW@>tDFeOh8&VhJD5#(G)u-Kd4jxXsUR1BZK6N4?6wzYn(3TIebs zvi&6(-a?TQV0ev_vXl9LRWg>niy1?KW*3_&O|>)58oP&1y*ht(j7Y6{{>nDE$V?|b zu5I66Z5_e*`@g3t2o9+{hPK` zd&UNp61%rX>%cGDyUPTFDW%eqS4F(pNGZibPiM3&Zo#0l&!{ta_A=g4ZtNZ|)`ii# zZN(s1LDuQprmgmQ)V@)N)!+SsGcS_@)ChaIY*6b9&c(UrJ;!Wx!`qwq?Wk^bf@sge z;e^asYRfLXT5l~s(YiFG6)QW1yN-DhGeBXo&%G&=l@|3%VZE-IYj6nyqnr>+X$ya*@BQjewp3pI zWLZDDt0j7to+P2*7b_cz8F>v&q)u-dT((LXjc$)t7ThyH|qNuh(I(ciRnuwO|o3iloCN=Rbg)^O|W@ZK0zg_-ESN| zJGY`L5i5eozaqV|o?%}fF?yia@{E=w*tRu{!$tQWbhuz;i9f$l+syijlGPQ8Ncz!5 z?%(Mn`Htz&x(U~Y&MY5)cxgOS70kU z>-Uul6S%+ud0LOUsO~S+KmTbaM(Cy%QcBpxVOo-T(>iv3V7RyQK1UN#ym~B-%unpc z2ptfwkDVONSBg2&BJ=H>{|oP&O@?~w#>8bp_brLVLRjVA*7?pGoM4j}G7Z1Wc`aa> zbNg&U`KxHRtMua+WFNZ?hgv8#uZ#(;Ff5Vkvh8*5##zZmR9!4=RBSDh%l7WC)Glfn zc5M?Iptj-_6Oj6GxwLE~fAIE@c`AQdP$Jq4L0=5J7u~HrD)w=i$g|?OlzmIJM04I9 zcGvNx=buHdhL6WOJ`t%FqvS77bpa1%h&`jd6-%qXC2aN^eboGhJd(q6+U@4)z0W+J z@#dN@>hs>r>9p-^uRBp@m5P=|BtM>|H%cAxiFkJYdbtUl8S>m|VrdE|&ABheUu*oq zxaNxt#aiW{Tbm;!sesncS91%{3uL7 z;zEYf%Qg36#)D;}Jd#avcAwTpc3JUR*5~JHvk#F?=h9GahE(@^rS`w6P41_I3P>j? zwybPtl`}iFMg_DL?Y$kht#AWUjl<1p@@LMrYPkQYxU!sUf;yr1ezklTYTmscYk3sZ z2n2f-B}&ZOU|up&Nwr@e$z9km{p@!ko`un;J^8F4l(rzB8}R3ME+z(Tjo56qZAm!4 ztKo1i+Wx(nUyg*Gz(RKVf?MY6qC<{L!gC_?Xag$#2n9b?v3eax&;7and5$t;SZl$X z{fBc~!i4`{c&$9AY31La&`xUbyTx8kuOd7YyYBKL*c|_C2B)|3St!)p>^eCeg2?kc z+}ifh2K||y)*YoUQ(>eIVsQko^W-a&37JvX)3Y{>gE(iChJjD+n>QdZqFpci8FiCA z&e#KQQ0%cD?-AItS{uKr_T)>odePL^h-9O!mK!=Zl}(I*$A5RtTM zD8;CM6wX^DN}g9 z@qpxzz<0_+pZ9P|wA|%s=llZ0c)O=dAPQ3)tpqMw$v{ej5X&N z*;~|9h8aa4K54f8e$!@k$*zHHCWOLNSOv_eflZ!gD*6*?vv^9@TDe80nCkHT@**zs zV>jKQhHSPUh0%Oe!jQq?eh{wP$>&kf^K$U-oOTS%E%h8ZRmi9rm-$)f9lC@A$(t?}<4t)De+Qf6S)^6U85 zhZAh-JUVU?X`mB3Q020Q$8As8D<$P8yEuXeBvs3mgx%v0d86sbfhQbn^lvw1%xHBG z+SDsidLE3z+Ux2*ubW!*(#u9<371NiqB|&UU6b24+OUEaQ%*Vrnl)ITiosKEtNN*P z&I(_W=cbEFr$V(py{XSkcs!dcd?702b@WBt#CsVdT3r$hQQ3)0_iqba)|r&zvZ$(i z-@6v$Q+}ySk0-|adI#ksnh8j3K$@n$IDUD?jvURmTLV4pTdq>`E9J`kl`;$)r~7b8 zf`-8&)N-EmD;3F4otAaDe#N}GqyC9K_fWx_s8+yJ(t2XuAv6=v=*0W-%ozK&0WE1( zv(z*>E&9v{Rz+EHh8V8yP;~lXROXb7F0CxzqtGco4SaX>5L zd_nDb=3*9+3fSx70?)TYoX%A`XTU1(@@b~8 z9JzY2ig!)BXFl()q(!hw)EiraKg@`F=cQSLVqb4rrXZ-@ov~`!R!sJ$p2xCniJEqq}$d;a>FE<_K$sjo7Zg)7-sU88U6( zR+Lvsw%G@Eja0{!{CW|rr&!Iz$${W6?jd6ewe->D=dr3;xx0+lNu&w#b+FH^s?4Wo zR2EGCh*us+l>UYt`<^@*Y*Vy(nCnU9n(n_c718Pso#<#gmb+x=gP;q{?MnM+Pnzu%$H0=?zofcm-kUpdk8 zyRpLHTh&)rZ26pmb8{@;5PBpbdohzp0))(bua`AU{1HDSlN)Scp^0 ztUz6+WA!1WF@iu=j3(g*Ag#{vV{!XSkFV{TgZ}0F@)+um%v8Rd`y}vM{1q{VPl0)q z*$qW}P%mL#X^vt zw-|Y*UY7RriL61E^ykeeL*}MPt+pm%uY_0OFz?iBAB?d3$9LabxEif0l+XBL#0 z2Z+}1*Neg|RWmq1t=6!faK3l3D>0MhUAGnQ__~E} zU?ai*O!MZhjKS$CwQFmzq>ef{u!Cro@@;$_K(u5=2i`9`Mp_LksNTIA`^pw3RaC%o zaNq4sIQ~A9CcM16K~V z;5xyxQ4iQ+ojl6}-j=xWFFFXz#ES{$l(!mi4{&6S#&V+{{q=zbESXGbOTF0Jo0UFU8pZTjun`&C98n`mD!_wbbP$l#&X zFy{-5rB*syKF6{sA$6>K_LQVolk>GXWtp|y7krC`w0M;x<5rdB0}O)?SyA9vLF_zT z7Rc=q{6;~5-jQYY`E|FOW(x6h3QzGA^=FEg@CApZ2!KVDa-M^=z2pT-aiib^ddhos z>=8vG)X~^wrEQr_rAB%H`^7g}OYzL;u*B(L=Aj9`u%bT4j&nR5kK1fkg_aW*-VR(8 zaWPkzn~)Eic&5y6?I?m+;Y>e5>TunA>6}CO(>)3(7FA68J*v$$?%HJTeZf-azq1!+ zR~)lTVY$ebjK`r4FJ(%BW@$4V5!ltN>!5M}(X0>qs`4@`QL)Q4E_c%5KC5Fh1NZRb zXKZ3P&FbE;N|3iUw)7VNx9r+A7-4YMH=2A_n4{_LSOWEx1n-tzvw-l*-F7&wq zCt6CsOS{JD6h3=z{f+vQedsq=Ki~4bi*eb({>Dx}(WNZIeI%G?!bFy%GS!?!c~dGE zz_I>EGcTy$uiNM%E53c`U?S|f^4GM5OR~a)1CB;%)nbZl?Ic+{633tH)mx>REI|}u znKM4_N#;p$Ys89-*Z2>xn49GvOQ~qvAy|AsN`&uIdZV7eGo)%_Hk6f}UY&o3Kh95r z9Rb`c1pEiu)SLVYjk3EQ_M zGUJuF%Uw6uZaEu72?*K=mm|lq#N81k$GpbXMTz=dL+`HYG?9wP53HrB1%qrjhlZkui>^gMF)d4ysWg~xYA_n#7rU-Im8{s zmAx#$iy-VYMhio76_vsh2aju0(Md4$K>Qla7db{dEGRxP4AM%<5PC%WxkG~4 za~yYL4fb6dOL|>MehBjL5!qpGsmi^!|HuRxpbuB1?Zk}l&LGSJxE%#iUTe9%e7x~7 zS54}6fIt&Eo$5p4p1>{vOSdQYAQ6PCrggT!$-Y=HFh<$YS9WGTvCkNRV}8^I2OogfTbg}mo1>TA)4>;#kqWZ)19i^<><(#;gck>-QP=G^x zQ{FZ3wtA5*Cl9#pR! z#&zFwrdHnAqCrYp^!j9~5X0#;;|7%YXSVztpY(L^}J$9#| zKEb|sZl$<8z50T8r%==lOj+_J5L)mU^QIKp{Ag7QK_FB+_yse zeSY}1@!R0E8|Z58s~x`sFEQcYq74DRX^WPA`kA&`@NYS(z?hv7lX0^i<(6_AWX&<& z5C^j{TqoK6HEgdNEDe`_kAu*sEmozjqDyEkcEap{bZr_u2Nm8FAx+t;4LhOYuoBbM zoOKOkC(ish?w|!P{znpEej`54h9AcXxQHVkELdVHa-B*X-^07*#y!Ik{6Ia@5B0S; zvwvKXOC-V>RE=YNcvpG;#Ut_VBK2E69!FL?nlMW$Yo6YMK`b%9Q#0-D!_Yg^1ywN( zWlhxIA~lX2nPq;xjCg-)3w`^LS!i?6JzR8a7`}bLJn}P{)w>I*9@p1&JB7+gJU%rK-}m5V{3Vm(~c@<#%NrkmvnV zXqLzh@`d?GD2kwzcON}_=Hi{!$A5Y2AT0i@PyCOo_QxFaPZX!@opt zbD)Nk8^67Q^3aYY1gPdY#S|HcR!sirLkmOEzXG`H;2x&j3ZdQ&J+ zUVlt6`&>y(Yao`}po^6^zU_e*PXgOMx7K&dLBhW)9`eiZI@M_S*5~x|bgMn&h~H+k z?Pfy=j^WQRWb`vA{ghoc7Wz5Cn3zwG)SvDUSKV-q+s0P+v^KYIkL_h}qrcbF&cw^Y bf=wEH<^nJ1@4Zb1^k!mkTE9Zq&#A~OD9b7+ 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 F{SP%)uaW=& literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png b/GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png new file mode 100644 index 0000000000000000000000000000000000000000..3b17f7fdf0509bcceb049e62cf000ea44d97d979 GIT binary patch literal 9005 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 A`~Uy| literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/files/assets/159797226/1/gems05.png b/GemQuest/GemQuest/files/assets/159797226/1/gems05.png new file mode 100644 index 0000000000000000000000000000000000000000..3afdaba152aa01dfc9483508eab5fe3fba0caeaa GIT binary patch literal 4707 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 CyDMA( literal 0 HcmV?d00001 diff --git a/GemQuest/GemQuest/index.html b/GemQuest/GemQuest/index.html new file mode 100644 index 0000000..af096b4 --- /dev/null +++ b/GemQuest/GemQuest/index.html @@ -0,0 +1,17 @@ + + + + + + + + + GemQuest + + + + + + + + diff --git a/GemQuest/GemQuest/logo.png b/GemQuest/GemQuest/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb25c2209d9e0fdc253040db119e431a6896ca38 GIT binary patch literal 2599 zcmV+?3fT3DP)%)?4ISzpFhga^Fw}`Bg&s|%RQ;j zwpp|M`GRz$Hw$N*teHhKXWBC{9eE}9=GuIeW-OoGlZ?t~sm~NSKgl!scN$QRyF5=P zNzTl48JAPimFBeNyiAc18JwQXpTm=M<>ZV{GnUJ4Sv?D6`XnRrexAwg|8ZOjq8Sfb zQ@Z&f1=EY_4)hfz6U`+`wYi&uugoNMoZAQr{w=*+*TZVj>2mW(LvH}ADRrG5Ot6Yb z({X!?h+l#YrGo2$-%EGPS7BFa=z{K7i!U6ZpNK>i&eNvv!SA3ugL_3foPxhg9dDta zqu2D9&J}>K{mmgZw3ZDW?rI~!s4|FJ&Y=@*NaNMtV4I!=wtBn>e7=9rEaTpioJk8f*C-W9>2;yMgBRh@d#g)615N19ja248v^B|qsy@cn#B!RE$8osxPO zWer-fN2yY>gLHE+7$Qxa&AXK>(+NeaH;h2uNY-o zu>m+hYPdqGE2 zQgC9oY4Dad>EVAFS)=nmmx6E2D&0H_Y%VQ(Nw)*c%P`U0O#*Fm2iUJ-@Nrv{25(jq zaF6uzXecY-iBNON+87+B@4@>g1*f+h{A@bQ@;#gAucJoOSgYKRv#^LIOrT&l>EU~L zTbs1#b#gKcY6!8h@|6wYiM{#LV#>B0wQ=zH+b zP;gMo!JkUOt;#*D;Gfd4+&`vWyQhGfrE=jirdHjfSH*Z39R@TFbUj^o#T1o-Z}(BX z2Cw|<=lV+z*8vAg>E#$>M(O2M;8n}@E%;R^S-FMa%QdNBdl9iX1*1(b4a@!Ej-=rG zo@Ksl#@3UTeY{s3yMi5?1z#>ff2b6EoYtVh+Z3Ep=akNfZf)dR;Fy}#^%KzLCYu}3 zTJTGhy*OX#*JAMNDOYD@`{ik6u+p&H4>tm8Zpd=e8ze2dRE+{WnQ!nwh2Z;p4D4Jf z_*spw+c@5cPIJ~;`D;wA*XwjhF^@--sk+AAW^EMwC|fJFy+d8CQ;CzM#o#Yj;FnT* zr~)t6sS^+B$!$`@KcQ1v_IEW~u8Y9JO@oiQeUIUOS|Rwjx@;r6JD1KnJ^$&@t8^dT zpw6|~$#Y6{dCH01zhPA4ZBw-v{7l9vu&k8MP(IG`Qo{v|R)V4CkQ)9CL#0KhF{0)M zpC1gVRKm9f&ly-D__ga4^fT(5sP5+@JYC~+jK;N6*F~M?StUCC%ltns_)je;Ee3zI z0xwH9uT{=o=G5Q>WV=TdxVz?h*7r63<+>+mw*&iB z3Vw1ggDsl{Ury&OY8>dDAicc3?)F)^>`j_Gwf(&TII&sqo!;^%tBbT8{Hh8}FiWo@ z_8HWj(PaSyM@t>|1{+8Vt_Dt(8V=Bbrz-^?ix`FP%++{YS)_02b!umvnWcyG>B4WM zrZ1MYql*0uHW3poCGAPU@XXM|0a+;f=h5_q{mP$S&SF`+n``8$-s4)}$t1~IX@!H6 zbmlLq#f1DZ$qHF6Rd^#uCYd2uq<3sG;<{d^JJ4GSLd7b4ZF_cLF1&d<`7AIHquG0E^; zklOqtNpeW`PZj>04YE^K%b7VXjrnc%NqhFo8TmiM{z{3^$1id>jGGB(v|&p}CsHr!uk%Z8aUd*+v^ z!m#X;$I?Il$kI(d$#3$f|1HutCD|ggCHY;Qg=l=PXjoIXNm~xeNvX=%Bwdqsk6+r4 zW7n4V_!ta+CrzBqWIe8ZUm^{h%5c11agQ&nhUODkerf2h!CIArZ*wQO zxXHN7&}E*YZ~txGdurFNbOCI)@(5>`<)yCk>%>3$8vMsTtm(exoCdCzx}K@T{4EDx z-gDqC1txXbpWZm+y!#cOxt4XPY`tgnlv;~vE4 zI`Fvk@&It0H1!&=gou4i1b0}W##DQ?F!g+E)fjQ}+g^svdltS0VVFDA+@K`8>v&sq)p&UyF#1bO2sZrr5Rm=ghLrugZ{2-}GGCjOFVle@w+g zYf=R{JS!)eJ#QyTzRL+YGh1cDES>o>b&~P>>0,n=arguments[1]>>0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r>>0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),e(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),e(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),e(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var i=0,n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];i=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:L(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function _(t,e,i,n,s,r,a){try{var o=t[r](a),h=o.value}catch(t){return void i(t)}o.done?e(h):Promise.resolve(h).then(n,s)}function g(t){return function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){_(r,n,s,a,o,"next",t)}function o(t){_(r,n,s,a,o,"throw",t)}a(void 0)}))}}function v(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var E=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();E._traceChannels=new Set,E.stack=!1;var M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.off(this.name,this.callback,this.scope)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},y(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}]),t}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=A(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(L.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==L.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==L.delimiter&&(s+=L.delimiter),s},split:function(t){var e=t.lastIndexOf(L.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return L.split(t)[1]},getDirectory:function(t){return L.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(L.isRelativePath(t))if("."===i[0])for(n=0;n0),N=!("browser"!==O||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={name:k,environment:O,global:"browser"===O?window:global,browser:"browser"===O,desktop:["windows","osx","linux","cros"].includes(k),mobile:["android","ios"].includes(k),ios:"ios"===k,android:"android"===k,xbox:B,gamepads:N,touch:U,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,q=56319,j=56320,Y=57343,K=127462,Z=127487,Q=65024,$=65039;function J(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=q){var s=t.charCodeAt(e+1);if(s>=j&&s<=Y)return{code:1024*(n-X)+s-j+65536,long:!0}}return{code:n,long:!1}}function tt(t,e,i){if(!t)return!1;var n=J(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function et(t,e){if(e===t.length-1)return 1;if(tt(t[e],X,q)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return tt(n,127995,127999)||tt(i,K,Z)&&tt(n,K,Z)?4:tt(n,Q,$)?3:2}return tt(t[e+1],Q,$)?2:1}var it,nt,st,rt={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=J(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=J(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},at=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),ot=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();ot.modules={},ot.wasmSupported=(it=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},st=nt={},function(){return st===nt&&(st=it()),st});var ht=function(){function t(){}return t.setConfig=function(t,e){var i=ot.getModule(t);i.config=e,i.callbacks.length>0&&ot.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=ot.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=ot.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&ot.initialize(t,i))},t}(),lt=function(){function t(t){this.arraybuffer=t,this.dataView=new DataView(t),this.offset=0,this.stack=[]}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},y(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}]),t}(),ct=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ut=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}S(e,t);var i=e.prototype;return i.add=function(){var t=!1,e=this._processArguments(arguments,!0);if(!e.length)return t;for(var i=0;i=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*_t.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),_t.lerp(t,e,_t.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=_t.intToBytes32(i):(e=_t.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ft=gt,gt.BLACK=Object.freeze(new ft(0,0,0,1)),gt.BLUE=Object.freeze(new ft(0,0,1,1)),gt.CYAN=Object.freeze(new ft(0,1,1,1)),gt.GRAY=Object.freeze(new ft(.5,.5,.5,1)),gt.GREEN=Object.freeze(new ft(0,1,0,1)),gt.MAGENTA=Object.freeze(new ft(1,0,1,1)),gt.RED=Object.freeze(new ft(1,0,0,1)),gt.WHITE=Object.freeze(new ft(1,1,1,1)),gt.YELLOW=Object.freeze(new ft(1,1,0,1));var vt,yt,xt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?_t.lerp(this._p0,this._p1,s):1===n?_t.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),St=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new xt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=p(t.keys,this.keys),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-wt*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-wt*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-wt*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=_t.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),Et=function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=void 0,this.y=void 0,this.z=void 0,3===t.length?(this.x=t[0],this.y=t[1],this.z=t[2]):(this.x=t,this.y=e,this.z=i)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.cross=function(t,e){var i=t.x,n=t.y,s=t.z,r=e.x,a=e.y,o=e.z;return this.x=n*o-a*s,this.y=s*r-o*i,this.z=i*a-r*n,this},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();vt=Et,Et.ZERO=Object.freeze(new vt(0,0,0)),Et.ONE=Object.freeze(new vt(1,1,1)),Et.UP=Object.freeze(new vt(0,1,0)),Et.DOWN=Object.freeze(new vt(0,-1,0)),Et.RIGHT=Object.freeze(new vt(1,0,0)),Et.LEFT=Object.freeze(new vt(-1,0,0)),Et.FORWARD=Object.freeze(new vt(0,0,-1)),Et.BACK=Object.freeze(new vt(0,0,1));var Mt,Pt=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,g=l*r-a*h,v=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*g;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=g*S,b[7]=v*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();yt=Pt,Pt.IDENTITY=Object.freeze(new yt),Pt.ZERO=Object.freeze((new yt).set([0,0,0,0,0,0,0,0,0]));var Rt,It=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*_t.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*_t.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*_t.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Mt=It,It.ZERO=Object.freeze(new Mt(0,0)),It.ONE=Object.freeze(new Mt(1,1)),It.UP=Object.freeze(new Mt(0,1)),It.DOWN=Object.freeze(new Mt(0,-1)),It.RIGHT=Object.freeze(new Mt(1,0)),It.LEFT=Object.freeze(new Mt(-1,0));var Lt,Dt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Rt=Dt,Dt.ZERO=Object.freeze(new Rt(0,0,0,0)),Dt.ONE=Object.freeze(new Rt(1,1,1,1));var Ot,kt=new It,Ft=new Et,Bt=new Et,Ut=new Et,Nt=new Et,zt=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],g=a[8],v=a[9],y=a[10],x=a[11],S=a[12],b=a[13],w=a[14],T=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+g*s+S*r,h[1]=c*i+p*n+v*s+b*r,h[2]=u*i+m*n+y*s+w*r,h[3]=d*i+_*n+x*s+T*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+g*s+S*r,h[5]=c*i+p*n+v*s+b*r,h[6]=u*i+m*n+y*s+w*r,h[7]=d*i+_*n+x*s+T*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+g*s+S*r,h[9]=c*i+p*n+v*s+b*r,h[10]=u*i+m*n+y*s+w*r,h[11]=d*i+_*n+x*s+T*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+g*s+S*r,h[13]=c*i+p*n+v*s+b*r,h[14]=u*i+m*n+y*s+w*r,h[15]=d*i+_*n+x*s+T*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],g=r[12],v=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+g,o[13]=l*i+d*n+m*s+v,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Dt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ut.sub2(t,e).normalize(),Bt.copy(i).normalize(),Ft.cross(Bt,Ut).normalize(),Bt.cross(Ut,Ft);var n=this.data;return n[0]=Ft.x,n[1]=Ft.y,n[2]=Ft.z,n[3]=0,n[4]=Bt.x,n[5]=Bt.y,n[6]=Bt.z,n[7]=0,n[8]=Ut.x,n[9]=Ut.y,n[10]=Ut.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(kt,e,i,n,r),this.setFrustum(-kt.x,kt.x,-kt.y,kt.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=_t.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],g=e[15],v=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,w=s*l-r*h,T=c*m-u*p,A=c*_-d*p,C=c*g-f*p,E=u*_-d*m,M=u*g-f*m,P=d*g-f*_,R=v*P-y*M+x*E+S*C-b*A+w*T;if(0===R)this.setIdentity();else{var I=1/R,L=this.data;L[0]=(o*P-h*M+l*E)*I,L[1]=(-n*P+s*M-r*E)*I,L[2]=(m*w-_*b+g*S)*I,L[3]=(-u*w+d*b-f*S)*I,L[4]=(-a*P+h*C-l*A)*I,L[5]=(i*P-s*C+r*A)*I,L[6]=(-p*w+_*x-g*y)*I,L[7]=(c*w-d*x+f*y)*I,L[8]=(a*M-o*C+l*T)*I,L[9]=(-i*M+n*C-r*T)*I,L[10]=(p*b-m*x+g*v)*I,L[11]=(-c*b+u*x-f*v)*I,L[12]=(-a*E+o*A-h*T)*I,L[13]=(i*E-n*A+s*T)*I,L[14]=(-p*S+m*y-_*v)*I,L[15]=(c*S-u*y+d*v)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,g=s*d,v=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+v))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+v))*h,b[6]=(g+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(g-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new Et),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new Et),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new Et),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new Et),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new Et),this.getX(Ft),this.getY(Bt),this.getZ(Ut),t.set(Ft.length(),Bt.length(),Ut.length()),t},e.setFromEulerAngles=function(t,e,i){t*=_t.DEG_TO_RAD,e*=_t.DEG_TO_RAD,i*=_t.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new Et),this.getScale(Nt);var e=Nt.x,i=Nt.y,n=Nt.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(_t.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},y(t,[{key:"scaleSign",get:function(){return this.getX(Ft),this.getY(Bt),this.getZ(Ut),Ft.cross(Ft,Bt),Ft.dot(Ut)<0?-1:1}}]),t}();Lt=zt,zt.IDENTITY=Object.freeze(new Lt),zt.ZERO=Object.freeze((new Lt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Vt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(_t.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*_t.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof Et){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*_t.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i,n,s,r,a,o,h,l,c,u,d,f,p;if(e=(t=t.data)[0],i=t[1],n=t[2],s=t[4],r=t[5],a=t[6],o=t[8],h=t[9],l=t[10],0===(d=e*e+i*i+n*n))return this;if(d=1/Math.sqrt(d),0===(f=s*s+r*r+a*a))return this;if(f=1/Math.sqrt(f),0===(p=o*o+h*h+l*l))return this;i*=d,n*=d,s*=f,a*=f,o*=p=1/Math.sqrt(p),h*=p;var m=(e*=d)+(r*=f)+(l*=p);return m>=0?(c=Math.sqrt(m+1),this.w=.5*c,c=.5/c,this.x=(a-h)*c,this.y=(o-n)*c,this.z=(i-s)*c):e>r?e>l?(u=e-(r+l)+1,u=Math.sqrt(u),this.x=.5*u,u=.5/u,this.w=(a-h)*u,this.y=(i+s)*u,this.z=(n+o)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u):r>l?(u=r-(l+e)+1,u=Math.sqrt(u),this.y=.5*u,u=.5/u,this.w=(o-n)*u,this.z=(a+h)*u,this.x=(s+i)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u),this},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ot=Vt,Vt.IDENTITY=Object.freeze(new Ot(0,0,0,1)),Vt.ZERO=Object.freeze(new Ot(0,0,0,0));var Gt=new Et,Ht=new Et,Wt=new Et,Xt=new Et,qt=new Et,jt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=new Et(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new Et,this._max=new Et,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,g=m.y,v=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,w=_-x,T=_+x,A=g-S,C=g+S,E=v-b,M=v+b;wc&&(c=T),Ad&&(d=C),Ep&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Gt.copy(this.getMin()).sub(t.origin),n=Ht.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=Wt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Xt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Gt,i=Ht,n=Wt,s=Xt,r=qt,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var g=1/Math.sqrt(m);l*=g,c*=g,u*=g}if((m=d*d+f*f+p*p)>0){var v=1/Math.sqrt(m);d*=v,f*=v,p*=v}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Gt,Ht,i),this.setMinMax(Gt,Ht)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Gt.add2(this.getMin(),t),Ht.add2(this.getMax(),e),this.setMinMax(Gt,Ht)},t}(),Yt=new Et,Kt=new Et,Zt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Yt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Yt.sub2(t.center,this.center);var e=t.radius+this.radius;return Yt.lengthSq()<=e*e},t}(),Qt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),$t=function(){function t(t,e){this.origin=new Et,this.direction=Et.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Jt=new $t,te=new Et,ee=new Zt,ie=new zt,ne=function(){function t(t,e){void 0===t&&(t=new zt),void 0===e&&(e=new Et(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new jt(new Et,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Jt.origin),this._modelTransform.transformVector(t.direction,Jt.direction),e){var i=this._aabb._intersectsRay(Jt,e);return ie.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Jt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,te),this._aabb.containsPoint(te)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,ee.center),ee.radius=t.radius,!!this._aabb.intersectsBoundingSphere(ee)},y(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}]),t}(),se=function(){function t(t,e){void 0===t&&(t=Et.UP),void 0===e&&(e=0),this.normal=new Et,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),re="linear",ae="inverse",oe="exponential",he=0,le=10,ce=11,ue=12,de=13,fe=14,pe=15,me=16,_e=17,ge=18,ve=21,ye=24,xe=25,Se=26,be=27,we=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[ce,{name:"RGB16F",size:8}],[ue,{name:"RGBA16F",size:8}],[de,{name:"RGB32F",size:16}],[fe,{name:"RGBA32F",size:16}],[pe,{name:"R32F",size:4}],[me,{name:"DEPTH",size:4}],[_e,{name:"DEPTHSTENCIL",size:4}],[ge,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[le,{name:"DXT5",blockSize:16}],[ve,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[ye,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[xe,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[Se,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[be,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}]]),Te=function(t){return void 0!==we.get(t).blockSize},Ae=function(t){switch(t){case de:case fe:return Float32Array;case 3:case 4:case 5:case ce:case ue:return Uint16Array;default:return Uint8Array}},Ce=5,Ee="POSITION",Me="NORMAL",Pe="TANGENT",Re="BLENDWEIGHT",Ie="BLENDINDICES",Le="COLOR",De="TEXCOORD",Oe="TEXCOORD0",ke="TEXCOORD1",Fe="TEXCOORD2",Be="TEXCOORD3",Ue="TEXCOORD4",Ne="TEXCOORD5",ze="TEXCOORD6",Ve="TEXCOORD7",Ge="ATTR",He="ATTR0",We="ATTR1",Xe="ATTR2",qe="ATTR3",je="ATTR4",Ye="ATTR5",Ke="ATTR6",Ze="ATTR7",Qe="ATTR8",$e="ATTR9",Je="ATTR10",ti="ATTR11",ei="ATTR12",ii="ATTR13",ni="ATTR14",si="ATTR15",ri="default",ai="rgbm",oi="rgbe",hi="rgbp",li="swizzleGGGR",ci="2d",ui="2d-array",di="cube",fi="3d",pi="none",mi="cube",_i="equirect",gi="octahedral",vi="wgsl",yi=1,xi=13,Si=14,bi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bec2","bec3","bec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","",""],wi="webgl1",Ti="webgl2",Ai="webgpu",Ci="null",Ei=["mesh","view"],Mi="default",Pi=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Uint16Array],Ri=[1,1,2,2,4,4,4,2],Ii={Int8Array:0,Uint8Array:yi,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},Li=[Uint8Array,Uint16Array,Uint32Array],Di=[1,2,4],Oi={};Oi[Ee]=0,Oi[Me]=1,Oi[Re]=2,Oi[Ie]=3,Oi[Le]=4,Oi[Oe]=5,Oi[ke]=6,Oi[Fe]=7,Oi[Be]=8,Oi[Ue]=9,Oi[Ne]=10,Oi[ze]=11,Oi[Ve]=12,Oi[Pe]=13,Oi[He]=0,Oi[We]=1,Oi[Xe]=2,Oi[qe]=3,Oi[je]=4,Oi[Ye]=5,Oi[Ke]=6,Oi[Ze]=7,Oi[Qe]=8,Oi[$e]=9,Oi[Je]=10,Oi[ti]=11,Oi[ei]=12,Oi[ii]=13,Oi[ni]=14,Oi[si]=15;var ki,Fi,Bi="1.65",Ui=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},zi=function(t,e,i){void 0===i&&(i=1);var n=i<>>0}var Ji,tn=function(){function t(){this.map=new Map,this.id=0}return t.prototype.get=function(t){var e=this.map.get(t);return void 0===e&&(e=this.id++,this.map.set(t,e)),e},t}(),en=new tn,nn=[2,4,8,12,16],sn=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Ri[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?_:1),this.autoResolve=null==(a=t.autoResolve)||a,this.name=t.name,this.name)||(this.name=null==(p=this._colorBuffer)?void 0:p.name);this.name||(this.name=null==(m=this._depthBuffer)?void 0:m.name);this.name||(this.name="Untitled"),this.flipY=null!=(o=t.flipY)&&o,this.validateMrt(),this.impl=f.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){if(this.width!==t||this.height!==e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)}},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},y(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}]),t}(),cn=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=0;return e.uniformBuffers.forEach((function(t){var e=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:s++,resource:{buffer:e,offset:0,size:t.format.byteSize}})})),e.textures.forEach((function(e,r){var a=e.impl,o=n.textureFormats[r],h=a.getView(t);i.push({binding:s++,resource:h});var l=a.getSampler(t,o.sampleType);i.push({binding:s++,resource:l})})),e.storageTextures.forEach((function(e,n){var r=e.impl.getView(t);i.push({binding:s++,resource:r})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),un=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),dn=[];dn[0]="",dn[1]="r8unorm",dn[2]="rg8unorm",dn[3]="",dn[4]="",dn[5]="",dn[6]="rgba8unorm",dn[7]="rgba8unorm",dn[8]="bc1-rgba-unorm",dn[9]="bc2-rgba-unorm",dn[10]="bc3-rgba-unorm",dn[11]="",dn[12]="rgba16float",dn[13]="",dn[14]="rgba32float",dn[15]="r32float",dn[16]="depth32float",dn[17]="depth24plus-stencil8",dn[18]="rg11b10ufloat",dn[19]="",dn[20]="",dn[21]="",dn[22]="etc2-rgb8unorm",dn[23]="etc2-rgba8unorm",dn[24]="",dn[25]="",dn[26]="",dn[27]="",dn[28]="astc-4x4-unorm",dn[29]="",dn[30]="",dn[31]="bgra8unorm";var fn=[];fn[0]="filtering",fn[1]="non-filtering",fn[2]="comparison";var pn=[];pn[0]="float",pn[1]="unfilterable-float",pn[2]="depth";var mn=new tn,_n=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=mn.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.getTextureSlot=function(t,e){return t.bufferFormats.length+2*e},e.createDescriptor=function(t){var e=[],i="",n=0;return t.bufferFormats.forEach((function(t){var s=un.shaderStage(t.visibility);i+="#"+n+"U:"+s,e.push({binding:n++,visibility:s,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var s=un.shaderStage(t.visibility),r=t.sampleType,a=t.textureDimension,o=pn[r];i+="#"+n+"T:"+s+"-"+o+"-"+a+"-false",e.push({binding:n++,visibility:s,texture:{sampleType:o,viewDimension:a,multisampled:false}});var h=fn[r];i+="#"+n+"S:"+s+"-"+h,e.push({binding:n++,visibility:s,sampler:{type:h}})})),t.storageTextureFormats.forEach((function(t){var s=t.format,r=t.textureDimension;i+="#"+n+"ST:"+s+"-"+r,e.push({binding:n++,visibility:GPUShaderStage.COMPUTE,storageTexture:{access:"write-only",format:dn[s],viewDimension:r}})})),{key:i,descr:{entries:e}}},t}(),gn=function(){function t(){this.buffer=null}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.unlock=function(t,e,i,n){var s,r,a=t.wgpu;if(!this.buffer){var o=n.byteLength+3&-4;this.buffer=t.wgpu.createBuffer({size:o,usage:i|GPUBufferUsage.COPY_DST})}var h=null!=(s=n.byteOffset)?s:0,l=new Uint8Array(null!=(r=n.buffer)?r:n,h,n.byteLength),c=new Uint8Array(this.buffer.size);c.set(l),a.queue.writeBuffer(this.buffer,0,c,0,c.length)},y(t,[{key:"initialized",get:function(){return!!this.buffer}}]),t}(),vn=function(t){function e(e){var i;return(i=t.call(this)||this).format=null,i.format=1===e.format?"uint16":"uint32",i}return S(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.usage,GPUBufferUsage.INDEX,e.storage)},e}(gn),yn=function(t,e){if(t.size!==e.size)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),wn=function(){function t(t){this.device=t}return t.prototype.getPipelineLayout=function(t){var e=[];t.forEach((function(t){e.push(t.bindGroupLayout)}));var i={bindGroupLayouts:e};return this.device.wgpu.createPipelineLayout(i)},t}(),Tn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],An=["add","subtract","reverse-subtract","min","max"],Cn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],En=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],Mn=["none","back","front"],Pn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Rn=function(){this.pipeline=void 0,this.hashes=void 0},In=function(t){function e(e){var i;return(i=t.call(this,e)||this).lookupHashes=new Uint32Array(13),i.vertexBufferLayout=new bn,i.cache=new Map,i}S(e,t);var i=e.prototype;return i.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,g,v,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(g=r[1])?void 0:g.key)?_:0,x[10]=null!=(v=null==(y=r[2])?void 0:y.key)?v:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=$i(x),b=this.cache.get(S);if(b)for(var w=0;w0){f.fragment={module:d.getFragmentShaderModule(),entryPoint:d.fragmentEntryPoint,targets:[]};var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},e}(wn),Ln=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.get=function(t,e){var i=this.getPipelineLayout([e.impl]);return this.create(t,i)},i.create=function(t,e){var i=this.device.wgpu,n=t.impl,s={compute:{module:n.getComputeShaderModule(),entryPoint:n.computeEntryPoint},layout:e};return i.createComputePipeline(s)},e}(wn),Dn=new tn,On=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),kn=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=Dn.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new On),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s>e,1)},t.calcMipLevelsCount=function(t,e,i){return void 0===i&&(i=1),1+Math.floor(Math.log2(Math.max(t,e,i)))},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=we.get(n),h=null!=(s=null==(r=we.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==ye&&n!==xe||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),is=[];is[0]="repeat",is[1]="clamp-to-edge",is[2]="mirror-repeat";var ns=[];ns[0]={level:"nearest",mip:"nearest"},ns[1]={level:"linear",mip:"nearest"},ns[2]={level:"nearest",mip:"nearest"},ns[3]={level:"nearest",mip:"linear"},ns[4]={level:"linear",mip:"nearest"},ns[5]={level:"linear",mip:"linear"};var ss=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=dn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC|(Te(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|(i.storage?GPUTextureUsage.STORAGE_BINDING:0)},this.gpuTexture=n.createTexture(this.descr),this.texture.format===_e&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:is[n.addressU],addressModeV:is[n.addressV],addressModeW:is[n.addressW]};!e&&n.compareOnRead&&(e=2),2===e?(s.compare="less",s.magFilter="linear",s.minFilter="linear"):1===e||this.texture.format===fe||this.texture.format===_e||this.texture.format===ue?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=ns[n.magFilter].level,s.minFilter=ns[n.minFilter].level,s.mipmapFilter=ns[n.minFilter].mip);var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?_t.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=e.requiredMipLevels,s=0;s<=|&+-]/g,_s=function(){function t(){}return t.run=function(t,e){void 0===e&&(e=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var i=new Map;if(e){var n=new Map,s=t.match(/(pcFragColor[1-8])\b/g);null==s||s.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);n.set(i,(null!=(e=n.get(i))?e:0)+1)})),n.forEach((function(t,e){1===t&&i.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,i);var r=new Map;return i.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&r.set(e,t)})),null!==t&&(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).map((function(t){return r.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t})).join("\n"),t=t.replace(/(\n\n){3,}/gm,"\n\n")),t},t._preprocess=function(e,i){void 0===i&&(i=new Map);for(var n,s=e,r=[],a=!1;null!==(n=os.exec(e));){var o=n[1];switch(o){case"define":hs.lastIndex=n.index;var h=hs.exec(e);a||(a=null===h);var l=h[1];fs.lastIndex=h.index;var c=fs.exec(l)[1],u=l.substring(c.length).trim();""===u&&(u="true"),t._keep(r)&&i.set(c,u),os.lastIndex=h.index+h[0].length;break;case"undef":cs.lastIndex=n.index;var d=cs.exec(e),f=d[1].trim();t._keep(r)&&i.delete(f),os.lastIndex=d.index+d[0].length;break;case"extension":ls.lastIndex=n.index;var p=ls.exec(e);if(a||(a=null===p),p){var m=p[1];t._keep(r)&&i.set(m,"true")}os.lastIndex=p.index+p[0].length;break;case"ifdef":case"ifndef":case"if":us.lastIndex=n.index;var _=us.exec(e),g=_[2],v=t.evaluate(g,i);a||(a=v.error);var y=v.result;"ifndef"===o&&(y=!y),r.push({anyKeep:y,keep:y,start:n.index,end:us.lastIndex}),os.lastIndex=_.index+_[0].length;break;case"endif":case"else":case"elif":ds.lastIndex=n.index;var x=ds.exec(e),S=r.pop(),b=S.keep?e.substring(S.end,n.index):"";e=e.substring(0,S.start)+b+e.substring(ds.lastIndex),os.lastIndex=S.start+b.length;var w=x[1];if("else"===w||"elif"===w){var T=!1;if(!S.anyKeep)if("else"===w)T=!S.keep;else{var A=t.evaluate(x[2],i);T=A.result,a||(a=A.error)}r.push({anyKeep:S.anyKeep||T,keep:T,start:os.lastIndex,end:os.lastIndex})}}}return a?(console.warn("Failed to preprocess shader: ",{source:s}),s):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),E.get(l))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setDepthBias=function(t){},n.setDepthBiasValues=function(t,e){},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(on),Bs=0,Us=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,g,v,y,x,S,b,w;(void 0===e&&(e={}),this.name=void 0,this._isRenderTarget=!1,this._gpuSize=0,this.id=Bs++,this._invalid=!1,this._lockedLevel=-1,this.renderVersionDirty=0,this._storage=!1,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=Te(this._format),t.supportsVolumeTextures)?(this._volume=null!=(S=e.volume)&&S,this._depth=Math.floor(null!=(b=e.depth)?b:1),this._arrayLength=Math.floor(null!=(w=e.arrayLength)?w:0)):(this._volume=!1,this._depth=1,this._arrayLength=0);this._storage=null!=(a=e.storage)&&a,this._cubemap=null!=(o=e.cubemap)&&o,this.fixCubemapSeams=null!=(h=e.fixCubemapSeams)&&h,this._flipY=null!=(l=e.flipY)&&l,this._premultiplyAlpha=null!=(c=e.premultiplyAlpha)&&c,this._mipmaps=null==(u=null!=(d=e.mipmaps)?d:e.autoMipmap)||u,this._minFilter=null!=(f=e.minFilter)?f:5,this._magFilter=null!=(p=e.magFilter)?p:1,this._anisotropy=null!=(m=e.anisotropy)?m:1,this._addressU=null!=(_=e.addressU)?_:0,this._addressV=null!=(g=e.addressV)?g:0,this._addressW=null!=(v=e.addressW)?v:0,this._compareOnRead=null!=(y=e.compareOnRead)&&y,this._compareFunc=null!=(x=e.compareFunc)?x:1,this.type=ri,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?ai:ri:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?li:ri),this.projection=pi,this._cubemap?this.projection=mi:e.projection&&e.projection!==mi&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=Math.floor(t),this._height=Math.floor(e),this._depth=Math.floor(i),this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){void 0===t&&(t={}),void 0===t.level&&(t.level=0),void 0===t.face&&(t.face=0),void 0===t.mode&&(t.mode=2),this._lockedLevel=t.level;var e=this.cubemap?this._levels[t.face]:this._levels;if(null===e[t.level]){var i=Math.max(1,this._width>>t.level),n=Math.max(1,this._height>>t.level),s=Math.max(1,this._depth>>t.level),r=new ArrayBuffer(es.calcLevelGpuSize(i,n,s,this._format));e[t.level]=new(Ae(this._format))(r)}return e[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedLevel,this.upload(),this._lockedLevel=-1},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=g(m().mark((function t(){var e,i,n,s=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=m().mark((function t(){var i,r,a,o;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new ln({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),y(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?es.calcMipLevelsCount(this.width,this.height):1}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(this._minFilter=t,this.propertyChanged(1))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(this._magFilter=t,this.propertyChanged(2))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this._mipmaps=t,this.device.isWebGPU,t&&(this._needsMipmapsUpload=!0))}},{key:"storage",get:function(){return this._storage}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return es.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"array",get:function(){return this._arrayLength>0}},{key:"arrayLength",get:function(){return this._arrayLength}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return _t.powerOfTwo(this._width)&&_t.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case ai:return"rgbm";case oi:return"rgbe";case hi:return"rgbp";default:return this.format===ce||this.format===de||this.format===ue||this.format===fe?"linear":"srgb"}}}]),t}(),Ns=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s=t.gl;if(this.bufferId)s.bindBuffer(i,this.bufferId),s.bufferSubData(i,0,n);else{var r;switch(e){case 0:r=s.STATIC_DRAW;break;case 1:r=s.DYNAMIC_DRAW;break;case 2:r=s.STREAM_DRAW;break;case 3:r=t.isWebGL2?s.DYNAMIC_COPY:s.STATIC_DRAW}this.bufferId=s.createBuffer(),s.bindBuffer(i,this.bufferId),s.bufferData(i,n,r)}},y(t,[{key:"initialized",get:function(){return!!this.bufferId}}]),t}(),zs=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var $s=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this._glCreated=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=Qs(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,this._glFormat,this._glPixelType,h):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?this._glCreated&&l?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glInternalFormat,l):i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&l?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,l):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else if(e._volume)e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n));else if(e.array&&"object"==typeof n){if(e._arrayLength===n.length)if(e._compressed)for(var c=0;ct.maxTextureSize||n.height>t.maxTextureSize)&&(n=Qs(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height));var d=n.width||n.videoWidth,f=n.height||n.videoHeight;t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&e._width===d&&e._height===f?i.texSubImage2D(i.TEXTURE_2D,r,0,0,this._glFormat,this._glPixelType,n):(i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n),0===r&&(e._width=d,e._height=f))}else s=1/Math.pow(2,r),e._compressed?this._glCreated&&n?i.compressedTexSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),this._glInternalFormat,n):i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&n?i.texSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,n):i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n));e._mipmapsUploaded=0!==r}r++}else r++;if(e._needsUpload)if(e._cubemap)for(var p=0;p<6;p++)e._levelsUpdated[0][p]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize),this._glCreated=!0}},t}(),Js=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),tr=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var g=i.createRenderbuffer();this._glMsaaColorBuffers.push(g);var v=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,g),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,v,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,g)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s),o=or[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++),n=t.indexOf("attribute",n+1)}return e},t}(),lr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),cr=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new lr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f=120||115===l)&&(i.antialias=!1)}}var c=null;if(s.backBufferAntialias=null!=(n=i.antialias)&&n,i.antialias=!1,i.gl)c=i.gl;else for(var u=void 0===i.preferWebGl2||i.preferWebGl2?["webgl2","webgl","experimental-webgl"]:["webgl","experimental-webgl"],d=0;d0;var S=s.vertexUniformsCount;return S-=16,S-=8,S-=1,S-=16,s.boneLimit=Math.floor(S/3),s.boneLimit=Math.min(s.boneLimit,128),"Mali-450 MP"===s.unmaskedRenderer&&(s.boneLimit=34),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=pr(c,c.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=pr(c,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=ue:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=fe),s.postInit(),s}S(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new cr(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new ln({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new zs},n.createIndexBufferImpl=function(t){return new Vs(t)},n.createShaderImpl=function(t){return new Zs(t)},n.createTextureImpl=function(t){return new $s},n.createRenderTargetImpl=function(t){return new tr},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,ur)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,_t.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?u.drawElementsInstanced(S,b,T,A,e):u.drawElements(S,b,T,A)}else{var C=t.base;e>0?u.drawArraysInstanced(S,C,b,e):u.drawArrays(S,C,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(u.endTransformFeedback(),u.bindBufferBase(u.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(Gi.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(Hi.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m)}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return _.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setDepthBias=function(t){this.depthBiasEnabled!==t&&(this.depthBiasEnabled=t,t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL))},n.setDepthBiasValues=function(t,e){this.gl.polygonOffset(e,t)},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=an.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=an.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(t===he)this.gl.disable(this.gl.CULL_FACE);else{this.cullMode===he&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t){if(t!==this.shader){if(t.failed)return!1;if(!t.ready&&!t.impl.finalize(this,t))return t.failed=!0,!1;this.shader=t,this.gl.useProgram(t.impl.glProgram),this.attributesInvalidated=!0}return!0},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},y(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new vs(t,hr.createDefinition(t,{name:"ptest1",vertexCode:dr,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new vs(t,hr.createDefinition(t,{name:"ptest2",vertexCode:dr,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:fe,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new Us(t,n),r=new ln({colorBuffer:s,depth:!1});fr(t,r,e),n.format=7;var a=new Us(t,n),o=new ln({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),fr(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}]),e}(on),_r=function(){function t(){}return t.prototype.unlock=function(t){},t}(),gr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),vr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),yr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),xr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),Sr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=Ci,n.samples=1,n}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.createVertexBufferImpl=function(t,e){return new xr(t,e)},i.createIndexBufferImpl=function(t){return new _r(t)},i.createShaderImpl=function(t){return new vr(t)},i.createTextureImpl=function(t){return new yr(t)},i.createRenderTargetImpl=function(t){return new gr(t)},i.draw=function(t,e,i){},i.setShader=function(t){return!0},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.clear=function(t){},i.setDepthBias=function(t){},i.setDepthBiasValues=function(t,e){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(on);var br=function(){function t(t,e){this.shader=null,this.device=t,this.shader=e,t.supportsCompute&&(this.impl=t.createComputeImpl(this))}return t.prototype.dispatch=function(t,e,i){var n;null==(n=this.impl)||n.dispatch(t,e,i)},t}(),wr=0,Tr=function(){function t(t,e,i,n,s){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=wr++,this.impl=t.createIndexBufferImpl(this);var r=Di[e];this.bytesPerIndex=r,this.numBytes=this.numIndices*r,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),sa()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"===i.type||"mouseup"===i.type?this.button=i.button:this.button=-1,this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=i.ctrlKey||!1,this.altKey=i.altKey||!1,this.shiftKey=i.shiftKey||!1,this.metaKey=i.metaKey||!1,this.event=i},aa=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._upHandler=i._handleUp.bind(w(i)),i._downHandler=i._handleDown.bind(w(i)),i._moveHandler=i._handleMove.bind(w(i)),i._wheelHandler=i._handleWheel.bind(w(i)),i._contextMenuHandler=function(t){t.preventDefault()},i._target=null,i._attached=!1,i.attach(e),i}S(e,t),e.isPointerLocked=function(){return sa()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),e&&document.addEventListener("pointerlockerror",(function t(){e(),document.removeEventListener("pointerlockerror",t)}),!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new ra(this,t);e.event&&this.fire(Yr,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new ra(this,t);e.event&&this.fire(qr,e)},i._handleMove=function(t){var e=new ra(this,t);e.event&&(this.fire(jr,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new ra(this,t);e.event&&this.fire(Kr,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P),oa=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,this._element=null,this._actions={},this._axes={},this._axesValues={},t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:Wr,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:Hr,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:Xr,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new aa,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new na,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),ha=Object.freeze([]),la=function(){return ha};"undefined"!=typeof navigator&&(la=(navigator.getGamepads||navigator.webkitGetGamepads||la).bind(navigator));var ca={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},ua={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},da={"Product: 0268":"PS3"},fa={};function pa(t){var e=fa[t.id];if(e)return e;for(var i in da)if(-1!==t.id.indexOf(i)){var n=da[i];if(!t.mapping){var s=ua["RAW_"+n];if(s)return s}return ua[n]}if("xr-standard"===t.mapping)return ua.DEFAULT_XR;var r=ua.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),va=Object.freeze(new ga(0)),ya=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new ga(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=ca.axes,r=ca.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;ama?e:0},y(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}]),t}(),xa=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(w(e)),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(w(e)),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}S(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new ya(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(Zr,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(Qr,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=la(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var Ia=function(){function t(t){this._manager=t,this.position=new Et,this.velocity=new Et,this.orientation=new zt}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},y(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}]),t}(),La="running",Da=["click","touchstart","mousedown"],Oa=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(w(e)),e._userSuspended=!1,e.listener=new Ia(w(e)),e._volume=1,e}S(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===La&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==La&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return Ma&&(i=new Ma(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return Pa&&((n=new Pa(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===La||this._resume()},i._registerUnlockListeners=function(){var t=this;Da.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;Da.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},y(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==La&&this._registerUnlockListeners()),this._context}}]),e}(P),ka=function(){function t(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}return y(t,[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]),t}();function Fa(t,e){return t%e||0}var Ba=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,Ea()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(w(s))):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(w(s)),s._timeUpdateHandler=s._onTimeUpdate.bind(w(s)),s._endedHandler=s._onEnded.bind(w(s)),s._createSource()),s}S(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=Fa(this._startOffset,this.duration),t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=Fa(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,Fa(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=Fa((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},y(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?Fa(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}]),e}(P);Ea()||(Object.assign(Ba.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>Fa(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=Fa(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(Ba.prototype,"volume",{get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(Ba.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(Ba.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(Ba.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=Fa(this._startTime+Fa(t,this.duration),this._sound.duration),this._startOffset=null))}}));var Ua=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new Et,s._velocity=new Et,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:re,s}return S(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},y(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}]),e}(Ba);if(!Ea()){var Na=new Et;Object.defineProperty(Ua.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(Na=Na.sub2(t,e)).length();if(an)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(Ua.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(Ua.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(Ua.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(Ua.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var za="none",Va="linear",Ga={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},Ha="mul",Wa=32,Xa=128,qa=256,ja=512,Ya=1024,Ka=2048,Za=4096,Qa=8192,$a=function(){function t(){this._refCount=0}var e=t.prototype;return e.incRefCount=function(){this._refCount++},e.decRefCount=function(){this._refCount--},y(t,[{key:"refCount",get:function(){return this._refCount}}]),t}(),Ja=function(){function t(){}return t.set=function(e){t._graphicsDevice=e},t.get=function(){return t._graphicsDevice},t}();Ja._graphicsDevice=null;var to=0,eo=function(){function t(){this.initDefaults()}var e=t.prototype;return e.initDefaults=function(){this.recreate=!1,this.verticesUsage=0,this.indicesUsage=0,this.maxVertices=0,this.maxIndices=0,this.vertexCount=0,this.indexCount=0,this.vertexStreamsUpdated=!1,this.indexStreamUpdated=!1,this.vertexStreamDictionary={},this.indices=null},e._changeVertexCount=function(t,e){this.vertexCount||(this.vertexCount=t)},t}();eo.DEFAULT_COMPONENTS_POSITION=3,eo.DEFAULT_COMPONENTS_NORMAL=3,eo.DEFAULT_COMPONENTS_UV=2,eo.DEFAULT_COMPONENTS_COLORS=4;var io=function(t,e,i,n){this.data=t,this.componentCount=e,this.dataType=i,this.dataTypeNormalize=n},no=function(t){function e(e){var i;return(i=t.call(this)||this)._aabbVer=0,i._aabb=new jt,i.id=to++,i.device=e||Ja.get(),i.vertexBuffer=null,i.indexBuffer=[null],i.primitive=[{type:0,base:0,count:0}],i.skin=null,i._morph=null,i._geometryData=null,i.boneAabb=null,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this.morph;t&&(this.morph=null,t.refCount<1&&t.destroy()),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);for(var e=0;e0){var S=g.array[g.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>w&&(r.y=w),r.z>T&&(r.z=T),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r){void 0===s&&(s=6),void 0===r&&(r=!1),this._initGeometryData();var a=n||e.length/i;this._geometryData._changeVertexCount(a,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new io(e,i,s,r)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new Gr(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(Ee,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(Me,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=eo.DEFAULT_COMPONENTS_UV),this.setVertexStream(De+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Le,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Le,t,eo.DEFAULT_COMPONENTS_COLORS,e,yi,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(Ee,t)},i.getNormals=function(t){return this.getVertexStream(Me,t)},i.getUvs=function(t,e){return this.getVertexStream(De+t,e)},i.getColors=function(t){return this.getVertexStream(Le,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[Ee];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize})}return new sn(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new Zi(this.device,e,t,this._geometryData.verticesUsage)}var i=new Gr(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices>65535?2:1;this.indexBuffer[0]=new Tr(this.device,t,this._geometryData.maxIndices,this._geometryData.indicesUsage)}var e=this._geometryData.indices;e&&(this.indexBuffer[0].writeData(e,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new Li[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new Tr(this.vertexBuffer.device,t,i.length);new Li[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},y(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}]),e}($a),so=4/64,ro=1-2*so,ao=[];function oo(t,e){for(var i=e.length/3,n=t.length/3,s=new Et,r=new Et,a=new Et,o=new Et,h=new Et,l=new Et,c=[],u=0;u0)for(var v=0;v<=n;v++)for(var y=0;y<=s;y++){var x=y/s*2*Math.PI-Math.PI,S=Math.sin(x),b=Math.cos(x);u.set(S*t,-i/2,b*t),c.set(S*e,i/2,b*e),o.lerp(u,c,v/n),h.sub2(c,u).normalize(),d.set(b,0,-S),l.cross(d,h).normalize(),f.push(o.x,o.y,o.z),p.push(l.x,l.y,l.z);var w=y/s,T=v/n;m.push(w,1-T);var A=T;if(T=w,w=(w=A)*ro+so,T=T*ro+so,w/=3,_.push(w,1-T),v0)for(var ut=0;ut1&&g.push(a,a+ut,a+ut-1)}if(a+=s,e>0)for(var vt=0;vt1&&g.push(a,a+vt-1,a+vt)}}return{positions:f,normals:p,uvs:m,uvs1:_,indices:g}}function fo(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h,l,c,!1);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function po(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h-2*o,l,c,!0);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function mo(t,e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18,f=null!=(o=e.calculateTangents)&&o,p=uo(h,l,c,u,d,!1);return f&&(p.tangents=ho(p.positions,p.normals,p.uvs,p.indices)),lo(t,p.positions,p)}function _o(t,e){var i,n,s,r;void 0===e&&(e={});for(var a=null!=(i=e.radius)?i:.5,o=null!=(n=e.latitudeBands)?n:16,h=null!=(s=e.longitudeBands)?s:16,l=null!=(r=e.calculateTangents)&&r,c=[],u=[],d=[],f=[],p=0;p<=o;p++)for(var m=p*Math.PI/o,_=Math.sin(m),g=Math.cos(m),v=0;v<=h;v++){var y=2*v*Math.PI/h-Math.PI/2,x=Math.sin(y),S=Math.cos(y)*_,b=g,w=x*_,T=1-v/h,A=1-p/o;c.push(S*a,b*a,w*a),u.push(S,b,w),d.push(T,1-A)}for(var C=0;C shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_albedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:So,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:bo,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:er,gles3PS:ir,gles3VS:nr,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = cross(V1, V2);\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix, emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos, frameRandom, localVelocityDivMult, velocityDivMult;\nuniform float delta, rate, rateDiv, lifetime, numParticles, rotSpeedDivMult, radialSpeedDivMult, seed;\nuniform float startAngle, startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(internalTex0, vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(internalTex1, vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(internalTex3, vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles, numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale, emitterPos, faceTangent, faceBinorm;\nuniform float rate, rateDiv, lifetime, deltaRandomnessStatic, scaleDivMult, alphaDivMult, seed, delta;\nuniform sampler2D particleTexOUT, particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSphereLowPS:"\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = vNormalV;\n\tvec2 sphereMapUv = reflDirV.xy * 0.5 + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * thickness * modelScale;\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec4 params;\nuniform vec2 params2;\nfloat targetFace() { return params.x; }\nfloat specularPower() { return params.y; }\nfloat sourceCubeSeamScale() { return params.z; }\nfloat targetCubeSeamScale() { return params.w; }\nfloat targetTotalPixels() { return params2.x; }\nfloat sourceTotalPixels() { return params2.y; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+So+"\n"+bo+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(sampler2D tex, vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\nvoid main(void) {\n\tvec3 dir=vViewDir;\n\tdir.x *= -1.0;\n\tvec3 linear = $DECODE(textureCube(texture_cubeMap, fixSeamsStatic(dir, $FIXCONST)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\nvoid main(void) {\n\tmat4 view = matrix_view;\n\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\tgl_Position.z = gl_Position.w - 0.00001;\n\tvViewDir = aPosition * cubeMapRotationMatrix;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:sr,webgpuVS:rr},To=new Hs;function Ao(t){return To.get(t)}function Co(t,e){To.get(t,(function(){return e}))}var Eo=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return e||(e=wo),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return e||(e=wo),"linear"===t?e.fogLinearPS?e.fogLinearPS:wo.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:wo.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:wo.fogExp2PS:e.fogNonePS?e.fogNonePS:wo.fogNonePS},t.gammaCode=function(t,e){return e||(e=wo),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:wo.gamma1_0PS},t.tonemapCode=function(t,e){return e||(e=wo),1===t?e.tonemappingFilmicPS?e.tonemappingFilmicPS:wo.tonemappingFilmicPS:0===t?e.tonemappingLinearPS?e.tonemappingLinearPS:wo.tonemappingLinearPS:2===t?e.tonemappingHejlPS?e.tonemappingHejlPS:wo.tonemappingHejlPS:3===t?e.tonemappingAcesPS?e.tonemappingAcesPS:wo.tonemappingAcesPS:4===t?e.tonemappingAces2PS?e.tonemappingAces2PS:wo.tonemappingAces2PS:e.tonemapingNonePS?e.tonemapingNonePS:wo.tonemappingNonePS},t}();function Mo(t,e,i,n){return void 0===n&&(n=!1),new vs(t,hr.createDefinition(t,{name:e+"_"+i,vertexCode:wo[e],fragmentCode:wo[i],useTransformFeedback:n}))}function Po(t,e,i,n,s,r){void 0===r&&(r=!1);var a=Ao(t),o=a.getCachedShader(n);return o||(o=new vs(t,hr.createDefinition(t,{name:n,vertexCode:e,fragmentCode:i,attributes:s,useTransformFeedback:r})),a.setCachedShader(n,o)),o}var Ro=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}S(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(Eo);function Io(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new Ro(s,n),a="shader",o=Ao(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return o.unregister(a),h}wo.createShader=Mo,wo.createShaderFromCode=Po;var Lo={type:Ce,base:0,count:4,indexed:!1},Do=new Dt,Oo=new Dt,ko=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new xo;this.shader=Io(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new As(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new xs(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(Do.set(n.vx,n.vy,n.vw,n.vh),Oo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Lo),t&&(n.setViewport(Do.x,Do.y,Do.z,Do.w),n.setScissor(Oo.x,Oo.y,Oo.z,Oo.w))},t}(),Fo=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).quad=i,r.rect=n,r.scissorRect=s,r}return S(e,t),e.prototype.execute=function(){var t=this.device;t.setCullMode(he),t.setDepthState(Hi.NODEPTH),t.setStencilState(null,null),this.quad.render(this.rect,this.scissorRect)},e}(Er),Bo=new Dt;function Uo(t,e,i,n,s){var r=new ko(i);n||((n=Bo).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new Fo(t,r,n,s);a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var No=new Hs,zo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefine=void 0,this.name=t,this.index=e,Object.assign(this,i),this.initShaderDefines()}return t.prototype.initShaderDefines=function(){var t;this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK");var e=t?"#define "+t+"_PASS\n":"",i="#define "+this.name.toUpperCase()+"_PASS\n";this.shaderDefines=e+i},t}(),Vo=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow")}t.get=function(e){return No.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new zo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Go=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createShaderDefinition=function(t,e){var i={vertex_position:Ee};e.skin&&(i.vertex_boneWeights=Re,i.vertex_boneIndices=Ie),e.vertexColors&&(i.vertex_color=Le),e.diffuseMap&&(i.vertex_texCoord0=Oe);var n=Vo.get(t).getByIndex(e.pass).shaderDefines,s=n;s+=wo.transformDeclVS,e.skin?(s+=Eo.skinCode(t),s+=wo.transformSkinnedVS):s+=wo.transformVS,e.vertexColors&&(s+="attribute vec4 vertex_color;\n",s+="varying vec4 vColor;\n"),e.diffuseMap&&(s+="attribute vec2 vertex_texCoord0;\n",s+="varying vec2 vUv0;\n"),2===e.pass&&(s+="varying float vDepth;\n",s+="#ifndef VIEWMATRIX\n",s+="#define VIEWMATRIX\n",s+="uniform mat4 matrix_view;\n",s+="#endif\n",s+="#ifndef CAMERAPLANES\n",s+="#define CAMERAPLANES\n",s+="uniform vec4 camera_params;\n\n",s+="#endif\n"),s+=Eo.begin(),s+=" gl_Position = getPosition();\n",2===e.pass&&(s+=" vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n"),e.vertexColors&&(s+=" vColor = vertex_color;\n"),e.diffuseMap&&(s+=" vUv0 = vertex_texCoord0;\n"),s+=Eo.end();var r=n;return e.vertexColors?r+="varying vec4 vColor;\n":r+="uniform vec4 uColor;\n",e.diffuseMap&&(r+="varying vec2 vUv0;\n",r+="uniform sampler2D texture_diffuseMap;\n"),e.fog&&(r+=Eo.fogCode(e.fog)),e.alphaTest&&(r+=wo.alphaTestPS),2===e.pass&&(r+="varying float vDepth;\n",r+=wo.packDepthPS),r+=Eo.begin(),e.vertexColors?r+=" gl_FragColor = vColor;\n":r+=" gl_FragColor = uColor;\n",e.diffuseMap&&(r+=" gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n"),e.alphaTest&&(r+=" alphaTest(gl_FragColor.a);\n"),3!==e.pass&&(2===e.pass?r+=" gl_FragColor = packFloat(vDepth);\n":e.fog&&(r+=" glFragColor.rgb = addFog(gl_FragColor.rgb);\n")),r+=Eo.end(),hr.createDefinition(t,{name:"BasicShader",attributes:i,vertexCode:s,fragmentCode:r})},e}(Eo),Ho=new Go,Wo=new Hs;function Xo(t){return Wo.get(t)}var qo=[];qo[0]={src:1,dst:1,op:2},qo[3]={src:1,dst:0,op:0},qo[2]={src:6,dst:8,op:0},qo[4]={src:1,dst:8,op:0},qo[1]={src:1,dst:1,op:0},qo[6]={src:6,dst:1,op:0},qo[7]={src:4,dst:2,op:0},qo[8]={src:5,dst:1,op:0},qo[5]={src:4,dst:0,op:0},qo[9]={src:1,dst:1,op:3},qo[10]={src:1,dst:1,op:4};var jo=0,Yo=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=jo++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new Gi,this._depthState=new Hi,this.cull=1,this.stencilFront=null,this.stencilBack=null,this.depthBias=0,this.slopeDepthBias=0,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new xo(a,o,h),u=Ao(t);return u.register("basic",Ho),u.getProgram("basic",l,c,this.userId)},e}(Yo),Zo=function(){function t(t,e,i){this._aabb=new jt,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2($o,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof Et?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Vt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof Et?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}]),t}();function Mh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,g=p[0].layer,v=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var w=Dh(p[0]),T=p[0].mesh.vertexBuffer.format.batchingHash,A=p[0].mesh.primitive[0].indexed;c=null;for(var C=1;C=a){f=f.concat(p.slice(C));break}_!==E.material||g!==E.layer||T!==E.mesh.vertexBuffer.format.batchingHash||A!==E.mesh.primitive[0].indexed||v!==E._shaderDefs||S+E.mesh.vertexBuffer.getNumVertices()>o?m(E):(l.copy(h),l.add(E.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(E):(!x||(s=E.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&w===Dh(E)&&Ph(y,E.parameters)?n&&c&&c.intersects(E.aabb)&&E.drawOrder!==b?m(E):(h.add(E.aabb),S+=E.mesh.vertexBuffer.getNumVertices(),u[d].push(E)):m(E))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===Ee)for(var A=0;A0&&r.setIndices(S),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var I=new Eh(r,p,this.rootNode);I.castShadow=h.origMeshInstances[0].castShadow,I.parameters=h.origMeshInstances[0].parameters,I.layer=h.origMeshInstances[0].layer,I._shaderDefs=h.origMeshInstances[0]._shaderDefs,I.cull=h.origMeshInstances[0].cull;var L=this._batchGroups[i];if(L&&L._ui&&(I.cull=!1),e){for(var D=[],O=0;O0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=pe,o=!1));var l=null!=(t=null==(e=r.renderTarget)?void 0:e.depthBuffer)?t:null==(i=r.renderTarget)?void 0:i.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,r.renderTarget,a,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Uh.forEach((function(t){return a.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(Er),zh=new gt(254/255,254/255,254/255,254/255),Vh=[],Gh=[[],[],[]],Hh=["uSceneDepthMap","uDepthMap"],Wh=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.releaseRenderTarget(this.renderTarget)},i.update=function(t){this.scene=t},i.shouldReallocate=function(t,e){var i=e.width,n=e.height;return!t||i!==t.width||n!==t.height},i.allocateRenderTarget=function(t,e,i){var n,s,r=new Us(i,{name:Hh[0],format:7,width:null!=(n=null==e?void 0:e.width)?n:this.device.width,height:null!=(s=null==e?void 0:e.height)?s:this.device.height,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});return t?(t.destroyFrameBuffers(),t._colorBuffer=r,t._colorBuffers=[r]):t=new ln({name:Hh[0]+"RT}",colorBuffer:r,depth:!0,stencil:!1}),t},i.releaseRenderTarget=function(t){t&&(t.destroyTextureBuffers(),t.destroy())},i.before=function(){var t,e=this.camera,i=this.device,n=null!=(t=e.renderTarget)?t:i.backBuffer;if(this.shouldReallocate(this.renderTarget,n)){var s;null==(s=this.renderTarget)||s.destroyTextureBuffers();var r=this.allocateRenderTarget(this.renderTarget,e.renderTarget,i);this.renderTarget?this.renderTarget=r:(this.init(r),this.setClearColor(zh),this.setClearDepth(1))}var a=this.renderTarget.colorBuffer;Hh.forEach((function(t){return i.scope.resolve(t).setValue(a)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&0!=(n&qa),t.skin=n&&0!=(2&n),t.useInstancing=n&&0!=(n&Wa),t.useMorphPosition=n&&0!=(n&Ya),t.useMorphNormal=n&&0!=(n&Ka),t.useMorphTextureBased=n&&0!=(n&Za),t.hasTangents=n&&0!=(n&ja),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n&&(1!==i.skyboxIntensity||i.physicalUnits),t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];0!==e.lights.length&&0==(1&n)||(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s8?t.FORMAT_FLOAT:t.FORMAT_8BIT,t.useTexelFetch=e.supportsTextureFetch,t.initShaderDefines()},t.createTexture=function(t,e,i,n,s){return new Us(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ri,magFilter:0,minFilter:0,anisotropy:1})};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),t.lightTextureFormat===t.FORMAT_FLOAT&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(ll,ol),hl[0]=ol.x,hl[1]=ol.y,hl[2]=ol.z,e.transformVector(cl,ol),hl[3]=ol.x,hl[4]=ol.y,hl[5]=ol.z,hl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;Ct.float2Bytes(a[0]*r,t,e+0,2),Ct.float2Bytes(a[1]*r,t,e+2,2),Ct.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){Ct.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),Ct.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);Ct.float2BytesRange(s.bias,t,e,-1,20,2),Ct.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=ol.sub2(n,this.boundsMin).div(this.boundsDelta);Ct.float2Bytes(s.x,t,e+0,4),Ct.float2Bytes(s.y,t,e+4,4),Ct.float2Bytes(s.z,t,e+8,4),Ct.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(ol,i),Ct.float2Bytes(.499999*ol.x+.5,t,e+0,4),Ct.float2Bytes(.499999*ol.y+.5,t,e+4,4),Ct.float2Bytes(.499999*ol.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)Ct.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)Ct.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){Ct.float2Bytes(i.x,t,e+0,2),Ct.float2Bytes(i.y,t,e+2,2),Ct.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)Ct.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(e,i,n){var s=2===e._type,r=e.atlasViewportAllocated,a=this.cookiesEnabled&&!!e._cookie&&r,o=this.areaLightsEnabled&&0!==e.shape,h=this.shadowsEnabled&&e.castShadows&&r,l=e._node.getPosition(),c=null,u=null;s?h?c=e.getRenderData(null,0).shadowMatrix:a&&(c=al.evalSpotCookieMatrix(e)):(h||a)&&(u=e.atlasViewport);var d=this.lights8,f=i*this.lightsTexture8.width*4;if(this.addLightDataFlags(d,f+4*ul.FLAGS,e,s,h,e.shadowIntensity),this.addLightDataColor(d,f+4*ul.COLOR_A,e,n,a),s&&this.addLightDataSpotAngles(d,f+4*ul.SPOT_ANGLES,e),e.castShadows&&this.addLightDataShadowBias(d,f+4*ul.SHADOW_BIAS,e),a&&this.addLightDataCookies(d,f+4*ul.COOKIE_A,e),t.lightTextureFormat===t.FORMAT_FLOAT){var p=this.lightsFloat,m=i*this.lightsTextureFloat.width*4;if(p[m+4*dl.POSITION_RANGE+0]=l.x,p[m+4*dl.POSITION_RANGE+1]=l.y,p[m+4*dl.POSITION_RANGE+2]=l.z,p[m+4*dl.POSITION_RANGE+3]=e.attenuationEnd,s&&(this.getSpotDirection(ol,e),p[m+4*dl.SPOT_DIRECTION+0]=ol.x,p[m+4*dl.SPOT_DIRECTION+1]=ol.y,p[m+4*dl.SPOT_DIRECTION+2]=ol.z),c)for(var _=c.data,g=0;g<16;g++)p[m+4*dl.PROJ_MAT_0+g]=_[g];if(u&&(p[m+4*dl.ATLAS_VIEWPORT+0]=u.x,p[m+4*dl.ATLAS_VIEWPORT+1]=u.y,p[m+4*dl.ATLAS_VIEWPORT+2]=u.z/3),o){var v=this.getLightAreaSizes(e);p[m+4*dl.AREA_DATA_WIDTH+0]=v[0],p[m+4*dl.AREA_DATA_WIDTH+1]=v[1],p[m+4*dl.AREA_DATA_WIDTH+2]=v[2],p[m+4*dl.AREA_DATA_HEIGHT+0]=v[3],p[m+4*dl.AREA_DATA_HEIGHT+1]=v[4],p[m+4*dl.AREA_DATA_HEIGHT+2]=v[5]}}else this.addLightDataPositionRange(d,f+4*ul.POSITION_X,e,l),s&&this.addLightDataSpotDirection(d,f+4*ul.SPOT_DIRECTION_X,e),c&&this.addLightDataLightProjMatrix(d,f+4*ul.PROJ_MAT_00,c),u&&this.addLightAtlasViewport(d,f+4*ul.ATLAS_VIEWPORT_A,u),o&&this.addLightAreaSizes(d,f+4*ul.AREA_DATA_WIDTH_X,e)},t}();Oh=fl,fl.FORMAT_FLOAT=0,fl.FORMAT_8BIT=1,fl.lightTextureFormat=Oh.FORMAT_8BIT,fl.useTexelFetch=!1,fl.shaderDefines="";var pl={vertex_normal:Me,vertex_tangent:Pe,vertex_texCoord0:Oe,vertex_texCoord1:ke,vertex_color:Le,vertex_boneWeights:Re,vertex_boneIndices:Ie},ml={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},_l=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:Ee},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=pl[c]);this.chunks[h]=l}}else this.chunks=wo;this.shaderPassInfo=Vo.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2===this.options.pass&&(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.useInstancing&&(this.attributes.instance_line1=ei,this.attributes.instance_line2=ii,this.attributes.instance_line3=ni,this.attributes.instance_line4=si,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=Me,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Pe,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Le,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=Qe,this.attributes.vertex_shadowParameters=$e,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=si;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=Qe,this.attributes.morph_pos1=$e,this.attributes.morph_pos2=Je,this.attributes.morph_pos3=ti,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=Qe,this.attributes.morph_nrm1=$e,this.attributes.morph_nrm2=Je,this.attributes.morph_nrm3=ti,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=ei,this.attributes.morph_nrm5=ii,this.attributes.morph_nrm6=ni,this.attributes.morph_nrm7=si,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=ei,this.attributes.morph_pos5=ii,this.attributes.morph_pos6=ni,this.attributes.morph_pos7=si,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Re,this.attributes.vertex_boneIndices=Ie,o+=Eo.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(ml).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+ml[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0);var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),(d||e.clusteredLightingEnabled)&&(n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;"));for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}if("envAtlasHQ"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,il.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("envAtlas"===e.reflectionSource)s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("cubeMap"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("sphereMap"===e.reflectionSource){var y=t.fragmentUniformsCount>16?i.reflectionSpherePS:i.reflectionSphereLowPS;s.append(y.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)))}this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?s.append(i.refractionDynamicPS):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var x=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),x=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var S=!e.lightMapEnabled||e.lightMapWithoutAmbient;S&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!x&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var b,w=!1,T=!1,A=!1,C=!1,E=!1;if(e.clusteredLightingEnabled&&this.lighting&&(C=!0,w=!0,T=!0,E=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+Ga[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(fl.shaderDefines),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),e.twoSidedLighting&&n.append("uniform float twoSidedLightingNegScaleFactor;"),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(e.twoSidedLighting?a.append(" dVertexNormalW = normalize(gl_FrontFacing ? vNormalW * twoSidedLightingNegScaleFactor : -vNormalW * twoSidedLightingNegScaleFactor);"):a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(e.twoSidedLighting?(a.append(" dTangentW = gl_FrontFacing ? vTangentW * twoSidedLightingNegScaleFactor : -vTangentW * twoSidedLightingNegScaleFactor;"),a.append(" dBinormalW = gl_FrontFacing ? vBinormalW * twoSidedLightingNegScaleFactor : -vBinormalW * twoSidedLightingNegScaleFactor;")):(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;"))),a.append(" getViewDir();"),v&&a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);")),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),S&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!x&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var M=0;M 0.00001) {"),2===R&&(b&&!P._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+M+"_direction, light"+M+"_innerConeAngle, light"+M+"_outerConeAngle, dLightDirNormW);"),C=!0))),0!==I?0===R?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+L+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),P.castShadows&&!e.noShadow){var D=6===P._shadowType,O=1===P._shadowType||2===P._shadowType||3===P._shadowType,k=5===P._shadowType||0===P._shadowType||4===P._shadowType,F=null,B=void 0;switch(P._shadowType){case 1:F="VSM8",B="0.0";break;case 2:F="VSM16",B="5.54";break;case 3:F="VSM32",B=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:F="PCF1x1";break;case 4:F="PCF5x5";break;case 6:F="PCSS";break;default:F="PCF3x3"}if(null!==F){P._normalOffsetBias&&!P._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===R&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===R&&s.append("#define SHADOW_SAMPLE_POINT");var U=i.shadowSampleCoordPS;s.append(U.replace("$LIGHT",M)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+M+"_shadowMatrix";0===R&&P.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+M+"_shadowMatrixPalette, light"+M+"_shadowCascadeDistances, light"+M+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+M+"("+N+", light"+M+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===R&&r.append(" fadeShadow(light"+M+"_shadowCascadeDistances);");var z="SHADOWMAP_PASS(light"+M+"_shadowMap), dShadowCoord, light"+M+"_shadowParams";if(O)z=z+", "+B+", dLightDirW";else if(D){var V="vec2(light"+M+"_shadowSearchArea)";0!==I&&(V="vec2(length(light"+M+"_halfWidth), length(light"+M+"_halfHeight)) * light"+M+"_shadowSearchArea"),z=z+", light"+M+"_cameraParams, "+V+", dLightDirW"}1===R?(F="Point"+F,D||(z+=", dLightDirW")):2===R&&(F="Spot"+F),r.append(" float shadow"+M+" = getShadow"+F+"("+z+");"),r.append(" dAtten *= mix(1.0, shadow"+M+", light"+M+"_shadowIntensity);")}}if(0!==I?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),P.affectSpecularity)if(0!==I)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+L+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+L+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";");else{var G=!1;0===R&&e.fresnelModel>0&&(G=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+M+"_color"+(b?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==R&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,A=!0,w=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),w&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),A&&s.prepend(i.falloffInvSquaredPS),C&&s.prepend(i.spotPS),E&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var H="",W="void evaluateBackend() {\n"+r.code+"\n}";s.append(W),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(Eo.end());var X=n.code+s.code+a.code;return X.includes("dTBN")&&(H+="mat3 dTBN;\n"),X.includes("dVertexNormalW")&&(H+="vec3 dVertexNormalW;\n"),X.includes("dTangentW")&&(H+="vec3 dTangentW;\n"),X.includes("dBinormalW")&&(H+="vec3 dBinormalW;\n"),X.includes("dViewDirW")&&(H+="vec3 dViewDirW;\n"),X.includes("dReflDirW")&&(H+="vec3 dReflDirW;\n"),X.includes("dHalfDirW")&&(H+="vec3 dHalfDirW;\n"),X.includes("ccReflDirW")&&(H+="vec3 ccReflDirW;\n"),X.includes("dLightDirNormW")&&(H+="vec3 dLightDirNormW;\n"),X.includes("dLightDirW")&&(H+="vec3 dLightDirW;\n"),X.includes("dLightPosW")&&(H+="vec3 dLightPosW;\n"),X.includes("dShadowCoord")&&(H+="vec3 dShadowCoord;\n"),X.includes("dReflection")&&(H+="vec4 dReflection;\n"),X.includes("dDiffuseLight")&&(H+="vec3 dDiffuseLight;\n"),X.includes("dSpecularLight")&&(H+="vec3 dSpecularLight;\n"),X.includes("dAtten")&&(H+="float dAtten;\n"),X.includes("dAttenD")&&(H+="float dAttenD;\n"),X.includes("dAtten3")&&(H+="vec3 dAtten3;\n"),X.includes("dMsdf")&&(H+="vec4 dMsdf;\n"),X.includes("ccFresnel")&&(H+="float ccFresnel;\n"),X.includes("ccReflection")&&(H+="vec3 ccReflection;\n"),X.includes("ccSpecularLight")&&(H+="vec3 ccSpecularLight;\n"),X.includes("ccSpecularityNoFres")&&(H+="float ccSpecularityNoFres;\n"),X.includes("sSpecularLight")&&(H+="vec3 sSpecularLight;\n"),X.includes("sReflection")&&(H+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+H+this.frontendDecl+X},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=hr.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),gl={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?gl.generateChunksKey(t):"lights"===e?gl.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},vl=[0,1,2,3,4,5,6,7],yl=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+vl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+gl.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new _l(t,e.litOptions),n=new Jh,s=new Jh,r=new Jh;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(Eo),xl=new yl,Sl=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new Qh},bl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(Et.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return jl.min=n,jl.max=s,jl}var Kl=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Rl.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=v)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,w=Math.ceil(Wl.dot(x)*b)/b,T=Math.ceil(Wl.dot(y)*b)/b,A=x.mulScalar(w),C=y.mulScalar(T),E=Wl.dot(S),M=S.mulScalar(E);Wl.add2(A,C).add(M),l.setPosition(Wl),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new gt(0,0,0,0):new gt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=oc.z/3,c=i[h];oc.x+=l*c.x,oc.y+=l*c.y,oc.z=l,oc.w=l,this.invViewProjId.setValue(hc[h].data)}oc.mulScalar(e),o.render(oc)}}n.length=0},y(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new ko(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new ko(t)}return this._quadRendererCube}}]),e}(Er),cc=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).requiresCubemaps=!1,s.shadowRenderer=i,s.shadowRendererLocal=n,s}S(e,t);var i=e.prototype;return i.update=function(t){var e=this.shadowRendererLocal.shadowLights,i=this.shadowRendererLocal.prepareLights(e,t),n=e.length;this.enabled=n>0,n&&this.shadowRenderer.setupRenderPass(this,i,!1)},i.execute=function(){for(var t=this.shadowRendererLocal.shadowLights,e=t.length,i=0;i0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){dc++;var e=t.length;if(0!==e)for(var i=0;i0&&(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0&&(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o0}}]),t}(),Lc=2.399963229728653,Dc=function(t,e,i){var n=e*Lc,s=Math.sqrt(e)/Math.sqrt(i);t.x=s*Math.cos(n),t.y=s*Math.sin(n)},Oc=function(t,e,i,n,s){void 0===n&&(n=0),void 0===s&&(s=1),n=1-2*n,s=1-2*s;var r=_t.lerp(n,s,e/i),a=Math.sqrt(1-r*r),o=Lc*e;t.x=Math.cos(o)*a,t.y=r,t.z=Math.sin(o)*a},kc=function(t){var e=(t<<16|t>>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Fc=function(t){switch(t){case mi:return"Cubemap";case gi:return"Octahedral";default:return"Equirect"}},Bc=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Uc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Nc=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},zc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Vc=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},Gc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},Hc=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new Et,o=new Et,h=new Et(0,0,1),l=[],c=function(t,e){var i=Gc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=Vc(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},Wc=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),Qc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new Us(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:_i,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Dt(0,0,512*a,256*a),h=$c(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&0!=(n&qa),t.litOptions.skin=n&&0!=(2&n),t.litOptions.useInstancing=n&&0!=(n&Wa),t.litOptions.useMorphPosition=n&&0!=(n&Ya),t.litOptions.useMorphNormal=n&&0!=(n&Ka),t.litOptions.useMorphTextureBased=n&&0!=(n&Za),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=0!=(4&i),r=0!=(8&i),a=0!=(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in eu)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var g=e[l].id,v=o[g];void 0===v&&(o[g]=i,v=i),t[l]=!!e[l],t[m]=v,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e){t.opacityTint=1!==e.opacity&&3!==e.blendType,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=(e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor)&&au(e.diffuse),h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&au(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||au(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===le||e.normalMap.type===li);t.opacityTint=1!==e.opacity&&3!==e.blendType?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&au(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s&&(1!==i.skyboxIntensity||i.physicalUnits),t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=0!=(1&n),0!=(64&n)&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,0!=(n&Xa)&&(t.dirLightMap=!0),0!=(n&Qa)&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&($h.collectLights(0,s[0],r,a),$h.collectLights(1,s[1],r,a),$h.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),eu)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Vo.get(t).getByIndex(s),c=2===s||3===s||l.isShadow,u=c?su.optionsContextMin:su.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new xo(a,o,h),f=Ao(t);f.register("standard",su);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},y(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}]),e}(Yo);vu.TEXTURE_PARAMETERS=cu,vu.CUBEMAP_PARAMETERS=du;var yu=function(t,e){_u[t]=e},xu=function(t,e,i,n){Object.defineProperty(vu.prototype,t,{get:n||function(){return this["_"+t]},set:i}),mu[t]={value:e}},Su=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function bu(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),eu[t]=e.length||-1,Su({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),Su({name:t+"MapTiling",defaultValue:new It(1,1)}),Su({name:t+"MapOffset",defaultValue:new It(0,0)}),Su({name:t+"MapRotation",defaultValue:0}),Su({name:t+"MapUv",defaultValue:n}),e&&(Su({name:t+"MapChannel",defaultValue:e}),i&&(Su({name:t+"VertexColor",defaultValue:!1}),Su({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";yu(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*_t.DEG_TO_RAD),d=Math.sin(l*_t.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function wu(t,e){Su({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),yu(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function Tu(t,e,i){Su({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),yu(t,i)}function Au(t,e){Su({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),yu(t,e)}function Cu(t,e){Su({name:t,defaultValue:e})}!function(){wu("ambient",new gt(.7,.7,.7)),wu("diffuse",new gt(1,1,1)),wu("specular",new gt(0,0,0)),wu("emissive",new gt(0,0,0)),wu("sheen",new gt(1,1,1)),wu("attenuation",new gt(1,1,1)),Tu("emissiveIntensity",1),Tu("specularityFactor",1),Tu("sheenGloss",0),Tu("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),Tu("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),Tu("opacity",1),Tu("alphaFade",1),Tu("alphaTest",0),Tu("bumpiness",1),Tu("normalDetailMapBumpiness",1),Tu("reflectivity",1),Tu("occludeSpecularIntensity",1),Tu("refraction",0),Tu("refractionIndex",1/1.5),Tu("thickness",0),Tu("attenuationDistance",0),Tu("metalness",1),Tu("anisotropy",0),Tu("clearCoat",0),Tu("clearCoatGloss",1),Tu("clearCoatBumpiness",1),Tu("aoUvSet",0,null),Tu("iridescence",0),Tu("iridescenceRefractionIndex",1/1.5),Tu("iridescenceThicknessMin",0),Tu("iridescenceThicknessMax",0),Au("ambientSH"),Au("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),Cu("ambientTint",!1),Cu("diffuseTint",!1),Cu("specularTint",!1),Cu("specularityFactorTint",!1),Cu("emissiveTint",!1),Cu("fastTbn",!1),Cu("useMetalness",!1),Cu("useMetalnessSpecularColor",!1),Cu("useSheen",!1),Cu("enableGGXSpecular",!1),Cu("occludeDirect",!1),Cu("normalizeNormalMap",!0),Cu("conserveEnergy",!0),Cu("opacityFadesSpecular",!0),Cu("occludeSpecular",1),Cu("shadingModel",1),Cu("fresnelModel",2),Cu("useDynamicRefraction",!1),Cu("cubeMapProjection",0),Cu("customFragmentShader",null),Cu("useFog",!0),Cu("useLighting",!0),Cu("useGammaTonemap",!0),Cu("useSkybox",!0),Cu("forceUv1",!1),Cu("pixelSnap",!1),Cu("twoSidedLighting",!1),Cu("nineSlicedMode",void 0),Cu("msdfTextAttribute",!1),Cu("useIridescence",!1),Cu("glossInvert",!1),Cu("sheenGlossInvert",!1),Cu("clearCoatGlossInvert",!1),bu("diffuse"),bu("specular"),bu("emissive"),bu("thickness","g"),bu("specularityFactor","g"),bu("normal",""),bu("metalness","g"),bu("gloss","g"),bu("opacity","a"),bu("refraction","g"),bu("height","g",!1),bu("ao","g"),bu("light","rgb",!0,1),bu("msdf",""),bu("diffuseDetail","rgb",!1),bu("normalDetail",""),bu("aoDetail","g",!1),bu("clearCoat","g"),bu("clearCoatGloss","g"),bu("clearCoatNormal",""),bu("sheen","rgb"),bu("sheenGloss","g"),bu("iridescence","g"),bu("iridescenceThickness","g"),Cu("diffuseDetailMode",Ha),Cu("aoDetailMode",Ha),Au("cubeMap"),Au("sphereMap"),Au("envAtlas");var t=[null,null,null,null,null,null];xu("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=Jc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}(),new Et(1,1,1),new Et(40,0,0);var Eu=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).layerComposition=void 0,r.scene=void 0,r.renderer=void 0,r.renderActions=[],r.layerComposition=i,r.scene=n,r.renderer=s,r}S(e,t);var i=e.prototype;return i.addRenderAction=function(t){if(this.renderActions.push(t),1===this.renderActions.length){var e=t.camera;this.fullSizeClearRect=e.camera.fullSizeClearRect,this.fullSizeClearRect&&(t.clearColor&&this.setClearColor(e.camera.clearColor),t.clearDepth&&this.setClearDepth(e.camera.clearDepth),t.clearStencil&&this.setClearStencil(e.camera.clearStencil))}},i.addLayer=function(t,e,i,n){void 0===n&&(n=!0);var s=new Ic;if(s.renderTarget=this.renderTarget,s.camera=t,s.layer=e,s.transparent=i,n){var r=0===this.renderActions.length;s.setupClears(r?t:void 0,e)}this.addRenderAction(s)},i.before=function(){var t=this.renderActions;if(t.length){var e=t[0];e.camera.onPreRender&&e.firstCameraUse&&e.camera.onPreRender()}},i.execute=function(){for(var t=this.layerComposition,e=this.renderActions,i=0;i0){var a=this._shaderVersion;ku.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==Yo.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),ku.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(Ou.sort(),n=$i(Ou),Ou.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyComposition=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyComposition=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyComposition=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e1&&Nu(this.cameras),this.camerasMap.clear();for(var a=0;a0)this.addDummyRenderAction(h,c);else{for(var u=!0,d=h,f=null,p=!1,m=0;m0&&c.layers.indexOf(_.id)>=0){o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0));var g=this.subLayerList[m];f=this.addRenderAction(h,_,g,c,u,p),h++,u=!1}}d=0;l--)if(h[l].camera===n&&h[l].renderTarget===a){o=!0;break}r&&n.postEffectsEnabled&&(a=null);var c=this.getNextRenderAction(t);c.triggerPostprocess=!1,c.layer=e,c.transparent=i,c.camera=n,c.renderTarget=a,c.firstCameraUse=s,c.lastCameraUse=!1;var u=s||!o,d=e.clearColorBuffer||e.clearDepthBuffer||e.clearStencilBuffer;return(u||d)&&c.setupClears(u?n:void 0,e),c},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=n.layer;if(n.renderTarget&&1!==s.id)break;if(1!==s.id){if(n.useCameraPasses)break;var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){return void 0!==(e?this.layerTransparentIndexMap:this.layerOpaqueIndexMap).get(t)},i.push=function(t){this._isLayerAdded(t)||(this.layerList.push(t),this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this._transparentOrder[t.id]=this.subLayerList.push(!0)-1,this.subLayerEnabled.push(!0),this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insert=function(t,e){if(!this._isLayerAdded(t)){this.layerList.splice(e,0,t,t),this.subLayerList.splice(e,0,!1,!0);var i=this.layerList.length;this._updateOpaqueOrder(e,i-1),this._updateTransparentOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.remove=function(t){var e=this.layerList.indexOf(t);for(delete this._opaqueOrder[e],delete this._transparentOrder[e];e>=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirty=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,Vu.mulScalar(-e*n)):(t.radius=e/(2*n),Vu.mulScalar(-t.radius)),t.center.add2(s.getPosition(),Vu)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*_t.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*_t.DEG_TO_RAD,this._innerConeAngle*_t.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|Hu[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=Hu[this._cookieChannel.charAt(1)]<<16,t|=Hu[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},y(t,[{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=Xu[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new zt),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Dt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=Ct.float2Half;this._textureFormat===ue&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=wo.screenDepthPS),s+=wo.particle_cpuVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_cpu_endVS,e.soft>0&&(s+=wo.particle_softVS)):(s+=wo.particle_initVS,s+=e.pack8?wo.particleInputRgba8PS:wo.particleInputFloatPS,e.soft>0&&(s+=wo.screenDepthPS),s+=wo.particleVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=wo.particle_wrapVS),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_endVS,e.soft>0&&(s+=wo.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=wo.decodePS,n+=Eo.gammaCode(e.gamma),n+=Eo.tonemapCode(e.toneMap),"linear"===e.fog?n+=wo.fogLinearPS:"exp"===e.fog?n+=wo.fogExpPS:"exp2"===e.fog?n+=wo.fogExp2PS:n+=wo.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=wo.screenDepthPS),n+=wo.particlePS,e.soft>0&&(n+=wo.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=wo.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?wo.particle_halflambertPS:wo.particle_lambertPS),e.normal>0&&(n+=wo.particle_lightingPS),2===e.blend?n+=wo.particle_blendNormalPS:1===e.blend?n+=wo.particle_blendAddPS:5===e.blend&&(n+=wo.particle_blendMultiplyPS),n+=wo.particle_endPS,hr.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(Eo),id=new ed,nd=1,sd=new zt,rd=new zt,ad=new Et,od=new Et,hd=new Et,ld=new Et,cd=new Et,ud=new Et,dd=new Et,fd=new Et,pd=new Et,md=new Et,_d=new Et,gd=new Et,vd=new Et;function yd(t){return t-Math.floor(t)}function xd(t){return Math.max(Math.min(t,1),0)}function Sd(t,e){return t-e*Math.floor(t/e)}function bd(t){var e=yd(t),i=yd(255*t);return[e-=i/255,i-=i/255]}var wd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),od.x=a-.5,od.y=o-.5,od.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(od.x),Math.max(Math.abs(od.y),Math.abs(od.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];od.x=u*(c===Math.abs(od.x)?Math.sign(od.x):2*od.x),od.y=d*(c===Math.abs(od.y)?Math.sign(od.y):2*od.y),od.z=f*(c===Math.abs(od.z)?Math.sign(od.z):2*od.z),r.localSpace?ad.copy(e.transformPoint(od)):ad.copy(n).add(e.transformPoint(od))}else{od.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?ad.copy(od.mulScalar(m*r.emitterRadius)):ad.copy(n).add(od.mulScalar(m*r.emitterRadius))}var _,g,v,y,x,S=-_t.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(ad.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,w=(ad.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,T=(ad.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,A=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a);A=A%(2*Math.PI)/(2*Math.PI);var C=bd(b);t[4*s]=C[0],t[4*s+1]=C[1];var E=bd(w);t[4*s+2]=E[0],t[4*s+3]=E[1];var M=bd(T);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=bd(A);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,L=(g=yd(_=S=(S+R)/(R+I)),v=yd(255*_),y=yd(65025*_),x=yd(160581375*_),[g-=v/255,v-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=L[0],t[4*s+1+4*r.numParticlesPot*3]=L[1],t[4*s+2+4*r.numParticlesPot*3]=L[2],t[4*s+3+4*r.numParticlesPot*3]=L[3]}else t[4*s]=ad.x,t[4*s+1]=ad.y,t[4*s+2]=ad.z,t[4*s+3]=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)sd.data[f]=d.data[f];rd.copy(sd),rd.invert(),Iu=u.meshInstance.node.localScale,nd=Math.max(Math.max(Iu.x,Iu.y),Iu.z)}r=null===u.meshInstance.node||u.localSpace?Et.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,g,v,y,x,S,b=u.camera?u.camera._node.getPosition():Et.ZERO,w=u.useMesh?17:15,T=u.precision-1,A=0;A=P)&&this.calcSpawnPosition(i,n,s,r,C);var O=R>0&&R0&&(1===u.emitterShape?(od.copy(hd).mulScalar(2).sub(Et.ONE).normalize(),ud.add(od.mulScalar(u.initialVelocity))):ud.add(Et.FORWARD.mulScalar(u.initialVelocity))),cd.x+=(dd.x-cd.x)*hd.x,cd.y+=(dd.y-cd.y)*hd.y,cd.z+=(dd.z-cd.z)*hd.z,_+=(g-_)*hd.y,L=(L+1e4*E%1*(v-L))*nd,D=1e3*E%1*(x-y),u.meshInstance.node&&(u.localSpace?(ud.x/=Iu.x,ud.y/=Iu.y,ud.z/=Iu.z):sd.transformPoint(ud,ud)),u.localSpace?(rd.transformPoint(cd,cd),ud.add(cd).add(pd)):(ud.add(cd.mul(Iu)),ud.add(pd.mul(Iu))),gd.copy(ud),md.copy(ld).add(ud.mulScalar(a)),_d.copy(md),i[4*C]=_d.x,i[4*C+1]=_d.y,i[4*C+2]=_d.z,i[4*C+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||_d.sub(r),_d.x=Sd(_d.x,u.wrapBounds.x)-.5*u.wrapBounds.x,_d.y=Sd(_d.y,u.wrapBounds.y)-.5*u.wrapBounds.y,_d.z=Sd(_d.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||_d.add(r)),u.sort>0&&(1===u.sort?(vd.copy(_d).sub(b),u.particleDistance[C]=-(vd.x*vd.x+vd.y*vd.y+vd.z*vd.z)):2===u.sort?u.particleDistance[C]=R:3===u.sort&&(u.particleDistance[C]=-R))),o?R<0&&(i[4*C+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*C+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*C+3+2*u.numParticlesPot*4]=1)),i[4*C+3+2*u.numParticlesPot*4]<0&&(O=!1),i[4*C+3+4*u.numParticlesPot]=R;for(var k=0;k0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),Hd("rate",1),Hd("rate2",this.rate),Hd("lifetime",50),Hd("emitterExtents",new Et(0,0,0)),Hd("emitterExtentsInner",new Et(0,0,0)),Hd("emitterRadius",0),Hd("emitterRadiusInner",0),Hd("emitterShape",0),Hd("initialVelocity",1),Hd("wrap",!1),Hd("localSpace",!1),Hd("screenSpace",!1),Hd("wrapBounds",null),Hd("colorMap",this.defaultParamTexture),Hd("normalMap",null),Hd("loop",!0),Hd("preWarm",!1),Hd("sort",0),Hd("mode",0),Hd("scene",null),Hd("lighting",!1),Hd("halfLambert",!1),Hd("intensity",1),Hd("stretch",0),Hd("alignToMotion",!1),Hd("depthSoftening",0),Hd("mesh",null),Hd("particleNormal",new Et(0,1,0)),Hd("orientation",0),Hd("depthWrite",!1),Hd("noFog",!1),Hd("blendType",2),Hd("node",null),Hd("startAngle",0),Hd("startAngle2",this.startAngle),Hd("animTilesX",1),Hd("animTilesY",1),Hd("animStartFrame",0),Hd("animNumFrames",1),Hd("animNumAnimations",1),Hd("animIndex",0),Hd("randomizeAnimIndex",!1),Hd("animSpeed",1),Hd("animLoop",!0),this._gpuUpdater=new Ed(this,i),this._cpuUpdater=new wd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),Hd("colorGraph",Fd),Hd("colorGraph2",this.colorGraph),Hd("scaleGraph",Od),Hd("scaleGraph2",this.scaleGraph),Hd("alphaGraph",Od),Hd("alphaGraph2",this.alphaGraph),Hd("localVelocityGraph",kd),Hd("localVelocityGraph2",this.localVelocityGraph),Hd("velocityGraph",kd),Hd("velocityGraph2",this.velocityGraph),Hd("rotationSpeedGraph",Dd),Hd("rotationSpeedGraph2",this.rotationSpeedGraph),Hd("radialSpeedGraph",Dd),Hd("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new jt,this.worldBoundsNoTrail=new jt,this.worldBoundsTrail=[new jt,new jt],this.worldBounds=new jt,this.worldBoundsSize=new Et,this.prevWorldBoundsSize=new Et,this.prevWorldBoundsCenter=new Et,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new Et,this.worldBoundsAdd=new Et,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],g=[0,0],v=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,Bd=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=_t.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=he),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?zt.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new Et(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new Et).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:He,components:4,type:6},{semantic:We,components:4,type:6},{semantic:Xe,components:4,type:6},{semantic:qe,components:1,type:6},{semantic:je,components:this.useMesh?4:2,type:6}],s=new sn(this.graphicsDevice,n);this.vertexBuffer=new Zi(this.graphicsDevice,s,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}else{var r=[{semantic:He,components:4,type:6}];this.useMesh&&r.push({semantic:We,components:2,type:6});var a=new sn(this.graphicsDevice,r);this.vertexBuffer=new Zi(this.graphicsDevice,a,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},y(t,[{key:"defaultParamTexture",get:function(){var t=this;return Yd.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new Eh(this.mesh,this.material,Jd)),this.positions.length=0,this.colors.length=0,t.push(this.meshInstance))},t}(),ef=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new tf(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},t}(),nf=[],sf=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new Ko;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new ef(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=Po(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+wo.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(uv0) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new no(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(Ce)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new Eh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s){nf.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z),this.getBatch(s,n).addLinesArrays(nf,i),nf.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],g=d[m+1];if(_.time<=this._time&&g.time>=this._time){var v=(this._time-_.time)/(g.time-_.time);f._pos.lerp(_.position,g.position,v),f._quat.slerp(_.rotation,g.rotation,v),f._scale.lerp(_.scale,g.scale,v),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2D(source, vUv0);\n\tc = c.a>0.0? c : texture2D(source, vUv0 - pixelOffset);\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + pixelOffset);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2D(source, vUv0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2D(source, coord);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},Tf="FILL_WINDOW",Af="KEEP_ASPECT",Cf="AUTO",Ef="FIXED";function Mf(){return Sf}function Pf(t){Sf=t,Ja.set(null==t?void 0:t.graphicsDevice)}var Rf=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();Rf._types=[];var If=!1,Lf=!1,Df={app:null,create:function(t,e){if(If){var i=e(Df.app);i._pcScriptName=t,Rf.push(i,If),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Lf||(Lf=!0,t(Mf()))}};Object.defineProperty(Df,"legacy",{get:function(){return If},set:function(t){If=t}}),R.attach(Df);var Of=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){t.frameUpdate();for(var e=this.renderPasses,i=t.beforePasses,n=0;n=0&&t<=1?0:1})),Vf(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Vf(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Vf(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Vf(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Vf(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Vf(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var Wf=zf[Gf(Uf)];function Xf(t){return zf[t]||Wf}var qf,jf=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-\\+\\.]*:)?//|data:|blob:)","i"),Yf=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),Kf=-1,Zf={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},Qf=["pvr","dxt","etc2","etc1","basis"],$f=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=Kf--,a._name=e||"",a.type=i,a.tags=new ut(w(a)),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}S(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!jf.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=L.getDirectory(this.file.url);return L.join(e,t)},i.getLocalizedAssetId=function(t){return t=Hf(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},y(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||Mf(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=Qf[a];if(t.variants[i]&&s[Zf[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=Qf.length;a=s)throw new Error("Invalid PAX header data format.");var l=parseInt(e.decode(new Uint8Array(t,i+a,h-a)),10),c=e.decode(new Uint8Array(t,i+h+1,l-(h-a)-2)).split("=");if(2!==c.length)throw new Error("Invalid PAX header data format.");0===c[1].length&&(c[1]=null),o.push({name:c[0],value:c[1]}),a+=l}return new n(o)},n.prototype.applyHeader=function(t){for(var e=0;e0&&(r=p.trim()+r.trim())}var m={name:r,start:l,size:o,url:c};return this._globalPaxHeader&&this._globalPaxHeader.applyHeader(m),this._paxHeader&&(this._paxHeader.applyHeader(m),this._paxHeader=null),m},s.prototype.untar=function(t){if(!e)return console.error("Cannot untar because TextDecoder interface is not available for this platform."),[];for(var i=[];this._hasNext();){var n=this._readNextFile();n&&(t&&n.name&&(n.name=t+n.name),i.push(n))}return i},t&&(self.onmessage=function(t){var e=t.data.id;try{var i=new s(t.data.arrayBuffer).untar(t.data.prefix);postMessage({id:e,files:i,arrayBuffer:t.data.arrayBuffer},[t.data.arrayBuffer])}catch(t){postMessage({id:e,error:t.toString()})}})}var rp=null;var ap=function(){function t(t){this._requestId=0,this._pendingRequests={},this._filenamePrefix=t,this._worker=new Worker(function(){if(!rp){var t="("+sp.toString()+")(true)\n\n",e=new Blob([t],{type:"application/javascript"});rp=URL.createObjectURL(e)}return rp}()),this._worker.addEventListener("message",this._onMessage.bind(this))}var e=t.prototype;return e._onMessage=function(t){var e=t.data.id;if(this._pendingRequests[e]){var i=this._pendingRequests[e];if(delete this._pendingRequests[e],t.data.error)i(t.data.error);else{for(var n=t.data.arrayBuffer,s=0,r=t.data.files.length;s0},e.destroy=function(){this._worker&&(this._worker.terminate(),this._worker=null,this._pendingRequests=null)},t}();sp();var op=function(){function t(t){this.handlerType="bundle",this._assets=t.assets,this._worker=null,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this;Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e("Error loading bundle resource "+t.original+": "+n);else try{i._untar(s,e)}catch(i){e("Error loading bundle resource "+t.original+": "+i)}}))},e._untar=function(t,e){var i=this;if(G.workers)i._worker||(i._worker=new ap(i._assets.prefix)),i._worker.untar(t,(function(t,n){e(t,n),i._worker.hasPendingRequests()||(i._worker.destroy(),i._worker=null)}));else{var n=new qf(t).untar(i._assets.prefix);e(null,n)}},e.open=function(t,e){return new np(e)},e.patch=function(t,e){},t}(),hp=function(){function t(t){this._handlers={},this._requests={},this._cache={},this._app=t}var e=t.prototype;return e.addHandler=function(t,e){this._handlers[t]=e,e._loader=this},e.removeHandler=function(t){delete this._handlers[t]},e.getHandler=function(t){return this._handlers[t]},t.makeKey=function(t,e){return t+"-"+e},e.load=function(e,i,n,s){var r=this._handlers[i];if(r)if(e){var a=t.makeKey(e,i);if(void 0!==this._cache[a])n(null,this._cache[a]);else if(this._requests[a])this._requests[a].push(n);else{this._requests[a]=[n];var o=this,h=function(t,e){t?o._onFailure(a,t):r.load(e,(function(t,i,n){if(o._requests[a])if(t)o._onFailure(a,t);else try{o._onSuccess(a,r.open(e.original,i,s),n)}catch(t){o._onFailure(a,t)}}),s)},l=e.split("?")[0];if(this._app.enableBundles&&this._app.bundles.hasUrl(l)){if(!this._app.bundles.canLoadUrl(l))return void h("Bundle for "+e+" not loaded yet");this._app.bundles.loadUrl(l,(function(t,e){h(t,{load:e,original:l})}))}else h(null,{load:e,original:s&&s.file.filename||e})}}else this._loadNull(r,n,s);else n("No resource handler for asset type: '"+i+"' when loading ["+e+"]")},e._loadNull=function(t,e,i){t.load(null,(function(n,s,r){if(n)e(n);else try{e(null,t.open(null,s,i),r)}catch(t){e(t)}}),i)},e._onSuccess=function(t,e,i){null!==e?this._cache[t]=e:delete this._cache[t];for(var n=0;n0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new zu("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new Bu(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[Ce]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===Tf&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===Cf){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&Bf.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=gt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s){void 0===i&&(i=gt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new zt;h.setTRS(new Et(t,e,0),Vt.IDENTITY,new Et(i,-n,0)),r||((r=new Yo).cull=he,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new Yo;r.cull=he,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Dc(Ap,t,e),Ap.mulScalar(.5*n),i._node.rotateLocal(Ap.x,0,Ap.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},y(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}]),e}(Tp),Ep=new Et,Mp=function(t){function e(e){var i=new fp("AmbientLight");return i.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:e.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:gt.WHITE,intensity:1,bakeDir:!1}),t.call(this,e,i.light.light)||this}return S(e,t),e.prototype.prepareVirtualLight=function(t,e){Oc(Ep,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(Ep.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},y(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}]),e}(Tp),Pp=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),Rp=function(){function t(t){this.device=t,this.shaderDilate=Po(t,wo.fullscreenQuadVS,wf.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=Po(this.device,wo.fullscreenQuadVS,wf.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),Ip=new Et,Lp=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new gt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;vh.decRef(this.blackTex),this.blackTex=null,vh.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new Rp(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new Us(this.device,{width:4,height:4,format:7,type:ai,name:"lightmapBlack"}),vh.incRef(this.blackTex);var e=new Zh;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new _h,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Ku(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new Et(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Pl(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){vh.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new vu;if(s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Bi,s.chunks.transformVS="#define UV1LAYOUT\n"+wo.transformVS,0===i){var r=wf.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new gt(0,0,0),s.ambientTint=!0),s.chunks.basePS=wo.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=wo.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=wf.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=he,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new Pp(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=Xa),this.scene.ambientBake&&(u|=Qa),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=dt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length}},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var w=0;w1&&y.prepareVirtualLight(w,b),y.startBake();var T=!1,A=this.lightCameraPrepare(r,y);for(_=0;_0&&w>0)&&!(x&&m>0);m++){var M=C.renderTargets[m],P=C.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?v=n.updateShaders:v&&(n.updateShaders=!0);var L=this.passMaterials[m];for(x&&w+1===b&&0===m&&(L=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,x({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},y(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new Bp(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}]),t}();Up.eventFrame={start:0,end:0,residual:0};var Np="NONE",zp="PREV_STATE",Vp="NEXT_STATE",Gp="PREV_STATE_NEXT_STATE",Hp="NEXT_STATE_PREV_STATE",Wp="GREATER_THAN",Xp="LESS_THAN",qp="GREATER_THAN_EQUAL_TO",jp="LESS_THAN_EQUAL_TO",Yp="EQUAL_TO",Kp="NOT_EQUAL_TO",Zp="INTEGER",Qp="FLOAT",$p="BOOLEAN",Jp="TRIGGER",tm="2D_DIRECTIONAL",em="2D_CARTESIAN",im="DIRECT",nm="START",sm="END",rm="ANY",am=[nm,sm,rm],om="OVERWRITE",hm="ADDITIVE",lm=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),_m=function(){function t(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}return y(t,[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),t}(),gm=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={};!function t(e){n[e.name]=e;for(var i=0;i0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new Up(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===pm?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new mf(r),this.toSkel=new mf(r),this.skeleton=new mf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new dm(new gm(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},y(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==pm.EMPTY}))},y(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==bm?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==am.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}]),t}(),Pm=function(){function t(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Np:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}return y(t,[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),t}(),Rm=function(){function t(t,e,i,n,s,r,a){var o=this;this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._states={},this._stateNames=[],this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),Nu(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case Xp:if(!(s.value=n.value))return!1;break;case jp:if(!(s.value<=n.value))return!1;break;case Yp:if(s.value!==n.value)return!1;break;case Kp:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case zp:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm));break;case Vp:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Gp:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Hp:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===sm){var r=this._findTransitionsFromState(nm)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new Pm({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new Mm(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==am.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=nm,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case It:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case Et:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Dt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case gt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Vt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new _m((function(e){r(e),t.material.update()}),a,o,n):new _m(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={};!function e(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}]),e}(Dp),zm=function(){this.enabled=!0},Vm=["enabled"],Gm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Nm,i.DataType=zm,i.schema=Vm,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.systems.on("animationUpdate",i.onAnimationUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Vm);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers?i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==pm.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})):i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(Op);Dp._buildAccessors(Nm.prototype,Vm);var Hm=function(t){function e(e,i){return t.call(this,e,i)||this}S(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(Dp),Wm=function(){this.enabled=!0},Xm=["enabled"],qm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=Hm,i.DataType=Wm,i.schema=Xm,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(Hm.prototype,Xm);var jm=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,w(n)),n.on("set_loop",n.onSetLoop,w(n)),n.on("set_volume",n.onSetVolume,w(n)),n.on("set_pitch",n.onSetPitch,w(n)),n.on("set_minDistance",n.onSetMinDistance,w(n)),n.on("set_maxDistance",n.onSetMaxDistance,w(n)),n.on("set_rollOffFactor",n.onSetRollOffFactor,w(n)),n.on("set_distanceModel",n.onSetDistanceModel,w(n)),n.on("set_3d",n.onSet3d,w(n)),n}S(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new gt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},e}(Dp);function d_(t){return new gt(t.r,t.g,t.b)}var f_=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Dt,this.transitionMode=0,this.hoverTint=new gt(.75,.75,.75),this.pressedTint=new gt(.5,.5,.5),this.inactiveTint=new gt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},p_=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],m_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=u_,i.DataType=f_,i.schema=p_,i.on("beforeremove",i._onRemoveComponent,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,p_)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(u_.prototype,p_);var __,g_,v_,y_=new Et,x_=new Vt,S_=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,w(n)),n.on("set_type",n.onSetType,w(n)),n.on("set_halfExtents",n.onSetHalfExtents,w(n)),n.on("set_linearOffset",n.onSetOffset,w(n)),n.on("set_angularOffset",n.onSetOffset,w(n)),n.on("set_radius",n.onSetRadius,w(n)),n.on("set_height",n.onSetHeight,w(n)),n.on("set_axis",n.onSetAxis,w(n)),n.on("set_asset",n.onSetAsset,w(n)),n.on("set_renderAsset",n.onSetRenderAsset,w(n)),n.on("set_model",n.onSetModel,w(n)),n.on("set_render",n.onSetRender,w(n)),n}S(e,t);var i=e.prototype;return i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(Et.ZERO)||!this.data.angularOffset.equals(Vt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof $f&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof $f&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i._getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),P_=new zt,R_=new Et,I_=new Et,L_=new Vt,D_=new _h,O_=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","asset","renderAsset","shape","model","render"],k_=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new $u,e.model.graph=new _h},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&(t._compoundParent&&t===t._compoundParent&&e.forEach(this.system.implementations.compound._updateEachDescendant,t),!t.rigidbody)){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new M_(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render};return this.system.addComponent(e,n)},t}(),F_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(k_),B_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(k_),U_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(k_),N_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(k_),z_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(k_),V_=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoMesh=function(t,e,i){var n;if(this.system._triMeshCache[t.id])n=this.system._triMeshCache[t.id];else{for(var s,r,a=t.vertexBuffer,o=a.getFormat(),h=0;h=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){if(this.unmaskMeshInstance){var t=function t(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===i_&&s>this._targetAspectRatio||e.fitMode===n_&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){t.off("set:meshes",this._onSpriteMeshesChange,this),t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof $f?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new an({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},y(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Dt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==e_&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==e_&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}]),t}(),j_=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,w(i)),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}S(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},y(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof $f?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof $f?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset(),this._localizedAsset=null),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}]),e}(P),Y_="msdf",K_="bitmap",Z_=/[A-Z|a-z|0-9|_|-|/]/,Q_=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(Z_)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function J_(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),J_(t[i],e[i])):t[i]=n}}function tg(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,v=this._element.calculatedWidth;(this.autoWidth&&!g||!this._wrapLines)&&(v=Number.POSITIVE_INFINITY);var y,x,S,b,w=0,T=0;function A(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)rg.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var C=!0;C;){C=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var E=this._fontSize/32;w=this._fontMinY*E,T=this._fontMaxY*E;for(var M=0;M=r?null:this._symbols[U+1],rg.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var q=this._font.data.kerning;if(q){var j=q[rt.getCodePoint(this._symbols[U-1])||0];j&&(X=j[rt.getCodePoint(this._symbols[U])||0]||0)}}H=x.scale||1,G=E*((x.width+x.height)/2)/H,V=(x.xadvance+X)*E,N=(x.xoffset-X)*E,z=x.yoffset*E}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=ag.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],$=a+this._spacing*V;if($>v&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=_t.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,C=!0;break}if(this.height=Math.max(this.height,T-(o+w)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=_t.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,C=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=U+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var ft=3*this._symbolColors[U];P=this._colorPalette[ft],R=this._colorPalette[ft+1],I=this._colorPalette[ft+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var pt=5*this._symbolOutlineParams[U];L=this._outlinePalette[pt]+256*this._outlinePalette[pt+1],D=this._outlinePalette[pt+2]+256*this._outlinePalette[pt+3],O=this._outlinePalette[pt+4]}if(Q.outlines[4*S*3+0]=L,Q.outlines[4*S*3+1]=D,Q.outlines[4*S*3+2]=O,Q.outlines[4*S*3+3]=L,Q.outlines[4*S*3+4]=D,Q.outlines[4*S*3+5]=O,Q.outlines[4*S*3+6]=L,Q.outlines[4*S*3+7]=D,Q.outlines[4*S*3+8]=O,Q.outlines[4*S*3+9]=L,Q.outlines[4*S*3+10]=D,Q.outlines[4*S*3+11]=O,this._symbolShadowParams){var mt=6*this._symbolShadowParams[U];k=this._shadowPalette[mt]+256*this._shadowPalette[mt+1],F=this._shadowPalette[mt+2]+256*this._shadowPalette[mt+3],B=this._shadowPalette[mt+4]+127+256*Math.round(Z*this._shadowPalette[mt+5]+127)}Q.shadows[4*S*3+0]=k,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=k,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=k,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=k,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}C||f=kt?(Ft.element[Ee].set(0,0,0),Ft.element[Oe].set(0,0),Ft.element[Le].set(0,0,0,0),Ft.element[Qe].set(0,0,0,0),Ft.element[$e].set(0,0,0,0)):(Ft.element[Ee].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[Oe].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Le].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[Qe].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[$e].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof It?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t;(this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(t=this.system.app.batcher)||t.remove(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Dt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(Qo.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Dt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===Jm?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===t_&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===Jm&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new vu,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new vu;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(Op);Dp._buildAccessors(Tg.prototype,Eg);var Pg="free",Rg="limited",Ig="locked",Lg=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],Dg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=Ig,n._linearLimitsX=new It(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=Ig,n._linearLimitsY=new It(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=Ig,n._linearLimitsZ=new It(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=Ig,n._angularLimitsX=new It(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=Ig,n._angularLimitsY=new It(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=Ig,n._angularLimitsZ=new It(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Vt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===Rg?(e=this._angularLimitsX.x*_t.DEG_TO_RAD,s=this._angularLimitsX.y*_t.DEG_TO_RAD):this._angularMotionX===Pg?(e=1,s=0):e=s=0,this._angularMotionY===Rg?(i=this._angularLimitsY.x*_t.DEG_TO_RAD,r=this._angularLimitsY.y*_t.DEG_TO_RAD):this._angularMotionY===Pg?(i=1,r=0):i=r=0,this._angularMotionZ===Rg?(n=this._angularLimitsZ.x*_t.DEG_TO_RAD,a=this._angularLimitsZ.y*_t.DEG_TO_RAD):this._angularMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===Rg?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===Pg?(e=1,s=0):e=s=0,this._linearMotionY===Rg?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===Pg?(i=1,r=0):i=r=0,this._linearMotionZ===Rg?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new zt,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=Lg;e=i?jg:Xg;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,Yg.x=e.containerSize.x-e.padding.x-e.padding.z,Yg.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>Yg[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>Yg[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,Yg[n.axis]);m===qg?c(r,p,n):m===jg&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op);Dp._buildAccessors(tv.prototype,iv);var sv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._asset=null,n._model=null,n._mapping={},n._castShadows=!0,n._receiveShadows=!0,n._materialAsset=null,n._material=void 0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._layers=[0],n._batchGroupId=-1,n._customAabb=null,n._area=null,n._materialEvents=null,n._clonedModel=!1,n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.addModelToLayers=function(){for(var t=this.system.app.scene.layers,e=0;e=0&&(null==(n=t.batcher)||n.insert(Qo.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof $f&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;n=this.system.app.assets.get(n)}n&&!n.resource&&this.system.app.assets.load(n)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var s=t.mesh;s instanceof no||(s=null),this.emitter=new Kd(this.system.app.graphicsDevice,{numParticles:t.numParticles,emitterExtents:t.emitterExtents,emitterExtentsInner:t.emitterExtentsInner,emitterRadius:t.emitterRadius,emitterRadiusInner:t.emitterRadiusInner,emitterShape:t.emitterShape,initialVelocity:t.initialVelocity,wrap:t.wrap,localSpace:t.localSpace,screenSpace:t.screenSpace,wrapBounds:t.wrapBounds,lifetime:t.lifetime,rate:t.rate,rate2:t.rate2,orientation:t.orientation,particleNormal:t.particleNormal,animTilesX:t.animTilesX,animTilesY:t.animTilesY,animStartFrame:t.animStartFrame,animNumFrames:t.animNumFrames,animNumAnimations:t.animNumAnimations,animIndex:t.animIndex,randomizeAnimIndex:t.randomizeAnimIndex,animSpeed:t.animSpeed,animLoop:t.animLoop,startAngle:t.startAngle,startAngle2:t.startAngle2,scaleGraph:t.scaleGraph,scaleGraph2:t.scaleGraph2,colorGraph:t.colorGraph,colorGraph2:t.colorGraph2,alphaGraph:t.alphaGraph,alphaGraph2:t.alphaGraph2,localVelocityGraph:t.localVelocityGraph,localVelocityGraph2:t.localVelocityGraph2,velocityGraph:t.velocityGraph,velocityGraph2:t.velocityGraph2,rotationSpeedGraph:t.rotationSpeedGraph,rotationSpeedGraph2:t.rotationSpeedGraph2,radialSpeedGraph:t.radialSpeedGraph,radialSpeedGraph2:t.radialSpeedGraph2,colorMap:t.colorMap,normalMap:t.normalMap,loop:t.loop,preWarm:t.preWarm,sort:t.sort,stretch:t.stretch,alignToMotion:t.alignToMotion,lighting:t.lighting,halfLambert:t.halfLambert,intensity:t.intensity,depthSoftening:t.depthSoftening,scene:this.system.app.scene,mesh:s,depthWrite:t.depthWrite,noFog:t.noFog,node:this.entity,blendType:t.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,t.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this.system.app.scene.on("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.on("add",this.onLayerAdded,this),this.system.app.scene.layers.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&t.depthSoftening&&this._requestDepth()}},i.onDisable=function(){this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();vv._skinInstanceCache=new Map;var yv=function(){function t(t,e,i,n,s){this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&this._registry.on("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.on("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.on("load:url:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:url:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:url:"+this.url,this._onRemove,this))},e._unbind=function(){this.id&&(this._onAssetLoad&&this._registry.off("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.off("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.off("load:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.url,this._onRemove,this))},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},y(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}]),t}(),xv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=[],n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._rootBone=new Qm(w(n),"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,w(n)),n._assetReference=new yv("asset",w(n),e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},w(n)),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof $f?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(i=t.batcher)||i.insert(Qo.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(Qo.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),Lv=new Vt,Dv=new Vt,Ov=new Et,kv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new Et(1,1,1),n._angularVelocity=new Et,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new Et(1,1,1),n._linearVelocity=new Et,n._mask=E_,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=w_,n}S(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(Av=new Ammo.btTransform,Cv=new Ammo.btVector3,Ev=new Ammo.btVector3,Mv=new Ammo.btQuaternion)};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&(this.system.removeBody(this._body),this.system.destroyBody(this._body),this._body=null);var i=this._type===T_?this._mass:0;this._getEntityTransform(Av);var n=this.system.createBody(i,t,Av);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===T_){var s=this._linearFactor;Cv.setValue(s.x,s.y,s.z),n.setLinearFactor(Cv);var r=this._angularFactor;Cv.setValue(r.x,r.y,r.z),n.setAngularFactor(Cv)}else this._type===A_&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case T_:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case A_:this.system._kinematic.push(this),e.forceActivationState(4);break;case w_:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyForce(Cv,Ev))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorque(Cv))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyImpulse(Cv,Ev))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorqueImpulse(Cv))},i.isStatic=function(){return this._type===w_},i.isStaticOrKinematic=function(){return this._type===w_||this._type===A_},i.isKinematic=function(){return this._type===A_},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();Cv.setValue(n.x,n.y,n.z),Mv.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();Cv.setValue(r.x,r.y,r.z),Mv.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(Cv),t.setRotation(Mv)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(Av),t.setWorldTransform(Av),this._type===A_){var e=t.getMotionState();e&&e.setWorldTransform(Av)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(Av);var n=Av.getOrigin(),s=Av.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=Dv.copy(o).invert(),l=Lv.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,Ov),i.setPosition(n.x()-Ov.x,n.y()-Ov.y,n.z()-Ov.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(Av),t.setWorldTransform(Av))},i.teleport=function(t,e,i,n,s,r){t instanceof Et?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Vt?this.entity.setRotation(e):e instanceof Et?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},y(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setAngularFactor(Cv)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(Cv),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setLinearFactor(Cv)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(Cv),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===T_)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,Cv),this._body.setMassProps(t,Cv),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case T_:this._group=1,this._mask=C_;break;case A_:this._group=4,this._mask=C_;break;default:this._group=2,this._mask=E_}this.createBody()}}}]),e}(Dp),Fv=function(){this.enabled=!0},Bv=function(t,e,i,n){this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Uv=function(t,e,i){0===arguments.length?(this.a=null,this.b=null,this.impulse=0,this.localPointA=new Et,this.localPointB=new Et,this.pointA=new Et,this.pointB=new Et,this.normal=new Et):(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal)},Nv=function(t,e,i,n,s,r){void 0===t&&(t=new Et),void 0===e&&(e=new Et),void 0===i&&(i=new Et),void 0===n&&(n=new Et),void 0===s&&(s=new Et),void 0===r&&(r=0),this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},zv=function(t,e){this.other=t,this.contacts=e},Vv=["enabled"],Gv=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new Et(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=kv,i.DataType=Fv,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Vv,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}Pv=new Ammo.btVector3,Rv=new Ammo.btVector3,kv.onLibraryLoaded(),this.contactPointPool=new Iv(Nv,1),this.contactResultPool=new Iv(zv,1),this.singleContactResultPool=new Iv(Uv,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var v=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));v&&(!(g=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(g=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(g||(g=this._storeCollision(u,c)),g&&c.rigidbody.fire("triggerenter",u)),S&&(g||(g=this._storeCollision(c,u)),g&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),w=this._hasContactEvent(u),T=this.hasEvent("contact");if(T||b||w){for(var A=0;A=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}]),e}(Dp),jv=function(){this.enabled=!0},Yv=["enabled"],Kv=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=qv,i.DataType=jv,i.schema=Yv,i.windowResolution=new It,i._drawOrderSyncQueue=new at,i.app.graphicsDevice.on("resizecanvas",i._onResize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.on("beforeremove",i.onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof It?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof It?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,ty),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return _t.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:_t.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return my.x=0===e?0:t.x/e,my.y=0===i?0:t.y/-i,my},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=_t.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=_t.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new It(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function e(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=_t.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=_t.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},e}(Dp),Sy=function(){this.enabled=!0},by=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=xy,i.DataType=Sy,i.schema=by,i.on("beforeremove",i._onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,by)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(Op);Dp._buildAccessors(xy.prototype,by);var Ty={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new Et,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},Ay=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof $f&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(w(s)),s._onInstancePauseHandler=s._onInstancePause.bind(w(s)),s._onInstanceResumeHandler=s._onInstanceResume.bind(w(s)),s._onInstanceStopHandler=s._onInstanceStop.bind(w(s)),s._onInstanceEndHandler=s._onInstanceEnd.bind(w(s)),s}S(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof Ay?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new Ay(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}]),e}(Dp),Ey=function(){this.enabled=!0},My=["enabled"],Py=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=Cy,i.DataType=Ey,i.schema=My,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},y(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e;(this._sprite&&(this._sprite.off("set:meshes",this._onSpriteMeshesChange,this),this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this)),this._sprite=t,this._sprite&&(this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((e=this._component._meshInstance)&&(e.setParameter("texture_emissiveMap",t.atlas.texture),e.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((e=this._component._meshInstance)&&(e.deleteParameter("texture_emissiveMap"),e.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}]),e}(P),Dy="texture_emissiveMap",Oy="texture_opacityMap",ky="material_emissive",Fy="material_opacity",By=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type=Ry,n._material=e.defaultMaterial,n._color=new gt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new It(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Dt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Dt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new _h,n._model=new $u,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(w(n)),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Ly(w(n),{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}S(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene;(i.on("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.on("add",this._onLayerAdded,this),i.layers.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.off("add",this._onLayerAdded,this),i.layers.off("remove",this._onLayerRemoved,this)),this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Ly?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}]),e}(Dp),Uy=function(){this.enabled=!0},Ny=["enabled"],zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=By,i.DataType=Uy,i.schema=Ny,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof gt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},y(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new Us(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new vu;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=he,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}]),e}(Op);Dp._buildAccessors(By.prototype,Ny);var Vy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new Et,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},y(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof Et?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}]),e}(Dp),Gy=function(){this.enabled=!0},Hy=["enabled"],Wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Vy,i.DataType=Gy,i.schema=Hy,i.on("beforeremove",i._onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof Et?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(Op);Dp._buildAccessors(Vy.prototype,Hy);var Xy=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},qy=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new Us(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getRenderableHdrFormat([ue,fe],!0)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new ln({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new Xy(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}]),e}(Dp),Yy=function(){this.enabled=!0},Ky=["enabled"],Zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=jy,i.DataType=Yy,i.schema=Ky,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.on("prerender",i.onAppPrerender,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),Nu(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(jy.prototype,Ky);var Qy=[],$y=[],Jy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}S(e,t);var i=e.prototype;return i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(o=e.ind),this._insertScriptInstance(r,o,a),this._scriptsIndex[s]={instance:r,onSwap:function(){i.swap(s)}},this[s]=r,e.preloading||r.__initializeAttributes(),this.fire("create",s,r),this.fire("create:"+s,r),this.system.app.scripts.on("swap:"+s,this._scriptsIndex[s].onSwap),e.preloading||(r.enabled&&!r._initialized&&(r._initialized=!0,r.initialize&&this._scriptMethod(r,ox)),r.enabled&&!r._postInitialized&&(r._postInitialized=!0,r.postInitialize&&this._scriptMethod(r,hx))),r}}else this._scriptsIndex[s]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(a.__initializeAttributes(),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},y(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){for(var e in this._scriptsData=t,t)if(t.hasOwnProperty(e)){var i=this._scriptsIndex[e];if(i){if("boolean"==typeof t[e].enabled&&(i.enabled=!!t[e].enabled),"object"==typeof t[e].attributes)for(var n in t[e].attributes)if(!ax.reservedNames.has(n)){if(!i.__attributes.hasOwnProperty(n)){var s=this.system.app.scripts.get(e);s&&s.attributes.add(n,{})}i[n]=t[e].attributes[n]}}else console.log(this.order)}}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}]),e}(Dp),cx=function(){this.enabled=!0},ux=0,dx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=lx,i.DataType=cx,i._components=new ct({sortBy:"_executionOrder"}),i._enabledComponents=new ct({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,w(i)),i.app.systems.on("initialize",i._onInitialize,w(i)),i.app.systems.on("postInitialize",i._onPostInitialize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.app.systems.on("postUpdate",i._onPostUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=ux++,this._components.append(t),ux>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op),fx=function(t){function e(){var e;return(e=t.call(this)||this)._meshes=null,e}S(e,t);var i=e.prototype;return i.destroy=function(){this.meshes=null},i.decRefMeshes=function(){if(this._meshes)for(var t=this._meshes.length,e=0;e0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),Cx=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},Ex=function(t){if(Sx)return!0;if(!t)if(bx)t=bx;else{var e=ht.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(Sx=new Ax,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};Ca.get(i,n,(function(i,n){i?e(i):t(n)}))}))),Cx(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+xx.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},Hx=function(t,e,i,n,s,r,a){var o,h=new no(t);h.aabb=Ux(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(nS.data.set(t.matrix),nS.getTranslation(sS),i.setLocalPosition(sS),nS.getEulerAngles(sS),i.setLocalEulerAngles(sS),nS.getScale(sS),i.setLocalScale(sS)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},aS=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*_t.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new fp(t.name);return r.addComponent("camera",s),r},oS=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new gt(t.color):gt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?_t.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*_t.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*_t.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*Yu.getLightUnitConversion(Wu[i.type],i.outerConeAngle,i.innerConeAngle));var n=new fp(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},hS=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=Fx(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===D.paths[0].propertyPath[0]&&2!==D.interpolation&&g.push(P[P.length-1].output))}g.sort();var O,k=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:aS,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},_S=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:oS,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},gS=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},vS=(Tx=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_,g,v,y,x,S,b,w,T,A,C,E,M,P,R;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=fS(i,r),d=pS(i,u),f=_S(i,u,r),p=mS(i,u,r),_=uS(i),t.next=12,Promise.all(n);case 12:return g=t.sent,v=lS(e,i,g,c,r),y=v.meshes,x=v.meshVariants,S=v.meshDefaultMaterials,b=v.promises,w=dS(i,u,g,r),t.next=17,Promise.all(s);case 17:for(T=t.sent,A=T.map((function(t){return t.resource})),C=cS(i,A,r,c),E=hS(e,i,u,g),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},SS=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){xS(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===L.getExtension(t.original).toLowerCase()?SS.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new yx(1,t)})),r=e.outputs.map((function(t){return new yx(t.components,t.data)})),a=e.curves.map((function(t){return new vx([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new pm(i,n,s,r,a)},e.patch=function(t,e){},t}(),TS=function(){function t(t){this.handlerType="animstategraph",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return new Um(e)},e.patch=function(t,e){},t}(),AS=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),CS=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],ES=function(){function t(t){this.handlerType="audio",this.manager=t.soundManager,this.maxRetries=0}var e=t.prototype;return e._isSupported=function(t){var e=L.getExtension(t);return CS.indexOf(e)>-1},e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new ka(t))}),i)}else i(null)},e.open=function(t,e){return e},e.patch=function(t,e){},e._createSound=function(t,e,i){if(Ea()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=Aa.ResponseType.ARRAY_BUFFER),Ca.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}AS&&document.body.appendChild(r);r.onerror=function(){r.onerror=null,AS&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",(function t(){r.removeEventListener("canplaythrough",t),AS&&document.body.removeChild(r),e(r)})),r.src=t}},t}(),MS=function(){function t(t){this.handlerType="binary",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),PS=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s):SS.parse(n._getUrlWithoutParams(t.original),L.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new PS(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),IS=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),LS=function(){function t(t){this.handlerType="container",this.glbContainerParser=new RS(t.graphicsDevice,t.assets,0),this.parsers={}}var e=t.prototype;return e._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},e._getParser=function(t){var e=t?L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){return this._getParser(t).open(t,e,i)},e.patch=function(t,e){},y(t,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}]),t}(),DS=function(){function t(t){this.handlerType="css",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),OS=function(){function t(t){this.handlerType="cubemap",this._device=t.graphicsDevice,this._registry=t.assets,this._loader=t.loader}var e=t.prototype;return e.load=function(t,e,i){this.loadAssets(i,e)},e.open=function(t,e,i){return i?i.resource:null},e.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},e.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},e.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},e.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?ai:ri:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new Us(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=hi,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=BS(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=BS(i.data)),this._loadTextures(t.load,i&&i.data,e))},e._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),HS=function(){function t(t){this.handlerType="hierarchy",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){GS.load(t,this.maxRetries,e)},e.open=function(t,e){this._app.systems.script.preloading=!0;var i=new VS(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},t}(),WS=function(){function t(t){this.handlerType="html",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),XS=function(){function t(t){this.handlerType="json",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),qS=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([he,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=lu,i=pu,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof Us&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),jS=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new vu;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=x({},e.chunks)),e){var n=lu[i],s=e[i];if("vec2"===n)t[i]=new It(s[0],s[1]);else if("rgb"===n)t[i]=new gt(s[0],s[1],s[2]);else if("texture"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new Et(s.center[0],s.center[1],s.center[2]),a=new Et(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new jt(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;void 0===t.shadingModel&&("blinn"===t.shader?t.shadingModel=1:t.shadingModel=0),t.shader&&delete t.shader,t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},e.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},e._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new Us(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},e.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},e._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},e._assignTexture=function(t,e,i){e.resource[t]=i},e._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=YS[t];return this._placeholderTextures[e]},e._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},e._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},e._onTextureAdd=function(t,e,i){this._assets.load(i)},e._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},e._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},e._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},e._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},e._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},e._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=cu;for(i=0;i0){for(var c=i.blendIndices.data[4*h+l],u=!0,d=0;dn)return!1;for(var f=0;f=0;n--)if(l[n].boneNames.length>i){var f=l.splice(n,1)[0],p=[];for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.push({mesh:o,node:u[r].node}),e&&e.push({material:e[r].material,path:e[r].path}));for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.splice(r,1),e&&e.splice(r,1))}!function(t){for(var e=t.vertices,i=t.skins,n=t.meshes,s=t.meshInstances,r=0;r0&&JS(s,null,this._device.getBoneLimit());for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new Tr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new Tr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}();function ob(t){this.resource&&(this.resource.atlas=t.resource)}function hb(t){this.registry.load(t)}var lb=function(){function t(t){this.handlerType="sprite",this._assets=t.assets,this._device=t.graphicsDevice,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===L.getExtension(t.original)&&Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},e.open=function(t,e){var i=new lf(this._device);return t&&(i.__data=e),i},e.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},e._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ob,t),this._assets.on("load:"+t.data.textureAtlasAsset,ob,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,hb,t),this._assets.on("add:"+t.data.textureAtlasAsset,hb,t))}else e.atlas=null},e._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ob,t),this._assets.off("add:"+n.textureAtlasAsset,hb,t))},t}(),cb=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new VS(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),ub=function(){function t(t){this.handlerType="template",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},e.open=function(t,e){return new cb(this._app,e)},t}(),db=function(){function t(t){this.handlerType="text",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),fb={repeat:0,clamp:1,mirror:2},pb={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},mb=/^data\.frames\.(\d+)$/,_b=function(){function t(t){this.handlerType="textureatlas",this._loader=t.loader,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===L.getExtension(t.original)?Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},e.open=function(t,e){var i=new cf;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},e.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==pb[t.data.minfilter]&&(i.minFilter=pb[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==pb[t.data.magfilter]&&(i.magFilter=pb[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==fb[t.data.addressu]&&(i.addressU=fb[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==fb[t.data.addressv]&&(i.addressV=fb[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?ai:ri;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Dt(a.rect),pivot:new It(a.pivot),border:new Dt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},e._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Dt(n.rect),pivot:new It(n.pivot),border:new Dt(n.border)};t.resource.frames=s}else{var a=e.match(mb);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Dt(i.rect),pivot:new It(i.pivot),border:new Dt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},t}();function gb(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},g=21,v=22,y=23,x=8,S=10,b=26,w=27,T=28,A=29,C=30,E=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?g:v;case s:return y;case r:return x;case a:return S;case o:return b;case h:return w;case l:return T;case c:return A;case u:return C;case d:return E;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},D=function(){return"undefined"!=typeof performance?performance.now():0},O=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;Ca.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else Ca.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))},xb=function(){function t(){this.callbacks={},this.queue=[],this.clients=[]}var e=t.prototype;return e.enqueueJob=function(t,e,i,n){if(this.callbacks.hasOwnProperty(t))this.callbacks[t].push(i);else{this.callbacks[t]=[i];var s={url:t,data:e,options:n};this.clients.length>0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},e._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},e._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},t}(),Ob=[1481919403,3140563232,169478669],kb={33776:8,33778:9,33779:le,36196:ve,37492:22,37496:23,35840:Se,35841:ye,35842:be,35843:xe,32849:6,32856:7,35905:19,35907:20,35898:ge,34843:ce,34842:ue};for(var Fb=function(){function t(t){this.maxRetries=0}var e=t.prototype;return e.load=function(t,e,i){$f.fetchArrayBuffer(t.load,e,i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new Us(i,x({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},e.parse=function(t){var e=new Uint32Array(t);if(Ob[0]!==e[0]||Ob[1]!==e[1]||Ob[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=kb[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===ge?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},t}(),Bb=166,Ub=function(){function t(t,e){this.maxRetries=0,this.device=e}var e=t.prototype;return e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=new Us(i,x({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},e.parse=function(t,e,i,n){var s=new lt(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var w,T=128,A=d?6:1,C=c===f?8:16,E=0;E32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||0!=(128&s[2]))return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},e._getParser=function(t){var e=L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},e._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Gb[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Gb[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Vb[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Vb[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Hb[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=ai:t.file&&0!=(8&t.file.opt)&&(e.type=li)}return e},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new Us(this._device,{width:4,height:4,format:6}):(!function(t){var e=es.calcMipLevelsCount(t._width,t._height);if(!(7!==t._format&&t._format!==fe||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},e.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);s=a||(a=d,o=t[c],h.copy(u.transform.position),l.copy(u.transform.orientation))}this.fire("result",h,l,e,o),this.manager.hitTest.fire("result",this,h,l,e,o),iw.push(r),iw.push(h),nw.push(l)}},e}(P),rw=function(t){function e(e){var i;return(i=t.call(this)||this).manager=void 0,i._supported=G.browser&&!(!window.XRSession||!window.XRSession.prototype.requestHitTestSource),i._session=null,i.sources=[],i.manager=e,i._supported&&(i.manager.on("start",i._onSessionStart,w(i)),i.manager.on("end",i._onSessionEnd,w(i))),i}S(e,t);var i=e.prototype;return i._onSessionStart=function(){this.manager.type===Yb&&(this._session=this.manager.session)},i._onSessionEnd=function(){if(this._session){this._session=null;for(var t=0;tthis.views.length;){var a=this.viewsPool.pop();a||(a={viewport:new Dt,projMat:new zt,viewMat:new zt,viewOffMat:new zt,viewInvMat:new zt,viewInvOffMat:new zt,projViewOffMat:new zt,viewMat3:new Pt,position:new Float32Array(3),rotation:new Vt}),this.views.push(a)}for(;r0){var p=new zt,m=this.views[0];p.copy(m.projMat);var _=p.data,g=2*Math.atan(1/_[5])*180/Math.PI,v=_[5]/_[0],y=_[14]/(_[10]+1),x=_[14]/(_[10]-1);this._camera.camera.setXrProperties({aspectRatio:v,farClip:y,fov:g,horizontalFov:!1,nearClip:x})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===Yb&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.depthSensing.supported&&this.depthSensing.update(t,n&&n.views[0]),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t)),this.fire("update",t),!0},y(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}]),e}(P),kw=function(t){function e(e,i){var n;void 0===i&&(i={}),n=t.call(this,e)||this;var s=new bp;return s.graphicsDevice=n.createDevice(e,i),n.addComponentSystems(s),n.addResourceHandles(s),s.elementInput=i.elementInput,s.keyboard=i.keyboard,s.mouse=i.mouse,s.touch=i.touch,s.gamepads=i.gamepads,s.scriptPrefix=i.scriptPrefix,s.assetPrefix=i.assetPrefix,s.scriptsOrder=i.scriptsOrder,s.soundManager=new Oa,s.lightmapper=Lp,s.batchManager=kh,s.xr=Ow,n.init(s),n}S(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new mr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Gv,H_,Bg,Sm,Gm,ov,Tv,Zy,ix,Df.legacy?ry:dx,Zm,Py,qm,_v,Kv,Mg,m_,yy,wy,zy,nv,Vg,Wy]},i.addResourceHandles=function(t){t.resourceHandlers=[gx,bS,wS,TS,nb,KS,Xb,db,XS,ES,rb,sb,OS,WS,DS,ab,HS,kS,US,MS,_b,lb,ub,LS]},e}(yp),Fw=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof $f)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),Bw=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new Us(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),Uw=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new gt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}S(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new Bw(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=rt.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dw&&(w=this.fontSize*this.fontSize/T,o.ctx.font=this.fontWeight+" "+w.toString()+"px "+this.fontName,T=this.fontSize),this.renderCharacter(o.ctx,S,v+_,y+g,n);var A=this.padding+(this.glyphSize-T)/2,C=-this.padding+u[S].descent-c,E=T;this._addChar(this.data,S,b,v,y,p,m,A,C,E,a-1,e,i),(v+=p)+p>e&&(v=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,Nw,zw,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(Gi.NOBLEND)})),Nw.length=0)}}},e}(Er),Gw=new Set,Hw=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof on&&(t=Mf()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new Vw(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){var s=this.device;if("object"==typeof t){var r=t;t=r.x,e=r.y,i=r.width,n=r.height}else e=this.renderTarget.height-(e+(n||1));t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i||1,1)),n=Math.floor(Math.max(n||1,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var a=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,a),s.updateEnd();for(var o=this.mapping,h=0;h0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return S(e,t),e}(yT),ST=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return S(e,t),e}(yT),bT=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return S(e,t),e}(yT),wT=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=gw,this._lastY=vw)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new ST(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new ST(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,gw,vw)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new xT(e,i,s,gw,vw,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new xT(e,this._pressedElement,s,gw,vw,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new xT(e,n,s,gw,vw,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(Zw,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new bT(i,a,r,e)),s&&this._fireEvent("selectenter",new bT(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new bT(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new bT(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new bT(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new bT(i,l,r,e)),l&&l===a&&this._fireEvent("click",new bT(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);gw=t.clientX-i,vw=t.clientY-n},e._calcTouchCoords=function(t){for(var e=0,i=0,n=t.target;!(n instanceof HTMLElement);)n=n.parentNode;var s=n;do{e+=s.offsetLeft-s.scrollLeft,i+=s.offsetTop-s.scrollTop,s=s.offsetParent}while(s);return{x:t.pageX-e,y:t.pageY-i}},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,Yw)?Yw:null,s=this._calculateRay3d(e,i,t,Kw)?Kw:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){Yw.origin.copy(t.origin),Yw.direction.copy(t.direction),Yw.end.copy(Yw.direction).mulScalar(2*e.farClip).add(Yw.origin);var i=Yw,n=e.worldToScreen(i.origin,qw),s=this._calculateRayScreen(n.x,n.y,e,Kw)?Kw:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,qw),i.screenToWorld(d,f,i.farClip,jw),n.origin.copy(qw),n.direction.set(0,0,-1),n.end.copy(jw),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){Qw.sub2(e,t),$w.sub2(i[0],t),Jw.sub2(i[1],t),tT.sub2(i[2],t),iT.cross(tT,Qw);var n,s,r=$w.dot(iT);if(r>=0){if((n=-Jw.dot(iT))<0)return-1;if((s=vT(Qw,Jw,$w))<0)return-1;var a=1/(n+r+s);nT.copy(i[0]).mulScalar(n*a),sT.copy(i[1]).mulScalar(r*a),rT.copy(i[2]).mulScalar(s*a),aT.copy(nT).add(sT).add(rT)}else{if(eT.sub2(i[3],t),(n=eT.dot(iT))<0)return-1;if((s=vT(Qw,$w,eT))<0)return-1;var o=1/(n+(r=-r)+s);nT.copy(i[0]).mulScalar(n*o),sT.copy(i[3]).mulScalar(r*o),rT.copy(i[2]).mulScalar(s*o),aT.copy(nT).add(sT).add(rT)}return Qw.sub2(i[0],i[2]).lengthSq()<1e-8||Qw.sub2(i[1],i[3]).lengthSq()<1e-8?-1:aT.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||gT;lT.copy(t.entity.up),cT.copy(lT).mulScalar(-1),dT.copy(t.entity.right),uT.copy(dT).mulScalar(-1),lT.mulScalar(s.w*i.y),cT.mulScalar(s.y*i.y),dT.mulScalar(s.z*i.x),uT.mulScalar(s.x*i.x),fT.copy(n[0]).add(cT).add(uT),pT.copy(n[1]).add(cT).add(dT),mT.copy(n[2]).add(lT).add(dT),_T.copy(n[3]).add(lT).add(uT),n=[fT,pT,mT,_T]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for(hT.set(i,i,i);e&&!e.screen;)hT.mul(e.getLocalScale()),e=e.parent;return hT},t.calculateScaleToWorld=function(t){var e=t.entity;for(hT.set(1,1,1);e;)hT.mul(e.getLocalScale()),e=e.parent;return hT},y(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||Mf()},set:function(t){this._app=t}}]),t}(),TT=new RegExp("^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^\\(\\s\\/]*)\\s*"),AT=function(t){function e(e){var i;return(i=t.call(this)||this).app=void 0,i.entity=void 0,i._enabled=void 0,i._enabledOld=void 0,i._initialized=void 0,i._postInitialized=void 0,i.__destroyed=void 0,i.__attributes=void 0,i.__attributesRaw=void 0,i.__scriptType=void 0,i.__executionOrder=void 0,i.initScriptType(e),i}S(e,t);var i=e.prototype;return i.initScriptType=function(t){var e=this.constructor;this.app=t.app,this.entity=t.entity,this._enabled="boolean"!=typeof t.enabled||t.enabled,this._enabledOld=this.enabled,this.__destroyed=!1,this.__attributes={},this.__attributesRaw=t.attributes||{},this.__scriptType=e,this.__executionOrder=-1},e.__getScriptName=function(t){if("function"==typeof t){if("name"in Function.prototype)return t.name;if(t===Function||t===Function.prototype.constructor)return"Function";var e=(""+t).match(TT);return e?e[1]:void 0}},i.__initializeAttributes=function(t){if(t||this.__attributesRaw){for(var e in this.__scriptType.attributes.index)this.__attributesRaw&&this.__attributesRaw.hasOwnProperty(e)?this[e]=this.__attributesRaw[e]:this.__attributes.hasOwnProperty(e)||(this.__scriptType.attributes.index[e].hasOwnProperty("default")?this[e]=this.__scriptType.attributes.index[e].default:this[e]=null);this.__attributesRaw=null}},e.extend=function(t){for(var e in t)t.hasOwnProperty(e)&&(this.prototype[e]=t[e])},y(e,[{key:"enabled",get:function(){return this._enabled&&!this._destroyed&&this.entity.script.enabled&&this.entity.enabled},set:function(t){this._enabled=!!t,this.enabled!==this._enabledOld&&(this._enabledOld=this.enabled,this.fire(this.enabled?"enable":"disable"),this.fire("state",this.enabled),!this._initialized&&this.enabled&&(this._initialized=!0,this.__initializeAttributes(!0),this.initialize&&this.entity.script._scriptMethod(this,ox)),this._initialized&&!this._postInitialized&&this.enabled&&!this.entity.script._beingEnabled&&(this._postInitialized=!0,this.postInitialize&&this.entity.script._scriptMethod(this,hx)))}}],[{key:"scriptName",get:function(){return this.__name}},{key:"attributes",get:function(){return this.hasOwnProperty("__attributes")||(this.__attributes=new ax(this)),this.__attributes}}]),e}(P);AT.__name=null;var CT=new Set(["system","entity","create","destroy","swap","move","data","scripts","_scripts","_scriptsIndex","_scriptsData","enabled","_oldState","onEnable","onDisable","onPostStateChange","_onSetEnabled","_checkState","_onBeforeRemove","_onInitializeAttributes","_onInitialize","_onPostInitialize","_onUpdate","_onPostUpdate","_callbacks","_callbackActive","has","get","on","off","fire","once","hasEvent"]);function ET(t,e){if(Df.legacy)return null;if(CT.has(t))throw new Error("Script name '"+t+"' is reserved, please rename the script");var i=function(t){P.prototype.initEventHandler.call(this),AT.prototype.initScriptType.call(this,t)};return(i.prototype=Object.create(AT.prototype)).constructor=i,i.extend=AT.extend,i.attributes=new ax(i),PT(i,t,e),i}var MT={};function PT(t,e,i){if(!t.legacy){if("function"!=typeof t)throw new Error("script class: '"+t+"' must be a constructor function (i.e. class).");if(!(t.prototype instanceof AT))throw new Error("script class: '"+AT.__getScriptName(t)+"' does not extend pc.ScriptType.");if(e=e||t.__name||AT.__getScriptName(t),CT.has(e))throw new Error("script name: '"+e+"' is reserved, please change script name");t.__name=e,(i?i.scripts:yp.getApplication().scripts).add(t),Rf.push(t,t.legacy)}}ax.reservedNames.forEach((function(t,e,i){MT[t]=1})),ET.reservedAttributes=MT;var RT={write:function(t){console.log(t)},open:function(){RT.write("Powered by PlayCanvas "+c+" "+u)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){RT.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&RT.write("ASSERT: "+e)}};rt.endsWith=function(t,e){return t.endsWith(e)},rt.startsWith=function(t,e){return t.startsWith(e)};var IT=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=dt()},e.stop=function(){this._isRunning=!1,this._b=dt()},e.getMilliseconds=function(){return this._b-this._a},t}(),LT={now:dt,Timer:IT};Object.defineProperty(gt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(gt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),_t.INV_LOG2=Math.LOG2E,_t.intToBytes=_t.intToBytes32,_t.bytesToInt=_t.bytesToInt32,Object.defineProperty(It.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),It.prototype.scale=It.prototype.mulScalar,Object.defineProperty(Et.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),Et.prototype.scale=Et.prototype.mulScalar,Object.defineProperty(Dt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Dt.prototype.scale=Dt.prototype.mulScalar;var DT={Aabb:jt,Sphere:Zt,Plane:se};Zt.prototype.intersectRay=Zt.prototype.intersectsRay,Qt.prototype.update=function(t,e){var i=new zt;i.mul2(t,e),this.setFromMat4(i)};var OT=yi;function kT(t){this.name="UnsupportedBrowserError",this.message=t||""}function FT(t){this.name="ContextCreationError",this.message=t||""}kT.prototype=Error.prototype,FT.prototype=Error.prototype;var BT={begin:Eo.begin,dummyFragmentCode:hr.dummyFragmentCode,end:Eo.end,fogCode:Eo.fogCode,gammaCode:Eo.gammaCode,precisionCode:hr.precisionCode,skinCode:Eo.skinCode,tonemapCode:Eo.tonemapCode,versionCode:hr.versionCode},UT={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:he,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:yi,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:Ce,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:Ee,SEMANTIC_NORMAL:Me,SEMANTIC_COLOR:Le,SEMANTIC_TEXCOORD:De,SEMANTIC_TEXCOORD0:Oe,SEMANTIC_TEXCOORD1:ke,SEMANTIC_ATTR0:He,SEMANTIC_ATTR1:We,SEMANTIC_ATTR2:Xe,SEMANTIC_ATTR3:qe,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Uo,programlib:BT,shaderChunks:wo,ContextCreationError:FT,Device:on,IndexBuffer:Tr,ProgramLibrary:bf,RenderTarget:ln,ScopeId:ji,Shader:vs,ShaderInput:Gs,Texture:Us,UnsupportedBrowserError:kT,VertexBuffer:Zi,VertexFormat:sn,VertexIterator:Gr},NT=new Dt;function zT(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=NT.set(s.x*a,s.y*o,s.z*a,s.w*o)}Uo(t,e,n,r)}var VT={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:zT,PostEffect:gf,PostEffectQueue:qy};Object.defineProperty(wo,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+wo.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(wo,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(ln.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(sn,"defaultInstancingFormat",{get:function(){return sn.getDefaultInstancingFormat(Ja.get())}}),Object.defineProperties(Us.prototype,{rgbm:{get:function(){return this.type===ai},set:function(t){this.type=t?ai:ri}},swizzleGGGR:{get:function(){return this.type===li},set:function(t){this.type=t?li:ri}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(on.prototype,"webgl2",{get:function(){return this.isWebGL2}}),on.prototype.getProgramLibrary=function(){return Ao(this)},on.prototype.setProgramLibrary=function(t){Co(this,t)},on.prototype.removeShaderFromCache=function(t){Ao(this).removeFromCache(t)},Gi.DEFAULT=Object.freeze(new Gi);var GT=new Gi,HT=new Hi;on.prototype.setBlendFunction=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(i.colorOp,t,e),GT.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(GT)},on.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorBlend(s.colorOp,t,e),GT.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(GT)},on.prototype.setBlendEquation=function(t){var e=this.blendState;GT.copy(e),GT.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),GT.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(GT)},on.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),GT.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(GT)},on.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorWrite(t,e,i,n),this.setBlendState(GT)},on.prototype.getBlending=function(){return this.blendState.blend},on.prototype.setBlending=function(t){GT.copy(this.blendState),GT.blend=t,this.setBlendState(GT)},on.prototype.setDepthWrite=function(t){HT.copy(this.depthState),HT.write=t,this.setDepthState(HT)},on.prototype.setDepthFunc=function(t){HT.copy(this.depthState),HT.func=t,this.setDepthState(HT)},on.prototype.setDepthTest=function(t){HT.copy(this.depthState),HT.test=t,this.setDepthState(HT)},on.prototype.getCullMode=function(){return this.cullMode};var WT=vu,XT=Qh,qT={partitionSkin:JS,procedural:{calculateTangents:ho,createMesh:lo,createTorus:co,createCylinder:fo,createCapsule:po,createCone:mo,createSphere:_o,createPlane:go,createBox:vo},BasicMaterial:Ko,ForwardRenderer:Ru,GraphNode:_h,Material:Yo,Mesh:no,MeshInstance:Eh,Model:$u,ParticleEmitter:Kd,PhongMaterial:vu,Picker:Hw,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:rf,Skin:af,SkinInstance:Jo};function jT(t,e){Object.defineProperty(vu.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function YT(t,e){"pass"!==t&&Object.defineProperty(tu.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(rf.prototype,"defaultMaterial",{get:function(){return Xo(Mf().graphicsDevice)}}),Object.defineProperty(zu.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(rf.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(rf.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(rf.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(Bu.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyComposition=!0},get:function(){return this._renderTarget}}),rf.prototype._updateSkybox=function(t){this._updateSky(t)},rf.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},rf.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},rf.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},rf.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},rf.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},rf.prototype.getModels=function(t){return this.models},Object.defineProperty(Zo.prototype,"model",{get:function(){return null}}),Ru.prototype.renderComposition=function(t){Mf().renderComposition(t)},Eh.prototype.syncAabb=function(){},Ju.prototype.getTarget=function(t){return this.targets[t]},_h.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},_h.prototype.addLabel=function(t){this._labels[t]=!0},_h.prototype.getLabels=function(){return Object.keys(this._labels)},_h.prototype.hasLabel=function(t){return!!this._labels[t]},_h.prototype.removeLabel=function(t){delete this._labels[t]},_h.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))}()}))},t.createMesh=lo,t.createPlane=go,t.createScript=ET,t.createShader=Mo,t.createShaderFromCode=Po,t.createSphere=_o,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=co,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?bx=t:Ex(t)},t.drawFullscreenQuad=zT,t.drawQuadWithShader=Uo,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Uo(t,i,n,s,r)},t.events=R,t.extend=p,t.getPixelFormatArrayType=Ae,t.getReservedScriptNames=function(){return CT},t.getTouchTargetCoords=Sa,t.gfx=UT,t.guid=I,t.http=Ca,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=tA,t.isCompressedPixelFormat=Te,t.log=RT,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=_t,t.now=dt,t.path=L,t.pixelFormatInfo=we,t.platform=G,t.posteffect=VT,t.prefilterCubemap=function(t){},t.programlib=BT,t.registerScript=PT,t.reprojectTexture=Qc,t.revision=u,t.scene=qT,t.script=Df,t.semanticToLocation=Oi,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=Po(t,wo.fullscreenQuadVS,wo.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1}),c=new ln({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(Gi.NOBLEND),Uo(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p Date: Thu, 27 Feb 2025 13:40:00 +0900 Subject: [PATCH 7/8] gem quest init --- GemQuest/1904849.json | 1 + GemQuest/__game-scripts.js | 1 + GemQuest/__loading__.js | 112 ++++++ GemQuest/__modules__.js | 47 +++ GemQuest/__settings__.js | 22 ++ GemQuest/__start__.js | 332 ++++++++++++++++++ GemQuest/files/assets/158483931/1/Asset_3.png | Bin 0 -> 5300 bytes GemQuest/files/assets/158483964/1/Asset_2.png | Bin 0 -> 5224 bytes .../assets/214407930/1/GQ_BetButton_off.png | Bin 0 -> 3485 bytes .../files/assets/214407934/1/GQ_Gem_P.png | Bin 0 -> 18062 bytes .../assets/214407935/1/UI_gem_twinkle.png | Bin 0 -> 2961 bytes .../files/assets/214407936/1/GQ_Gem_G.png | Bin 0 -> 16414 bytes .../files/assets/214407939/1/GQ_Gem_B.png | Bin 0 -> 17556 bytes .../files/assets/214407940/1/GQ_Gem_R.png | Bin 0 -> 16431 bytes .../files/assets/214407941/1/GQ_Gem_Y.png | Bin 0 -> 14596 bytes .../assets/214407943/1/GQ_speaker_off.png | Bin 0 -> 4391 bytes .../assets/214407944/1/GQ_BetButton_On.png | Bin 0 -> 4728 bytes .../assets/214407945/1/GQ_Gem_shadow.png | Bin 0 -> 3048 bytes .../assets/214407946/1/GQ_speaker_On.png | Bin 0 -> 4765 bytes GemQuest/files/assets/214407949/1/GQ_back.png | Bin 0 -> 632928 bytes .../assets/214410990/1/GQ_Screen_pros.png | Bin 0 -> 53887 bytes .../assets/214410991/1/GQ_Screen_frame.png | Bin 0 -> 116532 bytes .../assets/214542950/1/GQ_StartButton_On.png | Bin 0 -> 6142 bytes .../assets/214542951/1/GQ_StartButton_off.png | Bin 0 -> 4465 bytes .../files/assets/214543430/1/GQ_Gem_O.png | Bin 0 -> 7499 bytes .../files/assets/214574678/1/Lora-Bold.png | Bin 0 -> 111825 bytes GemQuest/files/assets/214705391/1/s1.wav | Bin 0 -> 44128 bytes GemQuest/files/assets/214705392/1/s4.wav | Bin 0 -> 39368 bytes GemQuest/files/assets/214705393/1/win.wav | Bin 0 -> 143660 bytes GemQuest/files/assets/214705394/1/s2.wav | Bin 0 -> 43968 bytes GemQuest/files/assets/214705395/1/s5.wav | Bin 0 -> 33728 bytes GemQuest/files/assets/214705396/1/s3.wav | Bin 0 -> 38768 bytes GemQuest/files/assets/214814960/1/click.wav | Bin 0 -> 35116 bytes .../files/assets/214816356/1/GQ_Gem_V.png | Bin 0 -> 8220 bytes GemQuest/files/assets/214840339/1/lose2.wav | Bin 0 -> 244208 bytes .../assets/214840801/1/betcart_cancel.png | Bin 0 -> 4864 bytes .../files/assets/214840802/1/betcart_ok.png | Bin 0 -> 4146 bytes .../assets/214840803/1/betcart_clear.png | Bin 0 -> 5050 bytes .../assets/214840804/1/betcart_money.png | Bin 0 -> 2688 bytes .../files/assets/214840805/1/betcart_back.png | Bin 0 -> 64828 bytes .../files/assets/214864107/1/basis.wasm.wasm | Bin 0 -> 611602 bytes GemQuest/files/assets/214864108/1/basis.js | 196 +++++++++++ .../files/assets/214864109/1/basis.wasm.js | 19 + GemQuest/index.html | 18 + GemQuest/logo.png | Bin 0 -> 2599 bytes GemQuest/manifest.json | 1 + GemQuest/playcanvas-stable.min.js | 9 + GemQuest/styles.css | 43 +++ 48 files changed, 801 insertions(+) create mode 100644 GemQuest/1904849.json create mode 100644 GemQuest/__game-scripts.js create mode 100644 GemQuest/__loading__.js create mode 100644 GemQuest/__modules__.js create mode 100644 GemQuest/__settings__.js create mode 100644 GemQuest/__start__.js create mode 100644 GemQuest/files/assets/158483931/1/Asset_3.png create mode 100644 GemQuest/files/assets/158483964/1/Asset_2.png create mode 100644 GemQuest/files/assets/214407930/1/GQ_BetButton_off.png create mode 100644 GemQuest/files/assets/214407934/1/GQ_Gem_P.png create mode 100644 GemQuest/files/assets/214407935/1/UI_gem_twinkle.png create mode 100644 GemQuest/files/assets/214407936/1/GQ_Gem_G.png create mode 100644 GemQuest/files/assets/214407939/1/GQ_Gem_B.png create mode 100644 GemQuest/files/assets/214407940/1/GQ_Gem_R.png create mode 100644 GemQuest/files/assets/214407941/1/GQ_Gem_Y.png create mode 100644 GemQuest/files/assets/214407943/1/GQ_speaker_off.png create mode 100644 GemQuest/files/assets/214407944/1/GQ_BetButton_On.png create mode 100644 GemQuest/files/assets/214407945/1/GQ_Gem_shadow.png create mode 100644 GemQuest/files/assets/214407946/1/GQ_speaker_On.png create mode 100644 GemQuest/files/assets/214407949/1/GQ_back.png create mode 100644 GemQuest/files/assets/214410990/1/GQ_Screen_pros.png create mode 100644 GemQuest/files/assets/214410991/1/GQ_Screen_frame.png create mode 100644 GemQuest/files/assets/214542950/1/GQ_StartButton_On.png create mode 100644 GemQuest/files/assets/214542951/1/GQ_StartButton_off.png create mode 100644 GemQuest/files/assets/214543430/1/GQ_Gem_O.png create mode 100644 GemQuest/files/assets/214574678/1/Lora-Bold.png create mode 100644 GemQuest/files/assets/214705391/1/s1.wav create mode 100644 GemQuest/files/assets/214705392/1/s4.wav create mode 100644 GemQuest/files/assets/214705393/1/win.wav create mode 100644 GemQuest/files/assets/214705394/1/s2.wav create mode 100644 GemQuest/files/assets/214705395/1/s5.wav create mode 100644 GemQuest/files/assets/214705396/1/s3.wav create mode 100644 GemQuest/files/assets/214814960/1/click.wav create mode 100644 GemQuest/files/assets/214816356/1/GQ_Gem_V.png create mode 100644 GemQuest/files/assets/214840339/1/lose2.wav create mode 100644 GemQuest/files/assets/214840801/1/betcart_cancel.png create mode 100644 GemQuest/files/assets/214840802/1/betcart_ok.png create mode 100644 GemQuest/files/assets/214840803/1/betcart_clear.png create mode 100644 GemQuest/files/assets/214840804/1/betcart_money.png create mode 100644 GemQuest/files/assets/214840805/1/betcart_back.png create mode 100644 GemQuest/files/assets/214864107/1/basis.wasm.wasm create mode 100644 GemQuest/files/assets/214864108/1/basis.js create mode 100644 GemQuest/files/assets/214864109/1/basis.wasm.js create mode 100644 GemQuest/index.html create mode 100644 GemQuest/logo.png create mode 100644 GemQuest/manifest.json create mode 100644 GemQuest/playcanvas-stable.min.js create mode 100644 GemQuest/styles.css diff --git a/GemQuest/1904849.json b/GemQuest/1904849.json new file mode 100644 index 0000000..562118e --- /dev/null +++ b/GemQuest/1904849.json @@ -0,0 +1 @@ +{"branch_id":"fa201fb2-9558-40a9-9aae-93e54c6576ef","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true,"skyType":"infinite","skyMeshPosition":[0,0,0],"skyMeshRotation":[0,0,0],"skyMeshScale":[1,1,1],"skyCenter":[0,1,0]}},"entities":{"!#%":{"!":"Light","#":"! G","$":"!#%","%":{"!8":{"!9":true,"!:":false,"!;":11,"!<":2,"!=":0.05,"+":[1,1,1],"!>":0,"!?":1,"!@":45,"!A":1,"!B":true,"!C":1,"!D":true,"!E":0,"!F":false,"!G":"rgb","!H":40,"!I":0.2,"!J":false,"!K":0,"!L":null,"!M":0.01,"*":[0],"!N":1,"!O":0.5,"!P":[0,0],"!Q":1024,"!R":[1,1]," ":true,"!S":0,"!T":8,"!U":1,"!V":16,",":"directional","!W":true,"!X":0}},"&":[]," ":true,"'":[],"___1":[48,51,3]},"! G":{"!":"Root","#":null,"$":"! G","%":{},"&":[]," ":true,"'":["!#&","!#%","! #","! H"],"___2":0},"!#&":{"!":"Camera","#":"! G","$":"!#&","%":{"!Y":{"!Z":0,"![":1000,"!]":true,"*":[0,1,2,3,4],"!^":0,"!_":45,"!`":true,"!a":true,"!b":[0.118,0.118,0.118,1]," ":true,"!c":4,"!d":0.1,"-":[0,0,1,1],"!e":0,"!f":1}},"&":[]," ":true,"'":[],"___1":[54,57,3]},"! #":{"!":"2D Screen","&":[]," ":true,"$":"! #","#":"! G","'":["!#'","!#(","!!&","! 0","! 1","!!g"],"%":{"!g":{" ":true,"!h":true,"!i":"blend","!j":0.5,"!k":[1280,720],"!l":[1000,1600]}},"___2":0},"!#'":{"!":"BakcgourndCover","&":[]," ":false,"$":"!#'","#":"! #","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":1600,"C":[-500,-800,-500,-800],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!&":{"!":"Top","&":[]," ":true,"$":"!!&","#":"! #","'":["!!h","!!i"],"%":{".":{"0":[0.5,1],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,1,0.5,1],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":250,"C":[-500,-250,-500,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["userBalance"],"S":{"!m":{" ":true,"P":{"!n":"!!i","!o":"!!h"}}}}},"___2":0},"!!h":{"!":"UserName","&":[]," ":false,"$":"!!h","#":"!!&","'":[],"%":{".":{"0":[1,1],"1":"UserName","2":null,"3":158042738,"4":60,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,1,1,1],":":60,";":true,"(":1,"+":[1,0,0],"<":1,"=":null,">":null,"?":0,"@":null,"A":315,"B":67.44,"C":[-803.943,-102.58,475.143,35],")":[0.5,0.5],"D":[0,0,0,1],"E":0.4,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[60,0,3]},"!!i":{"!":"Balance","&":[]," ":true,"$":"!!i","#":"!!&","'":[],"%":{".":{"0":[0.5,0.5],"1":"100","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":45,";":true,"(":1,"+":[0.96471,0.89804,0.47843],"<":1,"=":null,">":null,"?":0,"@":null,"A":67.12,"B":44.32,"C":[-41.95,-15.7,-41.95,-39.7],")":[1,0.5],"D":[0,0,0,1],"E":0.4,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[63,0,3]},"! 0":{"!":"Middle","&":[]," ":true,"$":"! 0","#":"! #","'":["! 2","!!'","!!j","!!k"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":1600,"C":[-500,-708.649,-500,-891.351],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["middle","gemController"],"S":{"!p":{" ":true,"P":{"!q":null,"!r":[]}},"!s":{" ":true,"P":{"U":[214407939,214407936,214407934,214407940,214407941,214543430,214816356],"!t":["! 3","! 4","! 5","! 6","! 7"]}}}}},"___1":[66,0,3]},"! 1":{"!":"Bottom","&":[]," ":true,"$":"! 1","#":"! #","'":["!!l","!!(","!!)","!!m"],"%":{".":{"0":[0.5,0],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":400,"C":[-500,0,-500,-400],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bottom"],"S":{"!u":{" ":true,"P":{"!v":"!!*","!w":"! 8","!x":"!!+","!-":"! ","!y":"!!n","!.":"! I","!z":"!!,","!/":"!!o","!{":"!!p","!|":214542950,"!}":214542951,"!~":214407944,"# ":214407930}}}}},"___2":0},"!!l":{"!":"Idle","&":[]," ":true,"$":"!!l","#":"! 1","'":["!!*"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":400,"C":[-500,-200,-500,-200],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!(":{"!":"InGame","&":[]," ":true,"$":"!!(","#":"! 1","'":["!!o","!!,"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":400,"C":[-500,-200,-500,-200],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!)":{"!":"Result","&":[]," ":true,"$":"!!)","#":"! 1","'":["! 8","!!+"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":400,"C":[-500,-200,-500,-200],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!*":{"!":"StartButton","&":[]," ":true,"$":"!!*","#":"!!l","'":[],"%":{"W":{" ":true,"X":true,"Y":"!!*","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[0.78431,0.78431,0.78431,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214542950,">":null,"?":0,"@":null,"A":239,"B":67,"C":[-119,-126.5,-120,59.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[69,0,3]},"! H":{"!":"Controller","&":[]," ":true,"$":"! H","#":"! G","'":["!#)","!#*","!!-"],"%":{},"___2":0},"!#)":{"!":"DummyServer","&":[]," ":true,"$":"!#)","#":"! H","'":[],"%":{"Q":{" ":true,"R":["dummyServer"],"S":{"#!":{" ":true,"P":{}}}}},"___2":0},"!#*":{"!":"GameController","&":[]," ":true,"$":"!#*","#":"! H","'":[],"%":{"Q":{" ":true,"R":["gameController"],"S":{"##":{" ":true,"P":{}}}}},"___2":0},"! 8":{"!":"Win","&":[]," ":false,"$":"! 8","#":"!!)","'":["!#+","!!p","!!n"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.7,"=":null,">":null,"?":0,"@":null,"A":1000,"B":500,"C":[-500,450,-500,-950],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[39,0,3]},"!#+":{"!":"Text","&":[]," ":true,"$":"!#+","#":"! 8","'":[],"%":{".":{"0":[0.5,0.5],"1":"WIN","2":null,"3":214574678,"4":180,"5":8,"6":150,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":180,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":652.8,"B":332.4,"C":[-326.4,-76.306,-326.4,-256.094],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[72,0,3]},"!!+":{"!":"Lose","&":[]," ":false,"$":"!!+","#":"!!)","'":["!#,"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.7,"=":null,">":null,"?":0,"@":null,"A":1000,"B":500,"C":[-500,450,-500,-950],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[39,0,3]},"!#,":{"!":"Text","&":[]," ":true,"$":"!#,","#":"!!+","'":[],"%":{".":{"0":[0.5,0.5],"1":"Lose","2":null,"3":214574678,"4":180,"5":8,"6":150,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":180,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":657.9,"B":332.4,"C":[-328.95,-166.2,-328.95,-166.2],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!-":{"!":"AudioController","&":[]," ":true,"$":"!!-","#":"! H","'":["!#-","!!q"],"%":{"Q":{" ":true,"R":["audioController"],"S":{"#$":{" ":true,"P":{"#%":"!!q"}}}}},"___2":0},"!#-":{"!":"Audio Listener","&":[]," ":true,"$":"!#-","#":"!!-","'":[],"%":{"#&":{" ":true}},"___2":0},"!!q":{"!":"Sound","&":[]," ":true,"$":"!!q","#":"!!-","'":[],"%":{"#'":{" ":true,"u":1,"v":1,"#(":true,"#)":1,"#*":10000,"#+":1,"#,":"linear","#-":{"!0":{"!":"Click","w":false,"x":false,"y":false,"z":214814960,"{":0,"V":null,"u":1,"v":1},"!1":{"!":"Lose","w":false,"x":false,"y":false,"z":214840339,"{":0,"V":null,"u":1,"v":1},"!2":{"!":"Win","w":false,"x":false,"y":false,"z":214705393,"{":0,"V":null,"u":1,"v":1},"!3":{"!":"s1","w":false,"x":false,"y":false,"z":214705391,"{":0,"V":null,"u":1,"v":1},"!4":{"!":"s2","w":false,"x":false,"y":false,"z":214705394,"{":0,"V":null,"u":1,"v":1},"!5":{"!":"s3","w":false,"x":false,"y":false,"z":214705396,"{":0,"V":null,"u":1,"v":1},"!6":{"!":"s4","w":false,"x":false,"y":false,"z":214705392,"{":0,"V":null,"u":1,"v":1},"!7":{"!":"s5","w":false,"x":false,"y":false,"z":214705395,"{":0,"V":null,"u":1,"v":1}}}},"___2":0},"!!g":{"!":"SoundButton","&":[]," ":true,"$":"!!g","#":"! #","'":["! J"],"%":{".":{"0":[0,1],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,1,0,1],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":120,"B":120,"C":[20,-140,-140,20],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[75,0,3]},"! J":{"!":"Button","&":[]," ":true,"$":"! J","#":"!!g","'":["!#.","!#/"],"%":{"W":{" ":true,"X":true,"Y":"! J","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214407943,">":null,"?":0,"@":null,"A":79,"B":69,"C":[-42.635,-28.231,-36.365,-40.769],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["soundButton"],"S":{"#.":{" ":true,"P":{"#/":214407946,"#0":214407943}}}}},"___1":[78,0,3]},"!#.":{"!":"On","&":[]," ":false,"$":"!#.","#":"! J","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407946,">":null,"?":0,"@":null,"A":79,"B":69,"C":[-39.5,-34.5,-39.5,-34.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!#/":{"!":"Off","&":[]," ":false,"$":"!#/","#":"! J","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407943,">":null,"?":0,"@":null,"A":79,"B":69,"C":[-39.5,-34.5,-39.5,-34.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!m":{"!":"BetController","&":[]," ":true,"$":"!!m","#":"! 1","'":["! "],"%":{".":{"0":[0.5,0],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":600,"C":[-500,0,-500,-600],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["betController"],"S":{"#1":{" ":true,"P":{"#2":["! K","! L","! M","! N","! O","! P"],"#3":"!!.","#4":"!!/","!.":"! I","!/":"!!r","#5":"!!s","!-":"! "}}}}},"___2":0},"! ":{"!":"BackGround","&":[]," ":false,"$":"! ","#":"!!m","'":["! K","! L","! M","! N","! O","! P","!!/","!!.","!!r","! I","!!s"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214840805,">":null,"?":0,"@":null,"A":930,"B":641,"C":[-465,-268.5,-465,-372.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[81,0,3]},"! K":{"!":"Button","&":[]," ":true,"$":"! K","#":"! ","'":["!#0"],"%":{"W":{" ":true,"X":true,"Y":"! K","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[-412.5,121.5,171.5,-188.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":1}}}}},"___1":[84,0,3]},"!#0":{"!":"Text","&":[]," ":true,"$":"!#0","#":"! K","'":[],"%":{".":{"0":[0.5,0.5],"1":"Text","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[87,0,3]},"! L":{"!":"Button","&":[]," ":true,"$":"! L","#":"! ","'":["!#1"],"%":{"W":{" ":true,"X":true,"Y":"! L","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[-117.5,121.5,-123.5,-188.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":10}}}}},"___1":[90,0,3]},"!#1":{"!":"Text","&":[]," ":true,"$":"!#1","#":"! L","'":[],"%":{".":{"0":[0.5,0.5],"1":"Text","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[42,0,3]},"! M":{"!":"Button","&":[]," ":true,"$":"! M","#":"! ","'":["!#2"],"%":{"W":{" ":true,"X":true,"Y":"! M","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[177.5,121.5,-418.5,-188.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":100}}}}},"___1":[93,0,3]},"!#2":{"!":"Text","&":[]," ":true,"$":"!#2","#":"! M","'":[],"%":{".":{"0":[0.5,0.5],"1":"Text","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[42,0,3]},"! N":{"!":"Button","&":[]," ":true,"$":"! N","#":"! ","'":["!#3"],"%":{"W":{" ":true,"X":true,"Y":"! N","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[-412.5,8.5,171.5,-75.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":1000}}}}},"___1":[96,0,3]},"!#3":{"!":"Text","&":[]," ":true,"$":"!#3","#":"! N","'":[],"%":{".":{"0":[0.5,0.5],"1":"Text","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[99,0,3]},"! O":{"!":"Button","&":[]," ":true,"$":"! O","#":"! ","'":["!#4"],"%":{"W":{" ":true,"X":true,"Y":"! O","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[-117.5,8.5,-123.5,-75.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":10000}}}}},"___1":[102,0,3]},"!#4":{"!":"Text","&":[]," ":true,"$":"!#4","#":"! O","'":[],"%":{".":{"0":[0.5,0.5],"1":"Text","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[45,0,3]},"! P":{"!":"Button","&":[]," ":true,"$":"! P","#":"! ","'":["!#5"],"%":{"W":{" ":true,"X":true,"Y":"! P","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840804,">":null,"?":0,"@":null,"A":241,"B":67,"C":[177.5,8.5,-418.5,-75.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["numButton"],"S":{"!#":{" ":true,"P":{"!$":100000}}}}},"___1":[105,0,3]},"!#5":{"!":"Text","&":[]," ":true,"$":"!#5","#":"! P","'":[],"%":{".":{"0":[0.5,0.5],"1":"+100,000","2":null,"3":214574678,"4":40,"5":8,"6":80,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":40,";":true,"(":1,"+":[0.79216,0.79216,0.79216],"<":1,"=":null,">":null,"?":0,"@":null,"A":200,"B":32,"C":[-100,-15.436,-100,-16.564],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[45,0,3]},"!!/":{"!":"CancelButton","&":[]," ":true,"$":"!!/","#":"! ","'":[],"%":{"W":{" ":true,"X":true,"Y":"!!/","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840801,">":null,"?":0,"@":null,"A":283,"B":67,"C":[21.5,-251.5,-304.5,184.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[108,0,3]},"!!.":{"!":"OkButton","&":[]," ":true,"$":"!!.","#":"! ","'":[],"%":{"W":{" ":true,"X":true,"Y":"!!.","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840802,">":null,"?":0,"@":null,"A":283,"B":67,"C":[-302.5,-251.5,19.5,184.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[111,0,3]},"!!p":{"!":"Multiplier","&":[]," ":true,"$":"!!p","#":"! 8","'":[],"%":{".":{"0":[0.5,0.5],"1":"1.5x","2":null,"3":214574678,"4":100,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":100,";":true,"(":1,"+":[0.2902,1,0],"<":1,"=":null,">":null,"?":0,"@":null,"A":207.24,"B":132.96,"C":[-86.35,-80.875,-86.35,-29.925],")":[0.5,0.5],"D":[0,0,0,1],"E":0.42,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[114,0,3]},"!#(":{"!":"BakcgourndCover","&":[]," ":true,"$":"!#(","#":"! #","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407949,">":null,"?":0,"@":null,"A":1000,"B":1600,"C":[-500,-800,-500,-800],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! I":{"!":"ClearButton","&":[]," ":true,"$":"! I","#":"! ","'":[],"%":{"W":{" ":true,"X":true,"Y":"! I","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[1,1,1,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":null,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214840803,">":null,"?":0,"@":null,"A":241,"B":68,"C":[178.5,-121,-419.5,53],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[117,0,3]},"!!r":{"!":"BetAmount","&":[]," ":true,"$":"!!r","#":"! ","'":[],"%":{".":{"0":[1,0.5],"1":"0","2":null,"3":214574678,"4":60,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":60,";":true,"(":1,"+":[1,0.85098,0],"<":1,"=":null,">":null,"?":0,"@":null,"A":38.16,"B":52,"C":[-392.933,-125.308,354.773,58.828],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[120,0,3]},"!!s":{"!":"errorText","&":[]," ":true,"$":"!!s","#":"! ","'":[],"%":{".":{"0":[0.5,0.5],"1":"Not enough balance.","2":null,"3":214574678,"4":70,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":70,";":true,"(":1,"+":[1,0,0],"<":1,"=":null,">":null,"?":0,"@":null,"A":700,"B":65,"C":[0,245,0,-245],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[123,0,3]},"!!o":{"!":"BetAmount","&":[]," ":true,"$":"!!o","#":"!!(","'":[],"%":{".":{"0":[1,0.5],"1":"0","2":null,"3":214574678,"4":50,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":50,";":true,"(":1,"+":[0.96471,0.89804,0.47843],"<":1,"=":null,">":null,"?":0,"@":null,"A":25.44,"B":44.32,"C":[-411.8,5.3,380,-60.7],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[126,0,3]},"!!,":{"!":"Edit","&":[]," ":true,"$":"!!,","#":"!!(","'":[],"%":{"W":{" ":true,"X":true,"Y":"!!,","Z":[0,0,0,0],"[":0,"]":[1,1,1,1],"^":[1,1,1,1],"_":[0.78431,0.78431,0.78431,1],"`":0,"a":null,"b":0,"c":null,"d":0,"e":null,"f":0,"g":null,"h":null,"i":null},".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.78431,0.78431,0.78431],"<":1,"=":214407944,">":null,"?":0,"@":null,"A":146,"B":67,"C":[188,3.5,-334,-70.5],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":true,"M":null,"N":false,"*":[4],"O":false}},"___1":[129,0,3]},"!!n":{"!":"Profit","&":[]," ":true,"$":"!!n","#":"! 8","'":[],"%":{".":{"0":[0.5,0.5],"1":"+100","2":null,"3":214574678,"4":120,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[0.5,0.5,0.5,0.5],":":120,";":true,"(":1,"+":[1,0.8,0],"<":1,"=":null,">":null,"?":0,"@":null,"A":331.2,"B":166.2,"C":[-152.479,-203.394,-112.481,70.434],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[132,0,3]},"! 2":{"!":"Slot","&":[]," ":true,"$":"! 2","#":"! 0","'":["! 3","! 4","! 5","!#6"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":300,"C":[-490,-315.907,-510,15.907],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0.5,0.5],"p":[0,0,0,0],"(":[-20,0],"q":0,"r":0,"s":false}},"___1":[135,0,3]},"! 3":{"!":"Element","&":[]," ":true,"$":"! 3","#":"! 2","'":["!!0","! Q"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":400,"C":[344,-50,-644,-350],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["gem"],"S":{"!%":{" ":true,"P":{"U":"! $","t":"! R","!&":"! S","!'":"! Q"}}}}},"j":158051543,"k":{"! 3":"46c38d3e-39d1-4629-8150-d7d70bee70d5","!!0":"9c014850-8148-4911-b636-54fdf9288fa4","! R":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","! S":"ed258efe-c13a-4a3e-b913-9585b6881aee","! $":"5009eb83-b71c-46c2-8e49-4502c110876a","! Q":"68e7f2b0-4289-4b01-bdeb-7a6136f5e78a","!!t":"5cf7f83a-e047-4815-88d9-ca79c1b2de55","!!u":"f1ba2a4d-0157-4f81-b0ef-0be35d506234","!!v":"0cbd6603-13ea-4629-b251-b3b7cbb39631"},"___1":[138,0,24]},"! S":{"!":"Gem","&":[]," ":true,"$":"! S","#":"! Q","'":["! $"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[-16,-16,-16,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bounce"],"S":{"!(":{" ":true,"P":{"t":"! R"}}}}},"___2":0},"! $":{"!":"Back","&":[]," ":true,"$":"! $","#":"! S","'":["!!t","!!u","!!v"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407939,">":null,"?":0,"@":null,"A":348,"B":316,"C":[-174,-158,-174,-158],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"cover","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!0":{"!":"Bottom","&":[]," ":true,"$":"!!0","#":"! 3","'":["! R"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":158043149,">":null,"?":0,"@":null,"A":484,"B":202,"C":[-242,-101,-242,-101],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! R":{"!":"Shadow","&":[]," ":true,"$":"! R","#":"!!0","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407945,">":null,"?":0,"@":null,"A":294,"B":116,"C":[-147,-58,-147,-58],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! 4":{"!":"Element","&":[]," ":true,"$":"! 4","#":"! 2","'":["!!1","! T"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":400,"C":[344,-50,-644,-350],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["gem"],"S":{"!%":{" ":true,"P":{"U":"! %","t":"! U","!&":"! V","!'":"! T"}}}}},"j":158051543,"k":{"! 4":"46c38d3e-39d1-4629-8150-d7d70bee70d5","!!1":"9c014850-8148-4911-b636-54fdf9288fa4","! U":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","! V":"ed258efe-c13a-4a3e-b913-9585b6881aee","! %":"5009eb83-b71c-46c2-8e49-4502c110876a","! T":"68e7f2b0-4289-4b01-bdeb-7a6136f5e78a","!!w":"5cf7f83a-e047-4815-88d9-ca79c1b2de55","!!x":"f1ba2a4d-0157-4f81-b0ef-0be35d506234","!!y":"0cbd6603-13ea-4629-b251-b3b7cbb39631"},"___1":[141,0,24]},"!!1":{"!":"Bottom","&":[]," ":true,"$":"!!1","#":"! 4","'":["! U"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":158043149,">":null,"?":0,"@":null,"A":484,"B":202,"C":[-242,-101,-242,-101],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! U":{"!":"Shadow","&":[]," ":true,"$":"! U","#":"!!1","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407945,">":null,"?":0,"@":null,"A":294,"B":116,"C":[-147,-58,-147,-58],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! V":{"!":"Gem","&":[]," ":true,"$":"! V","#":"! T","'":["! %"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[-16,-16,-16,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bounce"],"S":{"!(":{" ":true,"P":{"t":"! U"}}}}},"___2":0},"! %":{"!":"Back","&":[]," ":true,"$":"! %","#":"! V","'":["!!w","!!x","!!y"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407939,">":null,"?":0,"@":null,"A":348,"B":316,"C":[-174,-158,-174,-158],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"cover","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! 5":{"!":"Element","&":[]," ":true,"$":"! 5","#":"! 2","'":["!!2","! W"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":400,"C":[624,-50,-924,-350],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["gem"],"S":{"!%":{" ":true,"P":{"U":"! &","t":"! X","!&":"! Y","!'":"! W"}}}}},"j":158051543,"k":{"! 5":"46c38d3e-39d1-4629-8150-d7d70bee70d5","!!2":"9c014850-8148-4911-b636-54fdf9288fa4","! X":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","! Y":"ed258efe-c13a-4a3e-b913-9585b6881aee","! &":"5009eb83-b71c-46c2-8e49-4502c110876a","! W":"68e7f2b0-4289-4b01-bdeb-7a6136f5e78a","!!z":"5cf7f83a-e047-4815-88d9-ca79c1b2de55","!!{":"f1ba2a4d-0157-4f81-b0ef-0be35d506234","!!|":"0cbd6603-13ea-4629-b251-b3b7cbb39631"},"___1":[144,0,24]},"!!2":{"!":"Bottom","&":[]," ":true,"$":"!!2","#":"! 5","'":["! X"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":158043149,">":null,"?":0,"@":null,"A":484,"B":202,"C":[-242,-101,-242,-101],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! X":{"!":"Shadow","&":[]," ":true,"$":"! X","#":"!!2","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407945,">":null,"?":0,"@":null,"A":294,"B":116,"C":[-147,-58,-147,-58],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! Y":{"!":"Gem","&":[]," ":true,"$":"! Y","#":"! W","'":["! &"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[-16,-16,-16,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bounce"],"S":{"!(":{" ":true,"P":{"t":"! X"}}}}},"___2":0},"! &":{"!":"Back","&":[]," ":true,"$":"! &","#":"! Y","'":["!!z","!!{","!!|"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407939,">":null,"?":0,"@":null,"A":348,"B":316,"C":[-174,-158,-174,-158],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"cover","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!'":{"!":"Slot","&":[]," ":true,"$":"!!'","#":"! 0","'":["! 6","! 7"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":1000,"B":300,"C":[-495.557,-542,-504.443,242],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0.5,0.5],"p":[0,0,0,0],"(":[-15,0],"q":0,"r":0,"s":false}},"___1":[147,0,3]},"! 6":{"!":"Element","&":[]," ":true,"$":"! 6","#":"!!'","'":["!!3","! Z"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":400,"C":[344,-50,-644,-350],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["gem"],"S":{"!%":{" ":true,"P":{"U":"! '","t":"! [","!&":"! ]","!'":"! Z"}}}}},"j":158051543,"k":{"! 6":"46c38d3e-39d1-4629-8150-d7d70bee70d5","!!3":"9c014850-8148-4911-b636-54fdf9288fa4","! [":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","! ]":"ed258efe-c13a-4a3e-b913-9585b6881aee","! '":"5009eb83-b71c-46c2-8e49-4502c110876a","! Z":"68e7f2b0-4289-4b01-bdeb-7a6136f5e78a","!!}":"5cf7f83a-e047-4815-88d9-ca79c1b2de55","!!~":"f1ba2a4d-0157-4f81-b0ef-0be35d506234","!# ":"0cbd6603-13ea-4629-b251-b3b7cbb39631"},"___1":[150,0,24]},"!!3":{"!":"Bottom","&":[]," ":true,"$":"!!3","#":"! 6","'":["! ["],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":158043149,">":null,"?":0,"@":null,"A":484,"B":202,"C":[-242,-101,-242,-101],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! [":{"!":"Shadow","&":[]," ":true,"$":"! [","#":"!!3","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407945,">":null,"?":0,"@":null,"A":294,"B":116,"C":[-147,-58,-147,-58],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! ]":{"!":"Gem","&":[]," ":true,"$":"! ]","#":"! Z","'":["! '"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[-16,-16,-16,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bounce"],"S":{"!(":{" ":true,"P":{"t":"! ["}}}}},"___2":0},"! '":{"!":"Back","&":[]," ":true,"$":"! '","#":"! ]","'":["!!}","!!~","!# "],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407939,">":null,"?":0,"@":null,"A":348,"B":316,"C":[-174,-158,-174,-158],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"cover","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! 7":{"!":"Element","&":[]," ":true,"$":"! 7","#":"!!'","'":["!!4","! ^"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":400,"C":[492.5,-50,-792.5,-350],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["gem"],"S":{"!%":{" ":true,"P":{"U":"! (","t":"! _","!&":"! `","!'":"! ^"}}}}},"j":158051543,"k":{"! 7":"46c38d3e-39d1-4629-8150-d7d70bee70d5","!!4":"9c014850-8148-4911-b636-54fdf9288fa4","! _":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","! `":"ed258efe-c13a-4a3e-b913-9585b6881aee","! (":"5009eb83-b71c-46c2-8e49-4502c110876a","! ^":"68e7f2b0-4289-4b01-bdeb-7a6136f5e78a","!#!":"5cf7f83a-e047-4815-88d9-ca79c1b2de55","!##":"f1ba2a4d-0157-4f81-b0ef-0be35d506234","!#$":"0cbd6603-13ea-4629-b251-b3b7cbb39631"},"___1":[153,0,24]},"!!4":{"!":"Bottom","&":[]," ":true,"$":"!!4","#":"! 7","'":["! _"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0,0.5,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":158043149,">":null,"?":0,"@":null,"A":484,"B":202,"C":[-242,-101,-242,-101],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! _":{"!":"Shadow","&":[]," ":true,"$":"! _","#":"!!4","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407945,">":null,"?":0,"@":null,"A":294,"B":116,"C":[-147,-58,-147,-58],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! `":{"!":"Gem","&":[]," ":true,"$":"! `","#":"! ^","'":["! ("],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[-16,-16,-16,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["bounce"],"S":{"!(":{" ":true,"P":{"t":"! _"}}}}},"___2":0},"! (":{"!":"Back","&":[]," ":true,"$":"! (","#":"! `","'":["!#!","!##","!#$"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407939,">":null,"?":0,"@":null,"A":348,"B":316,"C":[-174,-158,-174,-158],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"cover","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! !":{"!":"HandRanking","&":[]," ":true,"$":"! !","#":"!!j","'":["! 9","! :","! ;","! <","! =","! >","! ?"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":500,"B":420,"C":[-318.406,-179.964,-181.594,-240.036],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":1,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[0,6],"q":0,"r":0,"s":false},"Q":{" ":true,"R":["handRankingController"],"S":{"#6":{" ":true,"P":{"|":["! ?","! >","! =","! <","! ;","! :","! 9"]}}}}},"___1":[156,0,3]},"! 9":{"!":"HandRanking","&":[]," ":true,"$":"! 9","#":"! !","'":["! @","!!5"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!6","!!7","!!8","!!9","!!:"],"U":["! a","! b","! c","! d","! e"],"~":"! @","! ":"!!;","!!":"!!5"}}}}},"k":{"! 9":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! @":"ce17a95e-9203-461a-9489-bcc168463252","! )":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! a":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!;":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!6":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! b":"df02f698-fd5a-42e0-9e44-39d443455c50","!!7":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! c":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!8":"59a56431-62a2-4f01-a28c-ebd168de6515","! d":"fd010274-cbd5-4187-98ac-91954baeb83d","!!9":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! e":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!:":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!5":"820c557f-61c3-4bb5-b013-e45c036ae530"},"j":158484030,"___2":6},"! @":{"!":"Image","&":[]," ":true,"$":"! @","#":"! 9","'":["! )","!!;"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! :":{"!":"HandRanking","&":[]," ":true,"$":"! :","#":"! !","'":["! A","!!<"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!=","!!>","!!?","!!@","!!A"],"U":["! f","! g","! h","! i","! j"],"~":"! A","! ":"!!B","!!":"!!<"}}}}},"j":158484030,"k":{"! :":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! A":"ce17a95e-9203-461a-9489-bcc168463252","! *":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! f":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!B":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!=":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! g":"df02f698-fd5a-42e0-9e44-39d443455c50","!!>":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! h":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!?":"59a56431-62a2-4f01-a28c-ebd168de6515","! i":"fd010274-cbd5-4187-98ac-91954baeb83d","!!@":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! j":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!A":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!<":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! A":{"!":"Image","&":[]," ":true,"$":"! A","#":"! :","'":["! *","!!B"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! ;":{"!":"HandRanking","&":[]," ":true,"$":"! ;","#":"! !","'":["! B","!!C"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!D","!!E","!!F","!!G","!!H"],"U":["! k","! l","! m","! n","! o"],"~":"! B","! ":"!!I","!!":"!!C"}}}}},"j":158484030,"k":{"! ;":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! B":"ce17a95e-9203-461a-9489-bcc168463252","! +":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! k":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!I":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!D":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! l":"df02f698-fd5a-42e0-9e44-39d443455c50","!!E":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! m":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!F":"59a56431-62a2-4f01-a28c-ebd168de6515","! n":"fd010274-cbd5-4187-98ac-91954baeb83d","!!G":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! o":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!H":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!C":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! B":{"!":"Image","&":[]," ":true,"$":"! B","#":"! ;","'":["! +","!!I"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! <":{"!":"HandRanking","&":[]," ":true,"$":"! <","#":"! !","'":["! C","!!J"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!K","!!L","!!M","!!N","!!O"],"U":["! p","! q","! r","! s","! t"],"~":"! C","! ":"!!P","!!":"!!J"}}}}},"j":158484030,"k":{"! <":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! C":"ce17a95e-9203-461a-9489-bcc168463252","! ,":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! p":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!P":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!K":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! q":"df02f698-fd5a-42e0-9e44-39d443455c50","!!L":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! r":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!M":"59a56431-62a2-4f01-a28c-ebd168de6515","! s":"fd010274-cbd5-4187-98ac-91954baeb83d","!!N":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! t":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!O":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!J":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! C":{"!":"Image","&":[]," ":true,"$":"! C","#":"! <","'":["! ,","!!P"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! =":{"!":"HandRanking","&":[]," ":true,"$":"! =","#":"! !","'":["! D","!!Q"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!R","!!S","!!T","!!U","!!V"],"U":["! u","! v","! w","! x","! y"],"~":"! D","! ":"!!W","!!":"!!Q"}}}}},"j":158484030,"k":{"! =":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! D":"ce17a95e-9203-461a-9489-bcc168463252","! -":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! u":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!W":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!R":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! v":"df02f698-fd5a-42e0-9e44-39d443455c50","!!S":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! w":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!T":"59a56431-62a2-4f01-a28c-ebd168de6515","! x":"fd010274-cbd5-4187-98ac-91954baeb83d","!!U":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! y":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!V":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!Q":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! D":{"!":"Image","&":[]," ":true,"$":"! D","#":"! =","'":["! -","!!W"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! >":{"!":"HandRanking","&":[]," ":true,"$":"! >","#":"! !","'":["! E","!!X"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!Y","!!Z","!![","!!]","!!^"],"U":["! z","! {","! |","! }","! ~"],"~":"! E","! ":"!!_","!!":"!!X"}}}}},"j":158484030,"k":{"! >":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! E":"ce17a95e-9203-461a-9489-bcc168463252","! .":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","! z":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!_":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!Y":"b859c695-97fb-4cde-9595-7b7345f9bcf8","! {":"df02f698-fd5a-42e0-9e44-39d443455c50","!!Z":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","! |":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!![":"59a56431-62a2-4f01-a28c-ebd168de6515","! }":"fd010274-cbd5-4187-98ac-91954baeb83d","!!]":"b87e83c9-98c3-43ae-9542-9884db97dbe0","! ~":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!^":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!X":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! E":{"!":"Image","&":[]," ":true,"$":"! E","#":"! >","'":["! .","!!_"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"! ?":{"!":"HandRanking","&":[]," ":true,"$":"! ?","#":"! !","'":["! F","!!`"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[0,359,-630,-421],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["handRanking"],"S":{"|":{" ":true,"P":{"}":["!!a","!!b","!!c","!!d","!!e"],"U":["!! ","!!!","!!#","!!$","!!%"],"~":"! F","! ":"!!f","!!":"!!`"}}}}},"j":158484030,"k":{"! ?":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","! F":"ce17a95e-9203-461a-9489-bcc168463252","! /":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","!! ":"c523cddb-0df4-4ceb-a074-0915aa00fa47","!!f":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","!!a":"b859c695-97fb-4cde-9595-7b7345f9bcf8","!!!":"df02f698-fd5a-42e0-9e44-39d443455c50","!!b":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","!!#":"df495c59-d865-4dd6-902b-1d14f7ed40fd","!!c":"59a56431-62a2-4f01-a28c-ebd168de6515","!!$":"fd010274-cbd5-4187-98ac-91954baeb83d","!!d":"b87e83c9-98c3-43ae-9542-9884db97dbe0","!!%":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","!!e":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3","!!`":"820c557f-61c3-4bb5-b013-e45c036ae530"},"___2":6},"! F":{"!":"Image","&":[]," ":true,"$":"! F","#":"! ?","'":["! /","!!f"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,1,1],":":32,";":true,"(":1,"+":[0.71373,0.54902,0.36863],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[0,0,0,0],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":9},"!!j":{"!":"Image","&":[]," ":true,"$":"!!j","#":"! 0","'":["! !"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.59608,0.45098,0.28235],"<":1,"=":null,">":null,"?":0,"@":null,"A":650,"B":500,"C":[-325,-31.243,-325,-468.757],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[159,0,3]},"! )":{"!":"icon","&":[]," ":true,"$":"! )","#":"! @","'":["! a","! b","! c","! d","! e"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"!!;":{"!":"Text","&":[]," ":true,"$":"!!;","#":"! @","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! a":{"!":"Back","&":[]," ":true,"$":"! a","#":"! )","'":["!!6"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"! *":{"!":"icon","&":[]," ":true,"$":"! *","#":"! A","'":["! f","! g","! h","! i","! j"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"! f":{"!":"Back","&":[]," ":true,"$":"! f","#":"! *","'":["!!="],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!B":{"!":"Text","&":[]," ":true,"$":"!!B","#":"! A","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! +":{"!":"icon","&":[]," ":true,"$":"! +","#":"! B","'":["! k","! l","! m","! n","! o"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"! k":{"!":"Back","&":[]," ":true,"$":"! k","#":"! +","'":["!!D"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!I":{"!":"Text","&":[]," ":true,"$":"!!I","#":"! B","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! ,":{"!":"icon","&":[]," ":true,"$":"! ,","#":"! C","'":["! p","! q","! r","! s","! t"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"! p":{"!":"Back","&":[]," ":true,"$":"! p","#":"! ,","'":["!!K"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!P":{"!":"Text","&":[]," ":true,"$":"!!P","#":"! C","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! -":{"!":"icon","&":[]," ":true,"$":"! -","#":"! D","'":["! u","! v","! w","! x","! y"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"! u":{"!":"Back","&":[]," ":true,"$":"! u","#":"! -","'":["!!R"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!W":{"!":"Text","&":[]," ":true,"$":"!!W","#":"! D","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! .":{"!":"icon","&":[]," ":true,"$":"! .","#":"! E","'":["! z","! {","! |","! }","! ~"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"! z":{"!":"Back","&":[]," ":true,"$":"! z","#":"! .","'":["!!Y"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0.57647,0.57647,0.57647],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!_":{"!":"Text","&":[]," ":true,"$":"!!_","#":"! E","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"! /":{"!":"icon","&":[]," ":true,"$":"! /","#":"! F","'":["!! ","!!!","!!#","!!$","!!%"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":300,"B":32,"C":[-231.22,-16,-68.78,-16],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"l":{" ":true,"m":0,"n":false,"o":true,")":[0,1],"p":[0,0,0,0],"(":[30,0],"q":0,"r":0,"s":false}},"___2":12},"!! ":{"!":"Back","&":[]," ":true,"$":"!! ","#":"! /","'":["!!a"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[257.5,-3,-297.5,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":18},"!!f":{"!":"Text","&":[]," ":true,"$":"!!f","#":"! F","'":[],"%":{".":{"0":[1,0.5],"1":"50.00X","2":null,"3":214574678,"4":45,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"text","/":[1,0.5,1,0.5],":":45,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":150.66,"B":49.86,"C":[-180.778,-28.977,30.118,-20.883],")":[0.5,0.5],"D":[0.58824,0.44706,0.2902,1],"E":1,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":true,"J":true,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":15},"!!6":{"!":"Front","&":[]," ":true,"$":"!!6","#":"! a","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! b":{"!":"Back","&":[]," ":true,"$":"! b","#":"! )","'":["!!7"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!7":{"!":"Front","&":[]," ":true,"$":"!!7","#":"! b","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! c":{"!":"Back","&":[]," ":true,"$":"! c","#":"! )","'":["!!8"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!8":{"!":"Front","&":[]," ":true,"$":"!!8","#":"! c","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! d":{"!":"Back","&":[]," ":true,"$":"! d","#":"! )","'":["!!9"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!9":{"!":"Front","&":[]," ":true,"$":"!!9","#":"! d","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! e":{"!":"Back","&":[]," ":true,"$":"! e","#":"! )","'":["!!:"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!:":{"!":"Front","&":[]," ":true,"$":"!!:","#":"! e","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!=":{"!":"Front","&":[]," ":true,"$":"!!=","#":"! f","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! g":{"!":"Back","&":[]," ":true,"$":"! g","#":"! *","'":["!!>"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!>":{"!":"Front","&":[]," ":true,"$":"!!>","#":"! g","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! h":{"!":"Back","&":[]," ":true,"$":"! h","#":"! *","'":["!!?"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!?":{"!":"Front","&":[]," ":true,"$":"!!?","#":"! h","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! i":{"!":"Back","&":[]," ":true,"$":"! i","#":"! *","'":["!!@"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!@":{"!":"Front","&":[]," ":true,"$":"!!@","#":"! i","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! j":{"!":"Back","&":[]," ":true,"$":"! j","#":"! *","'":["!!A"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!A":{"!":"Front","&":[]," ":true,"$":"!!A","#":"! j","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!D":{"!":"Front","&":[]," ":true,"$":"!!D","#":"! k","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! l":{"!":"Back","&":[]," ":true,"$":"! l","#":"! +","'":["!!E"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!E":{"!":"Front","&":[]," ":true,"$":"!!E","#":"! l","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! m":{"!":"Back","&":[]," ":true,"$":"! m","#":"! +","'":["!!F"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!F":{"!":"Front","&":[]," ":true,"$":"!!F","#":"! m","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! n":{"!":"Back","&":[]," ":true,"$":"! n","#":"! +","'":["!!G"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!G":{"!":"Front","&":[]," ":true,"$":"!!G","#":"! n","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! o":{"!":"Back","&":[]," ":true,"$":"! o","#":"! +","'":["!!H"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!H":{"!":"Front","&":[]," ":true,"$":"!!H","#":"! o","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!K":{"!":"Front","&":[]," ":true,"$":"!!K","#":"! p","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! q":{"!":"Back","&":[]," ":true,"$":"! q","#":"! ,","'":["!!L"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!L":{"!":"Front","&":[]," ":true,"$":"!!L","#":"! q","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! r":{"!":"Back","&":[]," ":true,"$":"! r","#":"! ,","'":["!!M"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!M":{"!":"Front","&":[]," ":true,"$":"!!M","#":"! r","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! s":{"!":"Back","&":[]," ":true,"$":"! s","#":"! ,","'":["!!N"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!N":{"!":"Front","&":[]," ":true,"$":"!!N","#":"! s","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! t":{"!":"Back","&":[]," ":true,"$":"! t","#":"! ,","'":["!!O"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!O":{"!":"Front","&":[]," ":true,"$":"!!O","#":"! t","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!R":{"!":"Front","&":[]," ":true,"$":"!!R","#":"! u","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! v":{"!":"Back","&":[]," ":true,"$":"! v","#":"! -","'":["!!S"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!S":{"!":"Front","&":[]," ":true,"$":"!!S","#":"! v","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! w":{"!":"Back","&":[]," ":true,"$":"! w","#":"! -","'":["!!T"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!T":{"!":"Front","&":[]," ":true,"$":"!!T","#":"! w","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! x":{"!":"Back","&":[]," ":true,"$":"! x","#":"! -","'":["!!U"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!U":{"!":"Front","&":[]," ":true,"$":"!!U","#":"! x","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! y":{"!":"Back","&":[]," ":true,"$":"! y","#":"! -","'":["!!V"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!V":{"!":"Front","&":[]," ":true,"$":"!!V","#":"! y","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!Y":{"!":"Front","&":[]," ":true,"$":"!!Y","#":"! z","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! {":{"!":"Back","&":[]," ":true,"$":"! {","#":"! .","'":["!!Z"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0.57647,0.57647,0.57647],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!Z":{"!":"Front","&":[]," ":false,"$":"!!Z","#":"! {","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! |":{"!":"Back","&":[]," ":true,"$":"! |","#":"! .","'":["!!["],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!![":{"!":"Front","&":[]," ":false,"$":"!![","#":"! |","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! }":{"!":"Back","&":[]," ":true,"$":"! }","#":"! .","'":["!!]"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!]":{"!":"Front","&":[]," ":false,"$":"!!]","#":"! }","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! ~":{"!":"Back","&":[]," ":true,"$":"! ~","#":"! .","'":["!!^"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!^":{"!":"Front","&":[]," ":false,"$":"!!^","#":"! ~","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!a":{"!":"Front","&":[]," ":true,"$":"!!a","#":"!! ","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0.5451,0.21569,0.25098],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":44,"B":38,"C":[-22,-19,-22,-19],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!!":{"!":"Back","&":[]," ":true,"$":"!!!","#":"! /","'":["!!b"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!b":{"!":"Front","&":[]," ":true,"$":"!!b","#":"!!!","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!#":{"!":"Back","&":[]," ":true,"$":"!!#","#":"! /","'":["!!c"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!c":{"!":"Front","&":[]," ":true,"$":"!!c","#":"!!#","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!$":{"!":"Back","&":[]," ":true,"$":"!!$","#":"! /","'":["!!d"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!d":{"!":"Front","&":[]," ":true,"$":"!!d","#":"!!$","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!%":{"!":"Back","&":[]," ":true,"$":"!!%","#":"! /","'":["!!e"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[0,0,0],"<":1,"=":158483931,">":null,"?":0,"@":null,"A":40,"B":35,"C":[280,-3,-320,-32],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":3},"!!e":{"!":"Front","&":[]," ":true,"$":"!!e","#":"!!%","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,0.95686,0],"<":1,"=":158483964,">":null,"?":0,"@":null,"A":41,"B":36,"C":[-20.5,-18,-20.5,-18],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!#7":{"!":"Image","&":[]," ":true,"$":"!#7","#":"!!k","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214410990,">":null,"?":0,"@":null,"A":700,"B":335,"C":[-350,-38.203,-350,-296.797],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[162,0,3]},"!!k":{"!":"frame","&":[]," ":true,"$":"!!k","#":"! 0","'":["!#7"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214410991,">":null,"?":0,"@":null,"A":721,"B":586,"C":[-360.5,-68.892,-360.5,-517.108],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[165,0,3]},"!!`":{"!":"Image","&":[]," ":true,"$":"!!`","#":"! ?","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!5":{"!":"Image","&":[]," ":true,"$":"!!5","#":"! 9","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!<":{"!":"Image","&":[]," ":true,"$":"!!<","#":"! :","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!C":{"!":"Image","&":[]," ":true,"$":"!!C","#":"! ;","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!J":{"!":"Image","&":[]," ":true,"$":"!!J","#":"! <","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!Q":{"!":"Image","&":[]," ":true,"$":"!!Q","#":"! =","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"!!X":{"!":"Image","&":[]," ":true,"$":"!!X","#":"! >","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[0,0,0],"<":0.5,"=":null,">":null,"?":0,"@":null,"A":630,"B":62,"C":[-315,-31,-315,-31],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___2":0},"! Q":{"!":"Group","&":[]," ":true,"$":"! Q","#":"! 3","'":["! S"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[11.48,-36,-43.48,4],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["fadeMove"],"S":{"!)":{" ":true,"P":{"!*":"! $","!+":60,"V":0.3,"!,":0.2}}}}},"___2":21},"! T":{"!":"Group","&":[]," ":true,"$":"! T","#":"! 4","'":["! V"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[11.48,-36,-43.48,4],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["fadeMove"],"S":{"!)":{" ":true,"P":{"!*":"! %","!+":60,"V":0.3,"!,":0.2}}}}},"___2":21},"! W":{"!":"Group","&":[]," ":true,"$":"! W","#":"! 5","'":["! Y"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[11.48,-36,-43.48,4],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["fadeMove"],"S":{"!)":{" ":true,"P":{"!*":"! &","!+":60,"V":0.3,"!,":0.2}}}}},"___2":21},"! Z":{"!":"Group","&":[]," ":true,"$":"! Z","#":"! 6","'":["! ]"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[11.48,-36,-43.48,4],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["fadeMove"],"S":{"!)":{" ":true,"P":{"!*":"! '","!+":60,"V":0.3,"!,":0.2}}}}},"___2":21},"! ^":{"!":"Group","&":[]," ":true,"$":"! ^","#":"! 7","'":["! `"],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"group","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[11.48,-36,-43.48,4],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["fadeMove"],"S":{"!)":{" ":true,"P":{"!*":"! (","!+":60,"V":0.3,"!,":0.2}}}}},"___2":21},"!#6":{"!":"Image","&":[]," ":true,"$":"!#6","#":"! 2","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0,0,0,0],":":32,";":true,"(":1,"+":[1,1,1],"<":0,"=":null,">":null,"?":0,"@":null,"A":32,"B":32,"C":[904,134,-936,-166],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false}},"___1":[168,0,3]},"!!}":{"!":"Image","&":[]," ":true,"$":"!!}","#":"! '","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-15.936,-102.045,-19.064,67.045],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":24},"!!~":{"!":"Image","&":[]," ":true,"$":"!!~","#":"! '","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-80.154,44.161,45.154,-79.161],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":27},"!!t":{"!":"Image","&":[]," ":true,"$":"!!t","#":"! $","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-15.936,-102.045,-19.064,67.045],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":24},"!!u":{"!":"Image","&":[]," ":true,"$":"!!u","#":"! $","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-80.154,44.161,45.154,-79.161],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":27},"!!w":{"!":"Image","&":[]," ":true,"$":"!!w","#":"! %","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-15.936,-102.045,-19.064,67.045],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":24},"!!x":{"!":"Image","&":[]," ":true,"$":"!!x","#":"! %","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-80.154,44.161,45.154,-79.161],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":27},"!!z":{"!":"Image","&":[]," ":true,"$":"!!z","#":"! &","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-15.936,-102.045,-19.064,67.045],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":24},"!!{":{"!":"Image","&":[]," ":true,"$":"!!{","#":"! &","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-80.154,44.161,45.154,-79.161],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":27},"!#!":{"!":"Image","&":[]," ":true,"$":"!#!","#":"! (","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-15.936,-102.045,-19.064,67.045],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":24},"!##":{"!":"Image","&":[]," ":true,"$":"!##","#":"! (","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[-80.154,44.161,45.154,-79.161],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":27},"!!v":{"!":"Image","&":[]," ":true,"$":"!!v","#":"! $","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[67.202,41.338,-102.202,-76.338],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":30},"!!y":{"!":"Image","&":[]," ":true,"$":"!!y","#":"! %","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[67.202,41.338,-102.202,-76.338],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":30},"!!|":{"!":"Image","&":[]," ":true,"$":"!!|","#":"! &","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[67.202,41.338,-102.202,-76.338],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":30},"!# ":{"!":"Image","&":[]," ":true,"$":"!# ","#":"! '","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[67.202,41.338,-102.202,-76.338],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":30},"!#$":{"!":"Image","&":[]," ":true,"$":"!#$","#":"! (","'":[],"%":{".":{"0":[0.5,0.5],"1":"","2":null,"3":158042738,"4":32,"5":8,"6":32,"7":false,"8":false,"9":null," ":true,",":"image","/":[0.5,0.5,0.5,0.5],":":32,";":true,"(":1,"+":[1,1,1],"<":1,"=":214407935,">":null,"?":0,"@":null,"A":35,"B":35,"C":[67.202,41.338,-102.202,-76.338],")":[0.5,0.5],"D":[0,0,0,1],"E":0,"F":[0,0,0,1],"G":[0,0],"-":[0,0,1,1],"H":null,"I":false,"J":false,"K":"stretch","L":false,"M":null,"N":false,"*":[4],"O":false},"Q":{" ":true,"R":["particleEffect"],"S":{"T":{" ":true,"P":{}}}}},"___2":30}},"checkpoint_id":"695e5fb3-ae3c-4c9c-94c4-0f295a7fb450","id":1904849,"compressedFormat":{"fieldFirstCode":32,"fieldCodeBase":95,"fieldArray":["enabled","name",1,"parent","resource_id","components","tags","children","spacing","alignment","layers","color","type","rect","element","anchor","pivot","text","key","fontAsset","fontSize","minFontSize","maxFontSize","autoFitWidth","autoFitHeight","maxLines","lineHeight","wrapLines","opacity","textureAsset","spriteAsset","spriteFrame","pixelsPerUnit","width","height","margin","outlineColor","outlineThickness","shadowColor","shadowOffset","materialAsset","autoWidth","autoHeight","fitMode","useInput","batchGroupId","mask","enableMarkup","attributes","script","order","scripts","particleEffect","back","duration","button","active","imageEntity","hitPadding","transitionMode",1,"hoverTint","pressedTint","inactiveTint","fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame","hoverTextureAsset","pressedTextureAsset","inactiveTextureAsset","template_id","template_ent_ids","layoutgroup","orientation","reverseX","reverseY","padding","widthFitting","heightFitting","wrap","shadow","volume","pitch","loop","autoPlay","overlap","asset","startTime","handRanking","front","background","ratioText","frontImage",1,"numButton","betAmount","gem","gemRoot","fade","bounce","fadeMove","target","moveDistance","duration2","betUi","clearButton","betAmountText","2","3","5","6","7","8","9","10","light","castShadows","isStatic","vsmBlurSize","shadowUpdateMode","normalOffsetBias","bakeArea","numCascades","outerConeAngle","bakeNumSamples","affectDynamic","intensity","bakeDir","cookieAngle","affectLightmapped","cookieChannel","innerConeAngle","shadowBias","bake","falloffMode","cookieAsset","vsmBias","cookieIntensity","cascadeDistribution","cookieOffset","shadowResolution","cookieScale","shape","range","vsmBlurMode","shadowDistance","cookieFalloff","shadowType","camera","projection","farClip",1,"clearColorBuffer","priority","fov","clearDepthBuffer","frustumCulling","clearColor","orthoHeight","nearClip","toneMapping","gammaCorrection","screen","screenSpace","scaleMode","scaleBlend","resolution","referenceResolution","userBalance","userBalanceText","userName","middle","resultText","boxButton","gemController","gems","bottom","startButton","winResult","loseResult","profit","betEditButton","multiplier","defaultStart","disableStart","defaultBet",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"disableBet","dummyServer",null,"gameController","audioController","soundSource","audiolistener","sound","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots","soundButton","onImg","offImg","betController","betButton","okButton","cancelButton","errorText","handRankingController"],"singleVecs":[0,0,0,1,1,1,300,14.5,0,250,410,0,250,40,0,-81.22046,-0.00012,0,-30.118,-4.04794,0,16,16,0,0.5,0.5,0.5,27.48,-20,0,1.56405,-84.54498,0,-62.65435,61.66102,0,84.70186,58.83761,0,0,700,0,0,0.56365,0,0,0.56369,0,2,2,-2,45,135,0,4,3.5,4,-30,45,0,-475.14323,-35,0,0,12,0,0,91.35107,0,0.5,-93,0,0,89.89381,0,20,-20,0,-3.13499,6.2695,0,0,52,0,-291.99998,155,0,0.00002,0.56365,0,3,155,0,298,155,0,-291.99998,42,0,0.00002,0.56369,0,3,42,0,298,42,0,163,-218,0,-161,-218,0,0,-25.47521,0,299,-87,0,-354.773,-92.068,0,0,245,0,-380,33,0,261,37,0,-19.999,-136.91408,0,10,-165.907,0,214,150,0,494,150,0,774,150,0,4.4427,-391.99999,0,357.5,150,0,642.5,150,0,-68.406,30.03609,0,0,218.75711,0,0,129.29684,0,0,224.1081,0,920,150,0],"tripleVecs":[0,0,3,6,0,3,9,0,3,12,0,3,15,0,3,18,0,3,21,0,3,27,0,3,30,0,3,33,0,3,36,0,3]}} \ No newline at end of file diff --git a/GemQuest/__game-scripts.js b/GemQuest/__game-scripts.js new file mode 100644 index 0000000..5d19dfb --- /dev/null +++ b/GemQuest/__game-scripts.js @@ -0,0 +1 @@ +pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},onUpdate:function(t){return this.on("update",t),this},onComplete:function(t){return this.on("complete",t),this},onLoop:function(t){return this.on("loop",t),this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var o=this._repeat(i);return o?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),o}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.parseNumber=function(e){return Number(e.replace(/,/g,""))},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:this.parseNumber(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0)),r=getCommaText(n);a.text=`${r}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.getResult=function(e){let t=e.filter((e=>e>=2)).sort(((e,t)=>t-e));if(0===t.length)return 0;if(1===t.length){if(2===t[0])return.1;if(3===t[0])return 3;if(4===t[0])return 5;if(5===t[0])return 50}else if(2===t.length){if(2===t[0])return 2;if(3===t[0])return 4}},DummyServer.prototype.startGame=function(e){if(e<0)return;let t=[],r=getDeck();t=shuffle(r).splice(0,5);let n=getMatchCount(t),l=this.getResult(n);this.userBalance=this.userBalance-e,this.betAmount=e;let o=l*e;this.userBalance=this.userBalance+o;let u={balance:this.userBalance,betAmount:this.betAmount,profit:o,multiplier:l,gems:t};return console.log(u),u};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(r,o){return r=Math.ceil(r),o=Math.floor(o),Math.floor(Math.random()*(o-r))+r}function changeTexture(r,o){r.element.texture=o.resource}function shuffle(r){var o,e,t;for(t=r.length-1;t>0;t--)o=Math.floor(Math.random()*(t+1)),e=r[t],r[t]=r[o],r[o]=e;return r}function getTable(r,o){let e=[];for(let t=0;t{o[r]++})),o}function getGemColor(r){switch(r){case 0:return rgbToColor(115,189,225,255);case 1:return rgbToColor(152,197,111,255);case 2:return rgbToColor(227,100,156,255);case 3:return rgbToColor(215,39,39,255);case 4:return rgbToColor(235,210,49,255);case 5:return rgbToColor(252,109,23,255);case 6:return rgbToColor(198,169,245,255);default:return rgbToColor(255,255,255,255)}}function setButton(r,o,e){r.element.on("touchend",o,e),r.element.on("mouseup",o,e)}function rgbToColor(r,o,e,t){return new pc.Color(r/255,o/255,e/255,t/255)}function getCommaText(r){return r.toLocaleString("en-US")}async function loadJsonFromUrl(n){return new Promise((e=>{this.loadJsonFromRemote(n,(function(n){console.log(n);let o=JSON.stringify(n),s=JSON.parse(o);e(s)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.attributes.add("boxButton",{type:"entity",array:!0}),Middle.attributes.add("resultText",{type:"entity"}),Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null,this.buttons=[],this.entity.forEach((t=>{"Button"===t.name&&this.buttons.push(t)})),this.selectedIdx=-1};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle(),GemController.instance.init(),HandRankingController.instance.init()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.betGame=async function(e){let n=DummyServer.instance.startGame(e);UserBalance.instance.setBalance(UserBalance.instance.getUserBalance()-e),GemController.instance.init(),HandRankingController.instance.init(),HandRankingController.instance.setMatch(0,0,0),await delay(500);for(let e=0;e{this.changeButtonState(this.startButton,!0)}),1e3)},Bottom.prototype.setBetAmount=function(t){let e=getCommaText(t);this.betAmountText.element.text=`${e}`,this.betAmount=t},Bottom.prototype.resetMultiplierColor=function(){ResultController.instance.resetColor(),this.disableButton(!1)},Bottom.prototype.setResultGame=async function(t,e,o){if(t){AudioController.instance.playSound("Win"),this.multiplier.element.text=`${e.toFixed(2)}x`;let t=getCommaText(o);this.profit.element.text=`+${t}`}else AudioController.instance.playSound("Lose");this.winResult.enabled=t,this.loseResult.enabled=!t,await delay(1500),this.winResult.enabled=!1,this.loseResult.enabled=!1},Bottom.prototype.betAmountErr=function(){var t=new pc.Color(246/255,229/255,122/255),e=this.entity.tween(t).yoyo(!0).repeat(4).to(new pc.Color(1,0,0),.2,pc.Linear);e.onUpdate((e=>{this.betAmountText.element.color=t})),e.start()};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){if(!0===this.isMute)return;this.soundSource.sound.play(o)&&"string"==typeof o&&o.startsWith("s")&&o.length};var BetController=pc.createScript("betController");BetController.attributes.add("betUi",{type:"entity"}),BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),this.betUi.enabled=!1,Bottom.instance.setBetAmount(this.betAmount)},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),this.betUi.enabled=!1},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"asset",assetType:"texture"}),SoundButton.attributes.add("offImg",{type:"asset",assetType:"texture"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,changeTexture(this.entity,this.isMute?this.offImg:this.onImg),AudioController.instance.setMute(this.isMute),AudioController.instance.playSound("Click")},SoundButton.prototype.setButton=function(t,e){t.element.on("touchend",e,this),t.element.on("mouseup",e,this)};var Bounce=pc.createScript("bounce");Bounce.attributes.add("shadow",{type:"entity"}),Bounce.prototype.initialize=function(){this.onEnable(),this.entity.on("enable",this.onEnable,this)},Bounce.prototype.onEnable=function(){console.log("Bounce onEnable");var t={value:0};let e=getRandomInt(6,12)/10;var o=this.entity.tween(t).yoyo(!0).loop(!0).to({value:15},e,pc.Linear);o.onUpdate((e=>{this.entity.setLocalPosition(0,t.value,0),this.shadow.setLocalScale(1-t.value/100,1-t.value/100,1)})),o.start()};var HandRankingController=pc.createScript("handRankingController");HandRankingController.attributes.add("handRanking",{type:"entity",array:"true"}),HandRankingController.prototype.initialize=function(){HandRankingController.instance=this,this.handInfo=[[0,0,0],[2,0,.1],[2,2,2],[3,0,3],[3,2,4],[4,0,5],[5,0,50]]},HandRankingController.prototype.postInitialize=function(){let n=0;this.handInfo.forEach((t=>{this.handRanking[n].script.handRanking.initHandRanking(t[0],t[1],t[2]),n++}))},HandRankingController.prototype.init=function(){this.handRanking.forEach((n=>{n.script.handRanking.setDefault()}))},HandRankingController.prototype.setMatch=function(n,t,a){this.init(),this.handRanking[n].script.handRanking.setSelected(getGemColor(t),getGemColor(a))};var HandRanking=pc.createScript("handRanking");HandRanking.attributes.add("front",{type:"entity",array:"true"}),HandRanking.attributes.add("back",{type:"entity",array:"true"}),HandRanking.attributes.add("background",{type:"entity"}),HandRanking.attributes.add("ratioText",{type:"entity"}),HandRanking.attributes.add("frontImage",{type:"entity"}),HandRanking.prototype.initialize=function(){this.enableColor=rgbToColor(172,150,124,255),this.disableColor=rgbToColor(74,64,73,255),this.frontDisableColor=rgbToColor(161,122,76,255),this.frontEnableColor=rgbToColor(226,191,149,255),this.selectedColor=rgbToColor(176,200,151,255),this.unselectedColor=rgbToColor(81,81,81,255),this.fillCount=0,this.borderCount=0},HandRanking.prototype.initHandRanking=function(t,e,o){this.fillCount=t,this.borderCount=e,this.ratioText.element.text=`${o.toFixed(2)}x`,this.setDefault()},HandRanking.prototype.setDefault=function(){this.frontImage.enabled=!0;for(let t=0;t<5;++t)this.front[t].enabled=!1,this.back[t].element.color=this.disableColor;for(let t=0;t<5;++t)this.front[t].enabled=!0,this.front[t].element.color=this.frontDisableColor;let t=0;for(let e=0;e{t.script.gem.reset()})),this.gemTypes=[],this.prevColorArray=[]},GemController.prototype.setGem=function(t,e){this.gems[t].script.gem.setGem(e),this.updateMatch(e)},GemController.prototype.getMatchedIndex=function(){let t=getMatchCount(this.gemTypes).filter((t=>t>=2)).sort(((t,e)=>e-t)),e=0;return 0===t.length&&(e=0),1===t.length&&(2===t[0]&&(e=1),3===t[0]&&(e=3),4===t[0]&&(e=5),5===t[0]&&(e=6)),2===t.length&&(2===t[0]&&(e=2),3===t[0]&&(e=4)),e},GemController.prototype.getMatchedCount=function(t){let e=0;return this.gemTypes.forEach((r=>{r===t&&e++})),e},GemController.prototype.getMatchedColor=function(){let t=[];return this.gemTypes.forEach((e=>{let r=this.getMatchedCount(e);if(r>=2){let o=!1;t.forEach((t=>{t.type===e&&(o=!0)})),!1===o&&t.push({type:e,count:r})}})),t.sort(((t,e)=>e.count-t.count)),t},GemController.prototype.countGemType=function(t,e){return t.filter((t=>t===e)).length},GemController.prototype.updateMatch=function(t){let e=this.countGemType(this.gemTypes,t);AudioController.instance.playSound("s"+(e+1)),this.gemTypes.push(t);let r=this.getMatchedIndex(),o=this.getMatchedColor();HandRankingController.instance.setMatch(r,o.length>0?o[0].type:0,o.length>1?o[1].type:0),this.prevColorArray=o},GemController.prototype.getGem=function(t){let e;return e=0<=t&&t<=6?this.back[t]:this.back[0],{back:e}};var ParticleEffect=pc.createScript("particleEffect");ParticleEffect.prototype.initialize=function(){var t=this.entity.getLocalPosition();this.baseX=t.x,this.baseY=t.y,this.spawnParticle()},ParticleEffect.prototype.spawnParticle=function(){let t=.3*Math.random()+.5;if(!1===this.enabled)return void setTimeout((()=>{this.spawnParticle()}),1e3*(t+.5));var e={scale:0,opacity:0,rotation:0};let i=90*Math.random()-45,a=90*Math.random()-45;this.entity.setLocalPosition(this.baseX+i,this.baseY+a,0);this.entity.tween(e).yoyo(!1).loop(!1).to({scale:1,opacity:1},.3,pc.Linear).onUpdate((()=>{this.entity.setLocalScale(e.scale,e.scale,1),this.entity.element.opacity=e.opacity})).delay(t).start(),this.entity.tween(e).loop(!0).to({rotation:360},1.5,pc.Linear).onUpdate((()=>{this.entity.setLocalEulerAngles(0,0,e.rotation)})).start();setTimeout((()=>{this.entity.tween(e).yoyo(!1).loop(!1).to({scale:0,opacity:0},.3,pc.Linear).onUpdate((()=>{this.entity.setLocalScale(e.scale,e.scale,1),this.entity.element.opacity=e.opacity})).onComplete((()=>{setTimeout((()=>{this.spawnParticle()}),500*Math.random()+300)})).start()}),1e3*(t+.8))};var FadeMove=pc.createScript("fadeMove");FadeMove.attributes.add("target",{type:"entity",description:"Opacity를 조정할 엔티티"}),FadeMove.attributes.add("moveDistance",{type:"number",default:60,description:"이동 거리 (px)"}),FadeMove.attributes.add("duration",{type:"number",default:.5,description:"애니메이션 시간 (초)"}),FadeMove.attributes.add("duration2",{type:"number",default:.3,description:"애니메이션 시간 (초)"}),FadeMove.prototype.initialize=function(){this.target&&(this.originalPosition=this.target.getLocalPosition().clone(),this.target.element.opacity=1)},FadeMove.prototype.onEnable=function(){if(console.log("onEnable"),!this.target)return void console.warn("FadeMove: target이 설정되지 않았습니다.");let t=this.originalPosition.y+this.moveDistance,e=this.originalPosition.y;this.target.setLocalPosition(this.originalPosition.x,t,this.originalPosition.z),this.target.element&&(this.target.element.opacity=0),this.target.tween(this.target.getLocalPosition()).to({y:e},this.duration,pc.SineOut).start(),this.target.element&&this.target.tween(this.target.element).to({opacity:1},this.duration,pc.SineOut).start()},FadeMove.prototype.onDisable=function(){if(console.log("onDisable"),!this.target)return;let t=this.originalPosition.y+this.moveDistance;this.target.tween(this.target.getLocalPosition()).to({y:t},this.duration2,pc.SineIn).start(),this.target.element&&this.target.tween(this.target.element).to({opacity:0},this.duration2,pc.SineIn).start()}; \ No newline at end of file diff --git a/GemQuest/__loading__.js b/GemQuest/__loading__.js new file mode 100644 index 0000000..627a013 --- /dev/null +++ b/GemQuest/__loading__.js @@ -0,0 +1,112 @@ +pc.script.createLoadingScreen(function (app) { + var showSplash = function () { + // splash wrapper + var wrapper = document.createElement('div'); + wrapper.id = 'application-splash-wrapper'; + document.body.appendChild(wrapper); + + // splash + var splash = document.createElement('div'); + splash.id = 'application-splash'; + wrapper.appendChild(splash); + splash.style.display = 'none'; + + var logo = document.createElement('img'); + logo.src = ASSET_PREFIX + 'logo.png'; + splash.appendChild(logo); + logo.onload = function () { + splash.style.display = 'block'; + }; + + var container = document.createElement('div'); + container.id = 'progress-bar-container'; + splash.appendChild(container); + + var bar = document.createElement('div'); + bar.id = 'progress-bar'; + container.appendChild(bar); + + }; + + var hideSplash = function () { + var splash = document.getElementById('application-splash-wrapper'); + splash.parentElement.removeChild(splash); + }; + + var setProgress = function (value) { + var bar = document.getElementById('progress-bar'); + if (bar) { + value = Math.min(1, Math.max(0, value)); + bar.style.width = value * 100 + '%'; + } + }; + + var createCss = function () { + var css = [ + 'body {', + ' background-color: #283538;', + '}', + + '#application-splash-wrapper {', + ' position: absolute;', + ' top: 0;', + ' left: 0;', + ' height: 100%;', + ' width: 100%;', + ' background-color: #283538;', + '}', + + '#application-splash {', + ' position: absolute;', + ' top: calc(50% - 28px);', + ' width: 264px;', + ' left: calc(50% - 132px);', + '}', + + '#application-splash img {', + ' width: 100%;', + '}', + + '#progress-bar-container {', + ' margin: 20px auto 0 auto;', + ' height: 2px;', + ' width: 100%;', + ' background-color: #1d292c;', + '}', + + '#progress-bar {', + ' width: 0%;', + ' height: 100%;', + ' background-color: #f60;', + '}', + '@media (max-width: 480px) {', + ' #application-splash {', + ' width: 170px;', + ' left: calc(50% - 85px);', + ' }', + '}' + + ].join('\n'); + + var style = document.createElement('style'); + style.type = 'text/css'; + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + style.appendChild(document.createTextNode(css)); + } + + document.head.appendChild(style); + }; + + + createCss(); + + showSplash(); + + app.on('preload:end', function () { + app.off('preload:progress'); + }); + app.on('preload:progress', setProgress); + app.on('start', hideSplash); +}); diff --git a/GemQuest/__modules__.js b/GemQuest/__modules__.js new file mode 100644 index 0000000..3b7de4c --- /dev/null +++ b/GemQuest/__modules__.js @@ -0,0 +1,47 @@ +var loadModules = function (modules, urlPrefix, doneCallback) { // eslint-disable-line no-unused-vars + + if (typeof modules === "undefined" || modules.length === 0) { + // caller may depend on callback behaviour being async + setTimeout(doneCallback); + } else { + let remaining = modules.length; + const moduleLoaded = () => { + if (--remaining === 0) { + doneCallback(); + } + }; + + modules.forEach(function (m) { + pc.WasmModule.setConfig(m.moduleName, { + glueUrl: urlPrefix + m.glueUrl, + wasmUrl: urlPrefix + m.wasmUrl, + fallbackUrl: urlPrefix + m.fallbackUrl + }); + + if (!m.hasOwnProperty('preload') || m.preload) { + if (m.moduleName === 'BASIS') { + // preload basis transcoder + pc.basisInitialize(); + moduleLoaded(); + } else if (m.moduleName === 'DracoDecoderModule') { + // preload draco decoder + if (pc.dracoInitialize) { + // 1.63 onwards + pc.dracoInitialize(); + moduleLoaded(); + } else { + // 1.62 and earlier + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + // load remaining modules in global scope + pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); + } + } else { + moduleLoaded(); + } + }); + } +}; + +window.loadModules = loadModules; diff --git a/GemQuest/__settings__.js b/GemQuest/__settings__.js new file mode 100644 index 0000000..807d7df --- /dev/null +++ b/GemQuest/__settings__.js @@ -0,0 +1,22 @@ +window.ASSET_PREFIX = ""; +window.SCRIPT_PREFIX = ""; +window.SCENE_PATH = "1904849.json"; +window.CONTEXT_OPTIONS = { + 'antialias': true, + 'alpha': false, + 'preserveDrawingBuffer': false, + 'deviceTypes': [`webgl2`, `webgl1`], + 'powerPreference': "high-performance" +}; +window.SCRIPTS = [ 158042745, 158042730, 158042727, 158042737, 158042744, 158042709, 158042710, 158042756, 158042742, 158042739, 158042733, 158042731, 158050750, 158486655, 158486658, 159521138, 159521145, 214558249, 214858044 ]; +window.CONFIG_FILENAME = "config.json"; +window.INPUT_SETTINGS = { + useKeyboard: true, + useMouse: true, + useGamepads: false, + useTouch: true +}; +pc.script.legacy = false; +window.PRELOAD_MODULES = [ + {'moduleName' : 'BASIS', 'glueUrl' : 'files/assets/214864109/1/basis.wasm.js', 'wasmUrl' : 'files/assets/214864107/1/basis.wasm.wasm', 'fallbackUrl' : 'files/assets/214864108/1/basis.js', 'preload' : false}, +]; diff --git a/GemQuest/__start__.js b/GemQuest/__start__.js new file mode 100644 index 0000000..df83323 --- /dev/null +++ b/GemQuest/__start__.js @@ -0,0 +1,332 @@ +(function () { + // Shared Lib + var CANVAS_ID = 'application-canvas'; + + // Needed as we will have edge cases for particular versions of iOS + // returns null if not iOS + var getIosVersion = function () { + if (/iP(hone|od|ad)/.test(navigator.platform)) { + var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); + var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; + return version; + } + + return null; + }; + + var lastWindowHeight = window.innerHeight; + var lastWindowWidth = window.innerWidth; + var windowSizeChangeIntervalHandler = null; + + var pcBootstrap = { + reflowHandler: null, + iosVersion: getIosVersion(), + + createCanvas: function () { + var canvas = document.createElement('canvas'); + canvas.setAttribute('id', CANVAS_ID); + canvas.setAttribute('tabindex', 0); + + // Disable I-bar cursor on click+drag + canvas.onselectstart = function () { return false; }; + + // Disable long-touch select on iOS devices + canvas.style['-webkit-user-select'] = 'none'; + + document.body.appendChild(canvas); + + return canvas; + }, + + + resizeCanvas: function (app, canvas) { + canvas.style.width = ''; + canvas.style.height = ''; + app.resizeCanvas(canvas.width, canvas.height); + + var fillMode = app._fillMode; + + if (fillMode === pc.FILLMODE_NONE || fillMode === pc.FILLMODE_KEEP_ASPECT) { + if ((fillMode === pc.FILLMODE_NONE && canvas.clientHeight < window.innerHeight) || (canvas.clientWidth / canvas.clientHeight >= window.innerWidth / window.innerHeight)) { + canvas.style.marginTop = Math.floor((window.innerHeight - canvas.clientHeight) / 2) + 'px'; + } else { + canvas.style.marginTop = ''; + } + } + + lastWindowHeight = window.innerHeight; + lastWindowWidth = window.innerWidth; + + // Work around when in landscape to work on iOS 12 otherwise + // the content is under the URL bar at the top + if (this.iosVersion && this.iosVersion[0] <= 12) { + window.scrollTo(0, 0); + } + }, + + reflow: function (app, canvas) { + this.resizeCanvas(app, canvas); + + // Poll for size changes as the window inner height can change after the resize event for iOS + // Have one tab only, and rotate from portrait -> landscape -> portrait + if (windowSizeChangeIntervalHandler === null) { + windowSizeChangeIntervalHandler = setInterval(function () { + if (lastWindowHeight !== window.innerHeight || lastWindowWidth !== window.innerWidth) { + this.resizeCanvas(app, canvas); + } + }.bind(this), 100); + + // Don't want to do this all the time so stop polling after some short time + setTimeout(function () { + if (!!windowSizeChangeIntervalHandler) { + clearInterval(windowSizeChangeIntervalHandler); + windowSizeChangeIntervalHandler = null; + } + }, 2000); + } + } + }; + + // Expose the reflow to users so that they can override the existing + // reflow logic if need be + window.pcBootstrap = pcBootstrap; +})(); + + +(function () { + // template varants + var LTC_MAT_1 = []; + var LTC_MAT_2 = []; + + // varants + var canvas = pcBootstrap.createCanvas(); + var app = new pc.AppBase(canvas); + + function initCSS() { + if (document.head.querySelector) { + // css media query for aspect ratio changes + // TODO: Change these from private properties + var css = `@media screen and (min-aspect-ratio: ${app._width}/${app._height}) { + #application-canvas.fill-mode-KEEP_ASPECT { + width: auto; + height: 100%; + margin: 0 auto; + } + }`; + document.head.querySelector('style').innerHTML += css; + } + + // Configure resolution and resize event + if (canvas.classList) { + canvas.classList.add(`fill-mode-${app.fillMode}`); + } + } + + function displayError(html) { + var div = document.createElement('div'); + div.innerHTML = ` + + + +
+
+
${html}
+
+
`; + document.body.appendChild(div); + } + + function createGraphicsDevice(callback) { + var deviceOptions = window.CONTEXT_OPTIONS ? window.CONTEXT_OPTIONS : {}; + + if (typeof window.Promise === 'function') { + var LEGACY_WEBGL = 'webgl'; + var deviceTypes = [...deviceOptions.deviceTypes, LEGACY_WEBGL]; + + var gpuLibPath = window.ASSET_PREFIX ? (window.ASSET_PREFIX.replace(/\/$/g, '') + '/') : ''; + + // new graphics device creation function with promises + var gfxOptions = { + deviceTypes: deviceTypes, + glslangUrl: gpuLibPath + 'glslang.js', + twgslUrl: gpuLibPath + 'twgsl.js', + powerPreference: deviceOptions.powerPreference, + antialias: deviceOptions.antialias !== false, + alpha: deviceOptions.alpha === true, + preserveDrawingBuffer: !!deviceOptions.preserveDrawingBuffer + }; + + pc.createGraphicsDevice(canvas, gfxOptions).then((device) => { + callback(device); + }).catch((e) => { + console.error('Device creation error:', e); + callback(null); + }) + } else { + var igl1 = deviceOptions.deviceTypes.indexOf('webgl1'); + var igl2 = deviceOptions.deviceTypes.indexOf('webgl2'); + + // old webgl graphics device creation + var options = { + powerPreference: deviceOptions.powerPreference, + antialias: deviceOptions.antialias !== false, + alpha: deviceOptions.transparentCanvas !== false, + preserveDrawingBuffer: !!deviceOptions.preserveDrawingBuffer, + preferWebGl2: igl2 > igl1 + }; + + if (pc.platform.browser && !!navigator.xr) { + options.xrCompatible = true; + } + + callback(new pc.WebglGraphicsDevice(canvas, options)); + } + } + + function initApp(device) { + try { + var createOptions = new pc.AppOptions(); + createOptions.graphicsDevice = device; + + createOptions.componentSystems = [ + pc.RigidBodyComponentSystem, + pc.CollisionComponentSystem, + pc.JointComponentSystem, + pc.AnimationComponentSystem, + pc.AnimComponentSystem, + pc.ModelComponentSystem, + pc.RenderComponentSystem, + pc.CameraComponentSystem, + pc.LightComponentSystem, + pc.script.legacy ? pc.ScriptLegacyComponentSystem : pc.ScriptComponentSystem, + pc.AudioSourceComponentSystem, + pc.SoundComponentSystem, + pc.AudioListenerComponentSystem, + pc.ParticleSystemComponentSystem, + pc.ScreenComponentSystem, + pc.ElementComponentSystem, + pc.ButtonComponentSystem, + pc.ScrollViewComponentSystem, + pc.ScrollbarComponentSystem, + pc.SpriteComponentSystem, + pc.LayoutGroupComponentSystem, + pc.LayoutChildComponentSystem, + pc.ZoneComponentSystem, + pc.GSplatComponentSystem, + ].filter(Boolean); + + createOptions.resourceHandlers = [ + pc.RenderHandler, + pc.AnimationHandler, + pc.AnimClipHandler, + pc.AnimStateGraphHandler, + pc.ModelHandler, + pc.MaterialHandler, + pc.TextureHandler, + pc.TextHandler, + pc.JsonHandler, + pc.AudioHandler, + pc.ScriptHandler, + pc.SceneHandler, + pc.CubemapHandler, + pc.HtmlHandler, + pc.CssHandler, + pc.ShaderHandler, + pc.HierarchyHandler, + pc.FolderHandler, + pc.FontHandler, + pc.BinaryHandler, + pc.TextureAtlasHandler, + pc.SpriteHandler, + pc.TemplateHandler, + pc.ContainerHandler, + pc.GSplatHandler + ].filter(Boolean); + + createOptions.elementInput = new pc.ElementInput(canvas, { + useMouse: INPUT_SETTINGS.useMouse, + useTouch: INPUT_SETTINGS.useTouch + }); + createOptions.keyboard = INPUT_SETTINGS.useKeyboard ? new pc.Keyboard(window) : null; + createOptions.mouse = INPUT_SETTINGS.useMouse ? new pc.Mouse(canvas) : null; + createOptions.gamepads = INPUT_SETTINGS.useGamepads ? new pc.GamePads() : null; + createOptions.touch = INPUT_SETTINGS.useTouch && pc.platform.touch ? new pc.TouchDevice(canvas) : null; + createOptions.assetPrefix = window.ASSET_PREFIX || ''; + createOptions.scriptPrefix = window.SCRIPT_PREFIX || ''; + createOptions.scriptsOrder = window.SCRIPTS || []; + createOptions.soundManager = new pc.SoundManager(); + createOptions.lightmapper = pc.Lightmapper; + createOptions.batchManager = pc.BatchManager; + createOptions.xr = pc.XrManager; + + app.init(createOptions); + return true; + + } catch (e) { + displayError('Could not initialize application. Error: ' + e); + console.error(e); + return false; + } + } + + function configure() { + app.configure(window.CONFIG_FILENAME, (err) => { + if (err) { + console.error(err); + return; + } + + initCSS(canvas, app._fillMode, app._width, app._height); + + if (LTC_MAT_1.length && LTC_MAT_2.length && app.setAreaLightLuts.length === 2) { + app.setAreaLightLuts(LTC_MAT_1, LTC_MAT_2); + } + + // do the first reflow after a timeout because of + // iOS showing a squished iframe sometimes + setTimeout(() => { + pcBootstrap.reflow(app, canvas); + pcBootstrap.reflowHandler = function () { + pcBootstrap.reflow(app, canvas); + }; + + window.addEventListener('resize', pcBootstrap.reflowHandler, false); + window.addEventListener('orientationchange', pcBootstrap.reflowHandler, false); + + app.preload(() => { + app.scenes.loadScene(window.SCENE_PATH, (err) => { + if (err) { + console.error(err); + return; + } + + app.start(); + }) + }) + }); + }); + } + + function main() { + createGraphicsDevice((device) => { + if (!device) { + return; + } + + if (!initApp(device)) { + return; + } + + if (window.PRELOAD_MODULES.length) { + loadModules(window.PRELOAD_MODULES, window.ASSET_PREFIX, () => { + configure(() => { + console.timeEnd('start'); + }); + }) + } else { + configure(); + } + }); + } + main(); +})(); // Add scope to avoid polluting window scope diff --git a/GemQuest/files/assets/158483931/1/Asset_3.png b/GemQuest/files/assets/158483931/1/Asset_3.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2be2e04eea56982167910d13f08b8fc1bef997 GIT binary patch literal 5300 zcmeHKc~leE8V^Pm*`yELKxGV2K%ML)FeGeYRYL(O6;Na{nUIleCV_wpWvdksS@j60 zPZTP)h=8<;sD(n6*Q$ut1zNPVePWAXEmZ7rdp7|UPkYWgzVrH@$;q9W`~AM({l4G* z?sqbI5#b?L=Jw_!63HqoG%yNWE5R?r%mj?zEjG&mm+lSGtF%$54pOO=5<-SU+H@5T z;c0|~L`v(IM?_k8LS|3K?Yy&pt@~pA-F}z0j_tnn$6L-P+#;v{FkM>Q>AWihc6zzJ$AMK?9b%l>V}=l%p5`D z$b;SXyTdnGho5GU?$XrPDiegGp!iY=P-LrwD-cX6r=nt|2&bmWRiOGvB%W`Y z3dNFfEhNH|2nC;VukCXRM2Pv6_dJAjp-O;DiO>ydeC3AlXlz3=<|U^1`k3?55I`Wu zwJ4M(mnk$z8lPg|MZmp&nnr;P5N$G_vPu{M36yFaVpG{vIvkWnq%tW!<`7RUmLO4q z!IKo=iBFMgwJL;0)9G|n9gC_|C(#&QUS2dhlg4Di00C>#61C&sR1S+uSqxyELh+8809A>~rbeZw5(6p`hKeOPoek45 z6i{JeHtfY_b6^iH&h*4tEX)&|h(?Sd!Ai9p1=~r;(IlLvQY0DH&90;{)*~Ha(Qkfc4W2Qxj)uCBA;*Y2r~v7!DHz z8IA>lViPH7&{SM(h!b#4m@p}-NWww?m@L@m^Tb~jgO>+WBte<5gze=8vpwlt7^QPD zSi<3QB_4DZ+k?Y-m0hEhXmzL>_fG;k0-Paj1~VA&6v-&G z$z*Bzj`2KO9_>$h@C<+{Ee7~a%z@SgIw9>vE1c9z-*o=Q&*VP*jVl1^H;cTMzHj7u zBiCyw@LJ$E)%8ZM*HYlMz;CMS|0b9D%aR=g|nV|}e)sRRQ|Iq)8E)8Tn29u`RFkz7CpoPP923bkk+d(2tj|&U*k520!{_gYe zX#cre?vHzSO#9^1%lS6PNmLSX(k#wae)j?O-qPZ?*a2vzmjYoS?7ogkExBJ=#6`VO(%xa;Z;f zf8vpl-liH?NowVfA9_?24=+QE`s(_NwUXO`9ok z@^SShSNl1c6q?CUlcbvQPRls7WO4Gimgl%9M`SetyD8-WlG}{0lB}s+u949hhp?yg05z+gM(7;lZ@V&V|vJ!`lYaeUbEiON_BFwV%n3`L?rK6X9Sse5~f(tEVm$bQGI9R~dER$f_SH@K1&Y0A(4~t!{9B%RR%b zb=}M`ALQGLIio91NDuVP|7L?9wm0nB5YJSOP=3q`uDnt+L@vE*)K~fRRMwVATdUJ^ zwO+l}e!;r=F{W#tUOstQ7Jte0YAG_7cH?Hw4dcS}w}V>evNgqwo|@Bha)^7jg{Jm| z-?0n+Rq@3OvbULNhYCb86XxxTmQdDOJC=n#OAloIO*Qr+(ZZS(Mw3 zMEqjEGcz+d$lp6@p4Bv9-0(1O;iIIeNA;#I>u#R&S-V#>Od6Xv z6!6wYxumDIs%S=5;eMwwi7#rw$*s)n2=S@vtimmj!*nYdG*lp?vm3LPI{eSWmBOV<*o{{TmU@FR zPv(BHJ;t%Q)}I`|rhBKkmF#yY9s!0dnH@0rH23@`V z=H38ud~A2H6)->!d|=2rXUuN=BjmP;{q;>w8sLyo(wbw!`Dgd)0CJVDSW*4%w(~B` zYZn)H-JV^sQ929N6xN$bXC-Qi>gP(0u_e=DBQKhF#aK2|EEe50em2}xmPnr0de(&5 zn6>ROMxJ-wFZgLwmZc1GdUoBJA|8~0hR^sx3x0VPGHDzrp1vnSrvTVDR zxO~1tx0@HII8rV9uzoI_Ew>NwtRmlCnoGxPZznDFPg1p&Caium_@3m!&MU2LpLeXf V-Y`;C$pejt6c!X7*btDI{U5Y$*%|-< literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/158483964/1/Asset_2.png b/GemQuest/files/assets/158483964/1/Asset_2.png new file mode 100644 index 0000000000000000000000000000000000000000..633c078e634ce166327a99177436f250442342af GIT binary patch literal 5224 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 Glm7y5mDFDV literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407930/1/GQ_BetButton_off.png b/GemQuest/files/assets/214407930/1/GQ_BetButton_off.png new file mode 100644 index 0000000000000000000000000000000000000000..01a95a772610b641203b05a39bac1136e8ad6eac GIT binary patch literal 3485 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 J;rpNT{{p3uWxfCa literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407934/1/GQ_Gem_P.png b/GemQuest/files/assets/214407934/1/GQ_Gem_P.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0bb46c3b256f09f68194dc092ca0b840dd5d6f GIT binary patch literal 18062 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407935/1/UI_gem_twinkle.png b/GemQuest/files/assets/214407935/1/UI_gem_twinkle.png new file mode 100644 index 0000000000000000000000000000000000000000..960eb122cd932972b009973f1f8cd9a422dfd70a GIT binary patch literal 2961 zcmbVO30MLO_B25VJ=LZv`z4^2pONoqAUd(@JIBV7~957;(n~ zB5+*8rBY*KV=1u=3Z|7)Ar6N_rO~N$I!GWuok5MmdQh#KImEz6b%<7>!4;UAY-WTd zSTxQ92vY}qP-%u~)w;nr5fP*6VGR|c(9Ayd1Et6?P7|$F_KQmqDyl?Ps2bN1SZEll ziNJ777lD0-dieE60z_ZxvTLY9EyZGWb3Ryr@?jk10YuhVAdL<}?jnfE zh1gs=a~_RIA8i0C#H0$D;Zsl+#AVVyf)X_&g>m>#!BT`P!?Y@xa9E*&)d(8E=K+Mz6oo>{WuP1e%ZQ1#I{7MAT}DT{E*dbm6Tv~;^UMru~(ZMl)9HPHgG6TMUDnuU@{r?l9!SEvyuv(519hwT5ouQgr z*+BBC|63RR?>=aILvW&(ny15EoVXeOA3)UvwU+4erc^;2iDdCCfbS*p-<+HNZOXTy z_Q_e8XaOim`}mY{|DlOWA4*>`&I<#N%;Y*6eS(Vn_AyFP`yxWIy1JcYm18sl4g zU0#(U?w)zj`)YD}`q^Y=fNGcE+9AfSOgyb>79+Fd-OBb?lB}w#?Aqt|HQ zHN1J@(jl)dT;*(2KBhGB+A&u2nzru@_B2xo^WLWScMUaf7aV>y(cZxhIs52txb*3p z$+b?L#bL#pqcW7Z_1E#cbKf;IRgk7fpyw0RYe(AHUg?pV9F`Q@cdsnk5`rZx@ew!n z&2QSeyw)!)$BhwRezTq{pRu6(xGH>Yn^a}I6a_A}>{yq4em63vXbLm=VSA+9p<)9w zs$pbZ%(FP>664LvBjY`@U3>R=k3HJw*xcBt{KebS#b<@7=F0W8f-UJMd_8D}s+XqQ zP-bbu$;6K54a@engjj~8PpLS0>gxyV^DLYX%r!|&>Xzyo(O!Z~#HYcdAR-NiJbF!lbm{9zY>4vvrNdh$#wm5Yv@QIef<|UR?`n_zi?FnIlf)Bb=1D+zm&3H zhy!ONS?3(olPs>1?bZYo9-MU)woMtgXWHh9xdj^o4+Ju-rUsR~f1^Bfgd*+8*^ykm zLpWuzyv8tY^$2LkX~q(7*vcZbgdNpA#;D$#pEjY9vY&J3sz2)0muQUHwx_zc?$G@t zrSiZ@0jPgtF$sUvnS18ls=f>Q5!!uc^3gBqH9?< z`B?bQ`6Dk)*njcDlCpz6LILY$O6)amWx-_-YaDJ`vT#b|8w&UcB7h46Q>{g@Q zy#@9o&W&1VL!OgnBd)AS?P6FJH9IzS*Oo>ZUcOD;esWeFt9z8E=H-r5QJ!%uO5!h@ zH*4XEu=rd~qHR;p=tE)uzPoe$oN9#==k=NUcaG$N&`}$&Ny^~+o-OrjN=hxy2zO+} z%y$0IrH7`w&CP|@&U-=c(>1n>QfwlcyXGz`&M(}^d||XGs zl=UH-Qn!rG3eJmkOp{OW4v#GE-Q83=$6-^n6?^=_-POQ>{mK6P5bxX0!CpIW&fa#= za_(qWj46hsnO*tzwTJ0;))vRI_){0UCRU|7SOuy)Lr-MnAI5##D3MRDrYPG>uDw28 z9)?x=edCxE;uW0h|5aOg2w$O@H|Eq&l)mO1Y9US6+m^pBK_*xuf6&v@*@F{TUI476BV65r2g&uXS2&Qi=f`Am#J)<(zc{J;>-9;R2(1^3Q2Q`xuyA2nK)`f QcA1BOMM3-%-m5qM7yB8J$p8QV literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407936/1/GQ_Gem_G.png b/GemQuest/files/assets/214407936/1/GQ_Gem_G.png new file mode 100644 index 0000000000000000000000000000000000000000..540f358bbb4ac93c851a6f1bbb6b283617b770ef GIT binary patch literal 16414 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407939/1/GQ_Gem_B.png b/GemQuest/files/assets/214407939/1/GQ_Gem_B.png new file mode 100644 index 0000000000000000000000000000000000000000..93712a7ef77991f3c8530471f0366a26d68cf6a2 GIT binary patch literal 17556 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407940/1/GQ_Gem_R.png b/GemQuest/files/assets/214407940/1/GQ_Gem_R.png new file mode 100644 index 0000000000000000000000000000000000000000..e3eacc9df84a224bb1c0e2b156ad40fadf3ba0b1 GIT binary patch literal 16431 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 dADdsjzv4^QA$%#i{_B5=(&F-BNBum)} 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 sYsauqcL*<3J4An4evvM?;zckIOf0CSEMd;kCd literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407945/1/GQ_Gem_shadow.png b/GemQuest/files/assets/214407945/1/GQ_Gem_shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..29b893d863acf2b2753fc61fd3543e83523f977a GIT binary patch literal 3048 zcmbVO30M>77R9QFAQc1z@l}QhDngc-gg~OvrvxOGghdp13Ux9wB*BmgNgxqio>~wR zkxx*BDk2uKZYYaO5k(O}+(E61-~x&Zpi&j1fbUJ%s_)ab-^-WT&wtOo=bpJqN`PRV zxv9OWk&%%(&zBoS95aZGZDLI9OS_iQiNk2QZN0W#u> zLlUc0ayFH!R;wv$It5pVs342QqS7EL1d#~@S-D)Mf;D8Ba`IpVE~Z2j61hr(%K$?} zScu1}I3yy~{u-j?Lt$mg0i6iNs2W&K1t~N`O?^NV8N$h971BO(6ro~LEEUJrJqJMWQ7tDK~I>4d14Tm!C=zJ2+Tmqo`_IL_7pN{Oj;zJ zDTEjXH}@HY?JH3dty@0uek{OZ2F|1spwAO*7%_OALqZHq#!%A0ZOIq(_*={a>(ye6 z2>K_@?`K!ykt#K;z~+bu?f%kS)UPIw%i=J_C+W*!1x(BsOrhkEA{BTv0L$f42?85x zrN+t7fj4)kJAeuY{_x6Id6aP6pG)-jEYn~6mn8bk^#6}U1M(wcSSG@V2~8y#ilG`t zS%34X|LcpsXP=C{K{zo>4W~m>oVXbJ9l&HnXazClM@GTZjEqKx^SE<@HQPIyYVjMf zb~T+L>$Rqs3qYbwvku;1VRP&Fl15ULu*Zzi*?MMO%BZW8{1_38x~i&mwqxzBwu+ni zsrJr=mNu>=+0KBGmYB=iS3Sl_?C9)g?JMuqX5iTl^pyqgA9b%hb@%m~@M8}l&ZQM@ zrpQK^sh~x$`<1i53XlKfa;ch? z7#`O7Awqigoqqg%7PB#KL=I3eY|O(I2hNyoZg?Ijf*jgR*G<+BTl~sA$$P_Z%m&AT zSzz$Nv+)PqBIZZ^>=ggvwOp56aEO!F8Pl% z6pOOZpbpp_B%kr}EJ+bKH(iAC(*83#sywUp;T+au|0$xPYqc>kDoNwjce<8CJjiB# zV#LO%UxNJ9=Wn*>GZ&dPJ;=%u)Knimo}rpC(Pod=1!38I(LWyY%hFcmIXK6V#a@e> zcx5@}p~2(kStt&Xv%hs-5>c7h(dG1P^lzC}=c=8uDWWZpjAiw9#?Yeg?R|JofxhX_ ziVyvmd$+^8-l`|KvNbMY)0+|7=HJdA8L~cON2|%K=_!wbwl%c-)i+5ieU~%e6`vPp zIvr7jK7I0(c|lNqkEu?VwZ`V`Qj{PM1vK3BiShYrvwW-?to3p-!8!$ zHcmzDDkV8PMJp?u(kEV(RD@!%Ndn>U~Gt2w(VOSNg%klm9+a zY~k;^*R84~%)F#HUb3)Q8wfV_R2Gec+Y%2Kb3+k3t3>mQp!8~{$$r$&jViSj!Nyg; zSK5b_A09tlXDhS3{$WB$xqN2#D;~@ZyXok7Sb4d;c%M}uWq%ppL=>92FeiQZuG{yv z+8iQ}V_9ApnY&fT&6#?n@kFcAw|#vt$!wNK;-<>!`@h{Xzm96<{Pg0{fMopCl_f6; zS^O}U55*nUH8YB>SL!BMt=8`oE&K6yYl=|2&U=P`l~@@wy)_wrYrSbrMTNLqE3zu8 z(D#ly*Rf%pKIF~5?#?vd@>BlXeHtf6h9qcLt9OSMG|xUJumC1SXzL9B#d+QWZsFXe GYyS(h_QLZ3 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407946/1/GQ_speaker_On.png b/GemQuest/files/assets/214407946/1/GQ_speaker_On.png new file mode 100644 index 0000000000000000000000000000000000000000..6b5a57f614a760a73d2b45aaf4db17c46922d676 GIT binary patch literal 4765 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214407949/1/GQ_back.png b/GemQuest/files/assets/214407949/1/GQ_back.png new file mode 100644 index 0000000000000000000000000000000000000000..dfbaf9613c18e0569cce199f397acd76a1d0637e GIT binary patch literal 632928 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
5>uT9vd3QP-BR={=dZd}fedTU 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 z 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≻s+ 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

i%dkLv3Jotlh0zVlrn`F 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

Xo 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214410990/1/GQ_Screen_pros.png b/GemQuest/files/assets/214410990/1/GQ_Screen_pros.png new file mode 100644 index 0000000000000000000000000000000000000000..5eb77013e11e3e85f74c690e11695b6bf528d321 GIT binary patch literal 53887 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214410991/1/GQ_Screen_frame.png b/GemQuest/files/assets/214410991/1/GQ_Screen_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3975b40870e040ae845b3cf29636ceb2392d36 GIT binary patch literal 116532 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

3yW)l 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%0D6kWtTA~ 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

x#9Cwc{Q8K7e~Rf=cafojTBM3k8<(_oL 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 JFSMLP{|nQ@`k(*+ literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214542951/1/GQ_StartButton_off.png b/GemQuest/files/assets/214542951/1/GQ_StartButton_off.png new file mode 100644 index 0000000000000000000000000000000000000000..632426e0916930b50dedceb254f05b8547a919f8 GIT binary patch literal 4465 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 z z3A9X!IfrVU7eK#f_fkE{_qVBaSF3LQLg17{u2eJcbV4eaVj~v2c5{DsgS=Wf^OLN1 zUZ~|f_*tX)5hOp*UKb2)Y*2IjtT>feajqMZXj}P2wBdW|_mlOM&N;>NxhEL28dK%$2IoAH?#{OllgP6!`+d=*#aNRQe zPi;~jls$V+p860+eAzXh*`|1c4?n~Zy+Qs7DJB0h^Rr3+6l(L1*Pqxpf{f9aB8ikh znyYb&zEV(8M}1A(9Z46XGLu)!IEe4WRtR0?RJp=kt@y+IWYUWbRM$r_+QW7~kqz3m z>vX^b(Rd=`iV^^QE5v+YITL&sv zeo!Oe7+sm-rQ|o5VCU$l*F(Ur=60$=G~^o1i;x9_3zeZx&(0ZXPddRqnfI(rshQ4w z`MpL+QJW6z3}H_hP`X=kf3d#rUu&9V<3iD7DLdN|&iMCQVaF82djHDsx^vG{$t4a~ z?w^85btEQ?2@H>*nUr&kN?1Qgf(#N5di>G_JzLmzA6&&;U$x|iC(Y2+a!jhAcUuU6iBuHFV-Ys>y`@ilPbPVB2? z?BmUrqSv3kF)sPjeG8$+M67Ue+*fz1OoS)4peS2gi{)A9->Qsw{unT>Pqbkk%6z>= z;c|owf+5VgUR>HB+5$kgIStPublWVp-#3AhbjX{#e|gh3@}|h)`UgEagg!`f>ZdzR z7H?7)FMbw}{e=7%WUTl%0&O2yOE;=^MYEM>E-)*+|kIv3sMdqI+}+B~Vr)EE+d>*-FZn-R`%(e~g&o0615vs7ENl71a@wcJuVLgJ%$ zp^SOhs=;2^_=aZuu5uv{e99%hDGu0KczpPs?IeRzb4|~gfE$wjwjKBT@zK-ChLM<8ZrpdE|WqUD@^jUfCag%Ku$hWK$)mg6mRx zY_ccVV*SQoy1{w5*38)$HBoC}Ec4np;iy{>Z|Y3rw8kO4h!{Qatp-u+dlt$ctOl9N zcR{sdzPIi<^NOU$F=4B`k!Q9A4xftN1s4%()Cuk9R_+9pQkO6m>Sk>!rEjVx>;~|i zLnpmVNeDFFMifa+eq*2cV-#g26>CNvhT_Jr8LyrQD}%CICDFlWqZ*$E5#FmS)2@ee z+G!jh7W(UySw(70uhmb_4o6`(UzX1XWuV#Ev~T1 zpSfra0X{Bg4m9;TnUPz8G|1e7l^o)4hdKa{ZrGc5_@t}$0su1%{u=K0vx`d zX^Ex$N58K~ViRzGrywK7dd5gdKyX{e2j5Du%{HNi1T5u%Ej6#UZkZx~nRC00KnFU}& z(SvBCt`xT2iO|JiS$NVU5y%V8g8Nb;UW zm$|?)(%IWO)zD*#ecI7xky=Dm7|hwlE7{lK*V>-y^@tH^@FEwRTkDYb}>^cXw+geNT?q;TO0epMS{EENDF^M#xwq3FIlL@)a5s#y;)?yr zu1sS!ao;HsB$yrk5TS*}KC!D|t5%%BIiz7cnj!PW&iu1YjJnHujB<+GU-QFrjyAf0 zHksMocPKTS1yzI0nNfbA9X+SpP1FiC%xgg*)P?;%bDFBY57v%AP(yvUJKmx=O4SdnkQ8` zME6X~sC>_1drt@DtSUAG6`n_I0hSrig}u zCtFN!v0yH>p)B;J#^A*56Mt~Ia9sv(#{(|A^n8Bx5kl$POhA1A={%_xC}TTVeC$H@ zFjNOF2OxwHUfVW<94?%4N1)s8c9noeFNBp6k$D zxzmdn7kD?Ra^zgg3kSojXqSr5OKRr)gS~q<8-z&Z!=H9?9*PG|+DkhPW7EnF5>_Y> zQNgaS)Kph-+hEHyM3wflpLF9c8-+Ms(yVHqI@~`Cc<;)8fzmSc{X(whd&@ROoJ2g|N zGM?dTMZ@g<`@4lycbE8I4ME=;37MlY^JUhpY=y?}R4bha7^nLu|JK^il0LCN*0EON zdit%r*`|Y^44mlRm;s@T1jT#V_cUaZ;?!Hr>oUYAA45%c7!KSoh$fj7Sxm$FJ@j-= zoLO84{kgZqhEBn?+DH(J;F6~=^U$~0u9^SYWOqfHf)1&CKVw6pLKd69w7YtCQ_hFH zejFMsnJqFZcl-y-=-Ce%^&kw>PJJ~_Z-s4g@goL@!u)5$X%uzh=ZBvxYxZm`zk!{ut2(b{<(F!Hca(^=F%Gx%IzN!5jplm*RvM=V z8duK0$7OoO^jU+HOFj)f7KbRlCvU#ifEldS%{}Vqj_{9FbD-pYjKW#K_Ia!)JYb=d z<@k|AG_rIow!C!eedK(tdf%#sU#pNzqX4KyM_BxQe;FrmFim2AZMMk36zg)4KLdS* z3W3X6W@}u{IbEx6OQ~#O6l4>YLKYsVK*WGeq_hkToS7yEb@`BN5GoU3J8(+Kl-!Gn zuXn%?7AYDl#x{M~i!Xgkzw2J!_eq-aK90!LSk&6>Xy2_-1}%p@JWtTNiE#+!bc5I4 zdevLx)IXLjeJJ#{Ef6-8fDhbXoskk&{osGFymfcaNT4kgeZ);z^A$apgclR&`Y){eaFusV0@s5<~$$&;#!>5*%Z|x^wTW(^9!AdT+qEU>kcW?w5$T# zyj@$07SbnNm8BX-3+eHE`&*vC4U*8{y6Z*raiso3O}zWodjag>@o)0d*!*dbc=fs! zXwGsr31AJwv}nGQWIXh=fv$8fUl}4~6tsf!TC4JIgE+SqJeFRZWNu+}jt(RObtLBV zBfKD%?c-)mEX!%c-p$C^>Q|mVePg%bX$i~&C*|pIqwfS=m9zUVM{1q*Qbv3hwvl`^ zn$7FHCX1QdAPZ<^iS^bs>$x%O7@mN%p#Thf_N72ij~#!ldS>>3s2Ik0^6%HnZjs2p zwAjJjdVjDsV$n_nNo> z2#X0Y%o^uyI_n_6#;o~=`QsXMWP)gTWmMp|9^P*rf1sr5RzTxu_E9c9n)DeJN2nH* zJyO&LMPTg0G05Wr`~4-5jqfxo8M)U=zb?ggh>=ErK!eZZ??qrE9V)2QPH4)er@{~< z0o9LT@KahLY45~9^i#$;kKSMT^>D0my=Rw;$Psu`d@nXE(ddaKbbzwzD9x{w^^e`^ zv%SB{fcrAdqx|_!quZs7CfE-}Aj=O9e%WILZMdceIdrZ=5&RlMf)Pano$(kDJZMp9 zbXfE!V|;`YlcBJrx3b;OF8e=*b4eQ}Iwu+|V;k=@eNq;F3N7KUi_)+!82{Lr4ck=R zjlcb=4v1O^D^AP^F1YV0chx(;wd*_Z33DNDqr*fy@;M&l+p>=pR7zl1&2uv>^grZO zO|T{57jP|`KYLC(;Lh2{mtgIYwdRp#cJI6a>Xr$yVbzc!Wp~<1Le*2OOtmF(u28SsU;(uq(d^!7B}?xZR@;5Utu zDrv64l$WUhn3SFC&Yl}h+ud+?~Fhd58+A9~rS5NjUkNwGJ=`FqbIC@J398t)L{tTCajt76ncwPmwJl4Zj zTWSs@VUTN$Z<%GCc~k{_vn{H0Hi=c zLx~o_26671ODgcaUp<|BOSKpU)vEAJDfBcZjdJbm^x>EsEr^ z$J>0cx|F8b>Y~}=O3|+?N7VP#OH~>f6zqP?`x*?W;g}c2_hFhWlenWVd#o~5>H#Jr zE1k(hVA_eiGiI-L_9U=KFZ%SV_XQBWi3V&6-MK_U}pnIsMU`@mNpD~SXZF!O{kzOgL9Xz zc4Dn&!(>@Rk@_p8eHvCwI3yD_7 zTgI-EFSD9|e|z{T_TV#M^0^!KKoaXc8o)brp{LRogc)~7YbEJ^{TcJ_?Va>BJ>lQi zyB60Aq<*!2j7y$eMQDvSRwx?sEXbwXN<-}3V*u$A`0)^>Nd!I~s5T`9RXId&2o(%g z1psK57cC&I_U`;aDLs1Y`5ey@b|5Db8k|Ql3>uia`bXal{qg=I|@ZUHnRx?{a`xrnk%0tNK-ki)$pHM zrBgp`Et=Wz6Q zCa`}dCFxJjK?Z7N-|!gEXw6+HW?bnr&1>Vy&2c;z(l7>Lt(FVjf~z+}%*51oC@4)Y{aaePn_g+JR(`aK8em3PH(NYn z*Dh_A_P(EZEPZQELmSXWwN*X_HCcI;qu`n|fu9~@mY*v~<&l4E9JBm>Y5w5Cx~ZXU z@r_`w@yyU^C~`$WWatjpe%Cg?ztbM!tPuB~`m$G*e9Olg3WWg(@mSFro+4_a`s*+Ns) z3gefwT1c^+%QQCNNM^tW7s+@OpKVG?9qZ=HryWf&=js;^GeUyIXkJV9`r$9Lb$Ao1 zK;WKED{tEKW5|fp!&`ir`aar-*>Vng%BU*4OH%aQ3!+UFYrK;nM-F)yS`7&2$YYZ3 z8Tp-r;sHi8C7!urzMn`?;cZCcP6Ae z6)8nvR5`ww`qo&XlE|=PoP(OC77n`%sJZGH!K5M(r23+~=AVDnI`5a|^Hxf1f51a4 z+Y&|d5N9oA&?T39u#vuq>P|RkhvEzAt9;(Z8L}{NU*m?4Fr?L3paCFji2&>J`x!x0kV9&?B}I{C>f*tQ zEN)JM$hOnwwakJv{?Q|Kf_l*(XqUkX^aQMCvXLHII$0cQ3MqQVnumdg=|A{1KBXGI z>LlT1x;r&S*&UnIB}1GRF5c0@*&|O~*i6{a<%q%=&B>!t8V{PYOz_^@rjwy(quoA* z1Hpu6tn)r6w@p#74NB98Cp4ua6pvk^wRJ07iDtbqBn)F*V?#p+A&Gj zIEA*);rq+~#DP)@r*`JrvZfD7==ymz4&Bf|yLSFxXtJ>Us$DD72+MBd0ZVj`@go*h zqP{ieT=&~G_q`b9B{k*g-^s?c1WNmZ+N4CmY+9_l^}jCKzwh%9Dy%mtJ~N#Pd^P)~ zw3OD^=vw<%_0w*xOy9n)o&d2G$dmh#vykV=G3g(8Te}G(uQyIjhMAvi?IK4~#`W|S ziGiaW0^?EUC!Y(VKY}d(ux>(`hR@rPZ0HZDg-5UkQI5Zf?Vnbc%UCUZv_7VUR}zP_ zYTbK!T%(5a2m4<1=2F7hb@$_RlYW$fQ&S&3r3yV|&vI7;N}o!}h4h^cX%L@1mA*bL z$5bAeh`2EWD}(qM3M3=F)KoEsB2;V2b+b-qR54kT+fs)Y0Un(gvRWyiB?#wG*2dK$ z<@wga=!2sYk=K{m`J8+d2)=j*JnOJmE*A0AlW%Vn>C zgmx&n8l`u?fQ6tVYJME3xNg20x_1u-QVB?KJYhHt2v#C=QVi@XP5Jv@x8AC3X0qQ) z0N&u{;~(Kq(!(tSu?y)RqGJbV<2E8usGd{_YS;GX{cXkoqPTvA@dpJ;rps#Y17%&i zFof96sX4mag$|frR2bOp-k@>cr_AK=owd@q$l=5vxNkNn z`~H$k$zku{{!WwauUD{{);@Bo!-B=Vm>dw(CD{m6oXZV6z-Q*iR9@zl{>dvj6=>H+ z*XJ&-(Tr+w-(wlDHVshgps>fq)Xp3_UL*QFowif9kXuQGsZJ6Cp_AE61ggpmKG_hV zrxsC!%fH6{$Y4K(-_y60^7-#Ckq8Jcv|IJ=1Nval`RYF9^{DXy;hGJOSi z7~_5`=~@c|@fk43j1Cgc0bW&AbSms{4WkT~F^#G>{b3bmWi{!T`;>2I?7(CRO?ZXJ zX@X1%te|4-X@Ye>Q2lUtwOcSJ!gY_jsCN`f4*14e_4nZb$t#t-yAPHHRfQmdVk=Pe z?+jltI{L6W;;w&C{=}c<&24XYIH^CBi2(gL(#{%+X08Hs zN#3t&aU)e-ae|)8GPF{`AeVY|p3Q)n)x$#;#8k0l2L-88_Ar`L@j>q?XNYe{g4u&S z_CKvKNxHbcwN*F!bk?oA->1y~;LAc9`ALrHGxmaw_$y0Wckf}m6!;Nc6ZY#j(uUBX zwJM@6Yy<;Uw)w8NfM9802({?GDXZN3`$X%O%G-E5A-K5%lg8Y

o?i6CDq5>YG&a!&bvG~Y>riITr_1N0p`yWL&=i4CSXu;zTl#^8-Ezv_uV!}c(V}$SHGQY#JJ+Fibz7j?|3o|6 zyB=3XU#0JQKpdITO#Rx|?^Khd!EpBLoDRVML6>Y+K4*UI@E~WtWZ|w@rY5)D%ax^% z=bkE{`X1kW1m1_lHad^3vX0}Oh)WjJ#Y7LEh7l>YHNQt3`Ite{!qK@7!cNr5xOv#Y za6t@4Ui_cCA!;^G#y=dwbBUD#Xx>P2zMlyCjKPMkS?5fJK5PRYQ3#@)bqxAuad4p7 z2`k<~jos#M9A?+O39h?(Qel|)?4xJP?7(XuCH&2a8wNZCNxI)>rv9^Bal&>EX5l zBejI7wXi2ciqfCk*>C!us5b|!aucD~!yiF9wjkU`U2w>)9>OZSKeam*kvc?S_A1Pf z>vMX8TQQHp6h1bQqh}h-@$2+rz?bQpZKQGb>AmzWR=IfxLeNxWt*iob7~d#r(Hi0= z`QZ0hwm)@Ust07nY-KYE<2MsS=-7fTI1KX%pO87kv=(6!c95WV7-Dr8Vgw!h<@Q=9 zlYAe|`}={yyEQZn2+0N;h$cEX%VMo6=_)hNyhFRxcj@ZE0AR;(SyBd&qr&=8-Fk1C zZ}UeleCr{+v(V3zJhGDwQd*nIu9nBnix1FauQYpVxz9+`#i`_jdbPj1>^wc|URH!# zrWQFEr<`W7O*bJb5)vgR!G{D2`lJiIkB0`)gGx$8 z>Do&c!w*~5+{L1&%qYC-O#zeN{06I>pgL3q@aI_a?A0BfJm4?oR=d$5Y zgp}s#J`r**XO}XjQzT|Sq4%%6o@X5oQ z2Z~p8)cj8LSdz||>UYSD7NdFDOZ%$y#R)@oq9Ti;7mc;C>a)_)_l1+-hS>LC+U3!G znJx~viVLMQ{f7_<3$GGF-R7BeFoT^o$yJVR+e zi>Q`3HYiuD40CKWd)&HL^TI+tc123n-?)vwPmg-8?{NVv&G&<2#qdZB*$Y+Fy*Ytm zPd%ne*h{&>kG5rtjy~x!^CO{VWBcbh=-#4Di4lweQeQc|Xk$aL2>)<;7Vnwo6@Dn3 zlZkz}ZOA>Ue2J%rz=V8a_-M|C%Z-c$rHeq4$W&=}8CT!^)+*HKM?)s^CcD*V7lIeC z?G9PVcdhv`a1F02b*aEyxFG1_@$UT_E!Ln0(D*5~|DDl+#YW))*zwp0Bp)8DgF8Vd zF)ZE=rUe90X1HM|Qicbc2;KK!S>@Ve^d6;5(abX-j6s23iaQisd3aCQJKC{0 z=|M!7F+ZigK8xz>XmF#>psWWg0|ap=SZ{`PwwJ!(_z&UTvak=bOw#a;niUT)D(@y5 z!r>YqRnu8vHlkFmJzMv)?kDk3gUj2gDbM7!H^n?Zu5imjYE;8_KprP!eWevM?#0WA8K3<4r%n)P zKp-mB^(CZzb3&hZ$M+W+3>}BM#a7MLE7_=g!)|6Ebj!R2cH_q&h1_aeOW#@``bRzrT5@K1ZE|pmF>Nw&?MO}1EV2|@P`jz!r2cKq2kZUf|R*t4JRUp z4ATniNHxw!{7AOjC8LTCET|YJlxQ_mCY$6g{Mx1tk7h7J_g!{B4ki~~viFHVa+-a` z$+1SMgICoE;CpKQrz>P?NTllecDj~9TxemR7YS}L>uMIkEllHn93JTVQU0>*PESKi zPUDV&KtbapT(Rid`0oo$i3!a~_jzV2^Lv*2+G^V@o`Z_EOM{?EW~XwM4$Ci|-}Cs; z*DqTE$Cr@Qo#G}cf$X(B>v}cK=P``^1YZ+s7?-|QliA$A78imE%0>w~phOr{t?8z5 zZPz-JR=i2T*1Fp6N8MMq=XqB#ZUwk1M0$4Y#_3I%iID|-zx{{{4E-|(_0O@cwGnkF zW|@qHx^XDDx8AEb6rW*F2mn+9S|U*rkWMytAWJw?()IigW3EXg?de-wi!6&L$n$at zgc6nXX=}Hx_J$YjpLQ+&Z|@oOk0ZR&{kKq;was+$wPXp~xwh+IAt+4yUO^@rUHa;@ zU^X>+@l=%m8E7Spp|`AIjbT(^OZ_oBn^tBQDGHWTW2&kq^283V?!ZU(ij()tToaIV zexXD7cmVpGXeC(YpA;OZ?R(BcmtDEG;`Fq_LkJRV$hanha(b?RvscD7eH+L7lRR|B zC^HRzO?%1M2yGv_flCU=7->$Dk^z-tPOy)5w0=!gm zb~MON)q~$itGKt+&2xT}BF5Go!i4Mreg5b?ACYF{d3Dn2>I(oMD@hgl>LuBTxHSfz zv+RWwutELTSvS%|;QCs`a)kG*`iOhx3wniL{LS_P_QQdW<)(WcDJJ;;35Bj-alK%E zL>hGk3ZlZ3oR+D+TMk+69OJta#DyBQV7m`3LJ zlIOpV3*gcL?@B1bxlxGvaZm>H-iXmR^3qrF?OI+Ma!0h4`h}V(_n!Fq+)vl~5XIt^ zsLMya`DTSd%wrhwtDD|HjQa0S%wk+}5)0!~#O5XFdzfpw{8K(i(MN1x(xh9@P@UVidyhH2=~xp)?T(7jGT2Je zr9a{cRCVVG6+b5X0#9dS_RUFmFZ})^)&K>pG5jk1JXEoAWp?&iZ}p$hg>m0z@A#6) zf+A^t3S9J1@aEg|_>8VMa4L?tGW{Z~CF%>z2k_tdz@ieq;le0=dQy64wAq49;_;Cu zd^GwxObXkNDlJ*rJEHFhiCbgl)~FrX6qN|r!tTE~c#1~G$4<(^T_^#QMyLpk_U80~ z`}D6;7kw4MEAo}7K@nW^NzeF5F;pB|z*~ZZoQ(UQg5F9dA~NJO((=ny?^gXJ@GBTZL_Pg^*D!_P)ZNk_ z?m5rkPTw!wVXy*mY#oHC- zgF}lB3+a|vCZ0k!!SHe4TlWBL&3`G&dE#sLLFEu=H>J=n*(M^YP<(@6($|GN4O|^7 zT_2!scw5jrc2V8OQi5&mUuXa-8WdmRb()9-*?Lf?rW!js?Sy`L|I1v4#1^5a+z>(L zITOptQ@)SBeOA##-w|JWAP!T#x@m?H*q~h?@<=3KSYrEB_@e>?T!KdeFKoK(RNBJ_ zxCCr97w8}kq}2CKHW^k#yulQ-)XDn0BW@?19nH38tXNxHa+nB?k;NlHL=#6d$A``N ztAPI*cu8cF80&CZOMUZL6o?`UPwx6R8rDwSaVPg`*bpm*k0i-hwt%68XsnpA@oGqY zu77|pp459$6^()eBM=TI3FGHfB}(7nU3lybTB+9x$WvZF~$TlC62r=}_LROY7!*_a@Z=QyKb*&7yuMzb>*C`}Iji+g$-l zM_+26XJ}`D+yC8%126LK;0Grqkvq(^n+x2_ zOpADNOv@5CXc$pgUBxhxNNWWe?91#)^fw#%$TN)MJYRk;xxnnj>*Kv}1*gJ27-+DD zE+B(@RfziL{a>i16A>-WR2%|^5sCckdD`O}_Yeu{;RtxNVIM&7#w3T=L(tY>W?HCVL(9*^aMC<`ym)5h3G@Wwww{#Ep%+U!a43_Hey>!(w}Qus z>ua0Zo6QbfHUsS+gI|32;7NaAUO&u6Bu66E@Lr5OJZDDSQu^s z_xfmIRD&BDkeH&VA~-hymSx*Rm?5UL$l>#IZ)R3MeI7wcws)AG2ud@vG4`NtQ3 zX9Mo1KW>x3PoB(5+SI`VWqkG8EURE3iOjt+G*}w{@Y}T0`_D|yZDIhS4bljxAyG1f zAew_l|Jh-6zs@hU>#eB@XM_;2YJd1DubCTJ87H@UHFadsB{lb}w?pb3^I=c~{vhMZ z&Nc`Bxo+??({337B;grl_EhXW;`-b5OWhf5HH`zFLXpYM}Z< z2)bkn|Ms82-Cp8P|GMep&m%{;hsByylMeo-t^a+9bT+B$zrh+0_&l<&9Eps-Tszdm zZFo<}#jesPr2M-S7u`GXS3WYp4KcVW`y3c2_HjZ*3$cL#&sc9HU<47Dgxt?;JiBMm z9N=LrJ1bKtJXER+K{1ph(1v)?32$%jV%98NmMmzarX1s zg7XAB)_HOzpeK;ljg`?D1bnr^eukOVTFRO%+XLd||08xJldhnLYHN;@&VO;u07+|H z?A^#8go8epIOb7PwoQvoMG{H;l9N2Tq|F3bBQ9TWS%K;rqVdPO(>oX<>B>(p@ESR9 z(d&Bibze!yyh!d`gfv{}ZVegjL>2=r_2xqZFiZ&$+!v))RsX>@2&H&Pf%j<$ z7R>IjwW}wu{?U`Vb-u{DRGjvVO=O()QP$EXkqsws;~4B@1>tWiBFMVj9eGXIo(d^2 zb^p8!O6!NJ(o8x)CJP{gE+0iyJDlqeWW+@Ve-z#gdqNesFcKx#S$B9UP<>-fPGgG5 z38+2QyLK#SD;VNJV%B-c)w|fZUvFfQT2DTsWwn!mmk_VJj92d5h!u9a%?sCfBK5Rq zW>#iaNWH?3ZMseGW{h3u3`7FO4=A6oiZ#D9_7>6a&AtqMF}^i4FO(88=4F$WTm$Im zkxVdIy^&;x^_3Nj<@jeBV%o+0CEr|k*c!>@GGsUEup<-2=YE^^kclq8@j|3#_!ZwN zPey=5UI0fjDgxK9QS0!O#knK4b>&02sPXBd^U~^&mt6PfpT;Y~&pP;>>9{8W|KkAx zelra{pcIUMYTiZKeBiuZq6gAqAN2mY2b7C9K2js{j4{ORvTqCzYW!u_9!oC47^yA< zl(jk_;OaA|@Z$nBNSG9|$N2P67!+Ai;W3fEDmEQ~4t*%7w zaumIaO^j}=Phx%wpT}5hW*IIBs_+B$(B2r|KWJFMS2>|_F$QPr+QTZLJd?Y(D0JQt z1iR}AVgMO!7(tR`12c=eT=B43`AM^VVKU}q6A{pPG}?+PQKl>geB>wnc}{RP4sVNd z@td>6%QAG?WJr%hmgE1)M1Fk9LJH4O`78@9zy#vUrQQna1ZCF-IVb_B?xD}Vp40p6 zzWovduV3>Kun}qSAx^^;u1@e_M*|SHN}<(H-An)%_|xCY44=O3#X8$CJzO4yMYWtQ_ICu&im2hg*c!O%q6!L+Fc!LjRJNAm{q0@3g<%0 zROkzxtAWpGJO`$W-h6QH#LNT34o;z-a5@RHf^<|w&`!iT9OG-DFEC#J5z34Z`3)>( z0px1jLBBUTC53aOgU56y7MOp2BHDfW)k(7+?)|h3vb6+yS3gK0xcKgHHu{k{Ed}XZ zpCX?@Q&zI@l4>ylzsHvul7v>^Vtj#$2KsG*+2K?P&B#iFDG0;J1u8Qa81WAkP?ZB4 z#41Iud&1#xr9l9KsKk(HCoQI>!rKurZv@s=0ad}0KJw&Dgfj-26yk~0I5uz$S$7z3 zMFngWT6u6TC(7}^E|8cdll26xb#J@C>&2RR3#i7u$We|td6O2b#8y?(9%AW(``c;! z_MVdgcUIXnfU;O26&{$^d`dt&o`&h1yXL=&>GELX@*xFxr(pwXHsN3j*xnt}NA_>z zxRwIz8WK69p9TJkf26DpQZ7cIaslwC;9Na#p$P!$NxyHn;9;4dr!)ur4iGXENUJ&8 zgwWUTeHn&v0hgnfXaM*&R0P;R5N_bvjbHzne&Kco&I`2MWkqvLds6+L_?ZtM3=geUxrbEEX%?aq2 zMqJ{M0bq-@NOi2D^c5rERCqRbE|3PB&%pYBpCF1F)xY6#iTB?@;HkKP|NsAgWx9KI zy`%8~L{Vu}pWU;q3xn?G7Xf`V&SAJI!9SPX#-^*gE*E5vW)a_uz(5cm3HPa=f`hcn7|96~s?lNIhhix^n5FGdQT}M9{@VsE!nP#RESJx`5+Cr(>BrJO^cy8Ik}z2;(Ery2!3GlxBOebBucF z-S;#=oA9B3^C7X5jJqHm`l1ow;=~dJy>1O?+rayp`(LLL31NaPR3%kJx`b;Yai9Km zfa{*}8j;zFe<&4d+nK#r+X+uwD1j{)s=TrMvNhla6x4!utqmpwai$6|qtI}>K{-J9 z5?g8D^>U8Qa%=U%N>AG|URUMb+HWX$sL}fPJA~o*97>Synj;8w;$Q)~>|_h{rN9d> zmQ_W3ITZQ9_CowmPg_5on?FC$TYZ@S_t)(X_}X^sQ+8YCn5_B+jeIYFPyV9v<9p;p9n5n^G*Sl zv~4GGhmltH=M#^&cTPl+&CE*JfO0NyhWRDeT@{g}$<|()uKFD2L;{2dc;_?=FW;_- z=PG%LgI|SlM~kbusWAaW$C)7agbqj(QIbR6YvS$bG{pdY%gcSu+jQz-8|2pIMsA8( zn*VZs4i8^I&DgbHy}L6~L5Gmd)%>Q-1;BUY+rs+q^7=PvC(Q6{#IhtT*Bn3RjjFO$OFrLwE@J2({XOVddb**sF^dF%1c~!p`Z0+F1CwQ{BK2{U>uiWXj?~5(qG<}$PYS5W4Msw7e82Q5+ z#q_bKD_@-HdTn*UMSf_outX%sQrJ=#IT#B2ePmk$a06!q~?($<$?aBnr=Q}4W9fuR!w%~mool&&}oa?zh zvc}h?qah;riQUgQ-q`|24a7j5T#`B$Lw=;WM4IIDuLPT}zYctRdX;k~1o9W~wga4b z$9-c4EZU9UQWU(YB#)4UJ;jUUc)|*U&UsGruXyw6nt4KiEewm{4&Bx&@C5&Bv39-L z+@zh9oM_^LLwG6Uf^q7^cR`)unxMB4qewI_=Lf#aD#&GEuiuJmUCZ4vU&rOq$dQ1z_1dY}ca^x`vg`aSSB9qwtJRt0p{P(I z2E0|+PnNw}Lcm=}Nn5r%&YpCD-hr~|P;>vTM~M8oYQNWS8|@1-1+CH#02R{mbDLf3 zl!UaMA zAmlVaqL`U~bns74P0)A9H3aT&=JQ|gy#CNL6qjabmCpt5dREuYc61MGqLoOZ=!mnw z`FeC=e}EjUM}`}IGQJvV>1=T6sVSl5CqYXKH*g9Rw@z7hBZsa_;N{3NpvscC4`uQQ z*z!RL=>BO3mBif|zJP3@78xcuW<@7D0+hULzHL=4)uDC|2b1O_&(pJme3%Ejb3ie~=)q6pr)xUxiamuj)Hh6dp){-O#qW2<1@M;w`d#uI9S0 zZM*O<6>xe`|Gt;E9D-U%H!|s&GX7n%S;-OkcTCr{Jfpc+z*bvJiIr5n!OSj^nWc#q zONM3RD(slpy8;)NobyxBKr!yf!?FOklb22=&)JY+0}eTx79l;NBxO=jtNw0qklVgR zvibCy*GISl}Jw=1gr+}zwg@FQqp{~7yO6_QwEnm7#8NCz7^Mh;0eNYFOY zV#mPJ_D9*&`*Ky_U29a@HVNloBXxOSP0-+%;o&&HpQGwP2|-rh!n`=}3+>nZ(uq`n zkR9$^lOb-OV{X7tefk6MVKI*(-t~^n_Qt6!8wv>mT7@7Z?cOd(Iq7zx>Y#1&3M z(~uwI*XnP4*{Y=!p)6riw+pt!BMQ-gm=`TMEzHTQ^Y^A(gS%A3Q6BwsUpk?P&fZxZ;zyN zqSC|tcLhk=n0a|vy_5dvBD7=Bq2I@mg#_TU@( zvI7mj;7XD*3JfYkShYCmx#do7Z2f?oz@BrBVhO412RVo8Db3x4gD~i4F5Zr3)*`=7 zgP_3U;cuZ#bb>HsItS8Q5YK>Tk=rTq!nyw~$^@^~6TxI!Ov2mK?j?2hvJgew76z&r zh3;iGGF9xiYg$sW31R2DZ;;XAljt#3CGr8+3?HeC{NJr@Rp|f4Vv?*XHj%CkQ6wC= z=W)j67@H~4D}t)HDP-Uegc!1UuGaV3iynyk9#-!Q-{t+RMt@B2Ef5e~yj2FjSAEN- zt++$rZEM;xHE|SX#HGveggq4tJ8NR+EG!|gmm4NUB3pL=&X66o#`Rg+E+}LOabMiX z|Mtz>gcna$%pE8s@zcal^B-M-h0sY?s zC4^%z(K#QG=Zb#_x^0{U4J;wF2+l|%FcF$q0<}cjeHU+P*H=Z}sp@hX{g$#O$oi=| z2Yr5|wTkk%FN7fCG~lBgIZne5w15Sa&xv0yttcdtOr9(1&z*$`&?tPUK~8kv|D?-9 z>j-R>_IStv%r0=LG5YEJD7P`3PTpLl13*yF7ZFlgZhof9nkrvo=ex@dL!|E(HtXo` zKQ>TWIV$?|_1G6QX6sE*<47NVI+iWPPhfmzf3aViiG6CA=8~tHwQOYtsoEL8_J^7I zV9PJO=3GyJr!>4uriIKMXrPO3JFwlwprNz%)z5ADGN?+A@Ly!G_;@UK_zC_?{O`xr z$;7Wo9=`N>8*{_%dCq@dXRSXn**PqlQh#P)EV>rdR~5i5yQyk(84q7eT47%0`k%~T z$*WPX2HgJg6H_44AQ79O#6gcR-|gtZg-j0hu*d%url%mkp9?l8FJeWPEI4>c_suoO zsZGgl)z9`RKCXCj$?3Dv9u(}vdOy#`fuIe$thC#J=_a$KBx_Q~rACe&I&9P?s`8ia zASWy$%oBxZ!hI_5R?0u{AFp@sLNB(SBns>3J;b1|DS4K9D|i2bwxe=UjgtKBUumTk zFig6I;)k`448tc5(`gIY!lDXw`?AXK=sA(n8O$VTE64xDyGio#N+hrn_Cmu)R8Ahr z{1$1q6oQvKU!xB?cfz0F44OP{popQx$ZD~%rmC~{wVIR1RiPJUsI!$+Qbd&P*cB5x zP&(&*G*xTNCErj@8D)RDX4aH7eATBpG& zXRY~>=G7P@D!LW)F??$Si9uRNI!d)~j`@Z5V?$^OWE(TsXKNPwC~$T|_pkR9-mUwx zAT~P!+Yay}^A2v!;q#vh^V^PF_6}>c7{;zNe?|>YO%3i3?mkTq+@@Yyp4I>Qb=zA1 z?Ot=4oldp(8ff+Isj7-8YS_JTy!WtVr}o2%x)vj#2)S!p@gXsc=OotFe)!~nl@-8` zfBvl}4Gl^Qa+`zp_N+!HK_O8T^vL?wt)Oh; z0MRQm8Pposa^Tcd6y-<#`gMhlLi_UAPGs8lzF$d|7Kygv5#w_-No&yvM`>*^o^bj= z7Wo5R+MVwp=%0>Ki53S@r7~l5pC9G18W=;0MS>P)W-xf;5|4CydT}e0n5rnrHODtr zSml>QqRGY_O%c($nG(?-W2dT^*X!4EzwdpxeoqV_u1533Q7UAjJ(L;u_~@YF7YEfK z|Lf~QAKwpI5`7W^V&M5t5c-pki)@a0Spet3b$RCVT$0x;gNO6Wk0~QMF0G;;Bd2)> zkMF^Tc{8rhMqOE~_d&A+H4LFXnM?Cr*Qih?3XMdOHC3ao$l%#bJo@V!lSkQufxW#w zAJH`H_BWNwcNbU3-Y1j_rcp|JJU&y{mY>b%sc}p^U+&s8OJ}{qQ&N7WS)xL~ra>=8 zUv%Bb6U^d%&}*&vn@|cy2hvyUen{;^_M0a${#V)iYQpj^{Nt*;rC|WrWl+?;dW9eH ztmq%9uz=g__TN`S!jJ+k^S=```D4Yys0c@F>>S|xC}zV*Qo+-|sW$ldbL1JHj)w)D zvzhI+e}NlNs%a*7x05yHcgNEQAN)02@@HrN!f`zx()*;34**ExqG<^vGfWy%#saMjL4RK{$f+cq;r-#erINv> z#SGBP&~(v7pyLQy<Za!a}@<#k(P;GF+tQW>PsNvT=Kk?R?U#Rgh_)~OBm!$3H3qo0X1;CI) z0!4Y9Je~wd=6L3n_|hSS_B0@WV61KFh&4tJ50q|QigLq3c#H%o%$X<*52r05NiYpN zaBfX`2`e_Vf3O4*%ITE(o^Ic@4-T!3!xQ7x*S=qEm_dRCw2`5D!gqr5AWTNQ41{SZqM*hKBXSxY* z=@DQ-$#8mMZqVSSQAbWn*mo5$=Q+6P+PN~mb9VE7^-Of_>fod%UR<=5c*!9P9Y=UJ zqUVqEtLEjfKYr%o4!#lmvWj7^wFt`gbpd-&>W!i-`l0{?`I4w`z3Hamtt;{6&Td(j zMzIA>sAKg;)sh$=0`uSOcQ}<#KgB`c{5$VTwa&-uh*Y!agaS|+%!##fto$;<*q-pX zgaEw$@q`z(|JuRP_jh4NC9&BP*p^FMV^cyPFbGo9x$_+i{Fk-D|e^ zyB1|(D@H-`E{QAxZ7|repWmDuTlX{bm`V-u#m_I4I*UW);9UP1TGlnyIz&Azt)Dn~ zfQv9~V)Unter@se^aUHGW4IJ#fc}Sd86@KM>j%GX!@X8)7M8c=XCh)Jjf|;S;q(Qs zc&qtO?!c*^pwdzg|8i@a8#phuGP zHNXn>{Z-a7hu|YSFauPitHU{1^6jlU%ebKwlBX;6Chc|Ac3D=6*B1%d|D=!TO7V+# zr%k(t>W;uR?d8f&X&k7ZCM(dYN-_!M4~a*;j&WG()wBZe(};n&_PgIce^7besv`Vn zKQY=`|3QWOrM5R***5I-9!)Pi)3dV?t=hYIbY)OY#zhz=NpV2X%N!G^-jso;{5 z*G|r|=`WYV$Uyu~-VcY4$r{wY=M`RGTD7x{?w7%N2$;w-u?>{}5!M zth`IYp=YJ-P6pIpO}~!dN89Q(dukM50D}^^tedWoG&GgF=aN2PsbmdY>=#*sj4&~{ z*vgHUX;>9~e!eZ@4Q6VLW_4_Qh z$fnVaoI%a<=XlVtKICMEkMBeXZ|>kMr08!cBl<)fAZA~F&<(~QQ+S@|@%5P@B*|9N zefGX`7M4h|7xdX{#=U6OTq;UK8!35*I0`caMtN1h1VQ08qTe=LW$nq^aRj}8g4 zxkzFzaiaOd#1p4Rva4^P0v$U&9aybMVxb40JRyK-{&2-!pq>t}%#rNu0<|?H1`I#2 z7kw}(?Az*i(MCl?Ox$De5NYFuJPgK!Jc1i|aBXPrc)HDe#P_13wlDyg1~OrYY04}_ zE*3B?Q;1NsE`lf%n@0scD~f`b^{ib!9E3hzrAbP|V7>`u^3x}ZNjd~MY(MO>T3M-y zlRk{X$C;ut%7RjCgMusANYF;-Qy7PMi&!a@ntf9Pf>6?rW86h<$tw!=tW7d|tL#)X z_>)R@eZQEwl-Th$KkBPIY(U6G%Y@s%{c#)GNw#>wy7RE8c{1->vvI0X&Je~uV4zL% zI*FfXKqKiR?5W1fB9Al~e*#M~QmwazX9BDC0$C(RiPtg;N9xV*+|4sIwa zp^hj&bZUdFl6YHPgwg0KG=lY!#1I#r#|?qcVDt~q=FBh5g3%lRpLwCL4&>?qnQ5pi z2DcaH`WMx-F{8`Ke}1{M_MEN14r&bwA3hxE7~crI_SDGXEX^dcZR4Bfjg`%I5r%-| zb|06=l~lC8y|1M8lSRm^v51Vq10I}t!5CR8>cTg{2fTOii>}tqPeyHG6vm|Y%^FNs zxaNHCZvuTqA3r<Q8o>`!3a%ZRPvWO}c(lQHLimNH2|EyCc{^UsIhL5*R9T$?(lhE2uI?TtWZl3E3 zFK4AI@7IeWJqk%5zk8TU*c9$0@49c%%Mcd9{16f1Hp&fI!nZd22AZ0cRqC?AMe5rf zYX&C3`_Upbi&V0m)gO?P^4?ZRpNCqQX|df{yqJ9;PQYLS^!%nhZIpYY*XQOUHku$D zhJqS6?k)bEda-}=1TKiv-&6w@F}TvTwOcqoq~<)c4NVkuTlYDAe@%xgP1paiO1n(1 zC*&-9i$-0xC&uk*1VpN!ij{;`fjqXLDuc;rLC~+eI)vydoh zv}Nbw1SASUELja3pjxm0w~6xyg(TelbH)Bv2n}lDK`V9nQ3vNGB4GsFnw6f=2>bi_ z75OimVtUxX6e~B(D}h4H@R?SsC_4rh6nff!CKMk^Zr?L>Z=!RAoT}qz&&8jVJhMC3 zWmri25LBG;O5r3R&4cm4&K^xNF7vUS%0XlrzSN>VGhB2qdGU*1b42ZkQ8I}(t{d)k zZwsf=pM{ZE?z1Y$^>2`!`yJb&4h|2A&XYfRIk7Lui>ofV&190dUJ@FIp@t}s=H8V2 z_o0P7}o%ITtay$uG(J!%FfgXST_}xOgNfW01Vlg*c09ymbHP zZY+l}siB&AgtX_GA&?LD{>RHQA zy5!m>@x8!(o^ovvuSETwbo}(-_9w~brB+QjxJYb6A^O%YsZcYOSP(7zbrjQVEC)#2 z1Z5tmM`QZPOuYEjuf{$RWn&hBzoS=7ooDQ8vu3OEKdCKoF4}99%I>`=waAV6?NABs zLXL4W#L6zYkwSn`J47mK-(D=cNtLWV@nABKilEu_UV#p_V(BahwoqMiUF=>BXDyJH z&#XL8>Y$*etGF>=Xuy(sMfPV@+!RW%t_&67 z&l6&mJ05k9oFI;o8~*N{j@R8L)k~gUJfxevqhH^?O|Q;In%IK!$(CkNi(#S%mX zn+6;)FH}4qYe5CjfW#Og#jpH#_V2qH`=gHKs@zul+F845SwqLF zR#veht(<8f$wLFhAwxaoNWIwQ@gE1(*BL);QT&=Gmc95YDC=c*oo_PdAL>M+p>8W) z99~4 z`HlX5>k-T~DS3{y0#Q|xRKV3*YBOH*q@HUPn^soV%(E6aNmputfez*HvlqHY^4~B+ z*2`5i)3@2^wAWbr3n%Z2VaLKgSY0`WIvErkd~aXy34#FTY6;hkmo9STo>KwA=_IjO z1Zyr&7q00iN55j_`?IO1#VnHTN&qGrw^sX*YyJXX4Sa|D>1GpPWbyX1#TYP&auk>! zENA)8-mW9u7JB=q?al2#%?%|cz~N^tEz_vW-x9+)=iry~fjupGPJD)cQPR+dV?I~~ zZ9mhb?HBdj_XovZc8?`n@5#L)f1Qt>YZPXG)8OXCl5{UQaTaM&<7w#fBX{Uv%yPX& zIh+fVqYdxz%#$ha5fYTRPn>}$1Zs_|*orOw!+SZyoj6wwz^Y)ROcj{-+Tb9FDuo)x z71tROrI<9`wGlu)rfW8r%Gy`w9PXrgPHc-Hw$*_@t6COY1c?F8DpgS+B_=G&lb)uT zc$#oW5v65m-pVOOz~40vo;^bavJeBGeJ@EkV^vvlc>aXNOPm;pn|>t*(ku))FMCBD z8d^!xtIB6UqWj4?TBca^?B#V+n3Q{ErkK+P`C82e2Je0g6iCvB5$5hF&?@&S%3}@#3{e4ixedI}sH_W#E^6ExnzH z;!?|!Q=`BII+fffK|q;#p-_kB=3j%+nf;)p!SU5u?W|31o*+8P_3H|hX|p4YGfkoH z1DHyey^}4nKFhe}5bYWtILX990I>c9Qf!+cH+qHPngT+@OLm}a>hZ9iNLI0;D!6Jt z3*ERpjcM!b8359owb?LRDA-5~s|v7u2>hUaVlW^b}Bi$2S5^j@=Fp;!^=RkYmr8jdTAAwc5#-R05QLsseF_G8wt{& zakg&8KtQwRG2~RCHf`R%o2tdM2ub7v>H5Y@j441SKvdl&pLr1^cqwjpr3RVFtX1tH zo#?q%H}X5%eTl=sJ7(H+R30wXY@l+|9rI7aHbOyIVKW65R>9bqBqMJ%1db}!PG9y5 zntfh2W3Mdt2;Yi>$|qAJpNkQMxELwGK$}jll33;dm?fGgVP-N-zLL#)G)oesKrPUH zGSc4C`l!9khRZ_;JXMW=n7ujJQDi~1!~nGE9FIrXz@a0zpzecIrAOT)i@(FK^_!LQ zS}^VAZFQ^{Huwi;TWU^K!TB>2R!al?kwNU3&oyFShJJLz2aP{HK0WeEPq^#?gQ?Wr*&r#vZh@nD&HNKeGiHN`z* zMcF54-)fLJ2Cn*mmDk&GQGh;STyls}Hjv$W-qT#4kt6Zj71P|z;Op;w{PB*IH=>G6 zS&R>EPpjCr&MLIjt1(G&>BH)1JXJcZ*@5+K}6RFWG1&ZeJsFH zYSjxTc|PI;)^B$mkZhLYH5hH~l? z{c87G4;m2$?&d#?rM@z*%%QyFo{@M5uSH=f*d99!{A6I;(p#4sXoqH_95~w z;JHp76Sb+tYZi;OTYd4H%6snC#07~O`xwq`(4Y2qt-Q!$RX-3}8m`Ezyz(Mjss)db&zbkB#)RxSZOj6gS zgEo@i`(fLB)L(+|ntt8c_}Z-1L+G{@e=Smc#Dv^psEI<66%EE(fh$rN{Zm)@3kNK` zNpCz_0PHB3G5tAx;ZAgS;k?R~;FrOVRFfHokK#bx>3hCa?3BxuKf*~es!0Y^>HViy zw>@GM`V&||5)B`1kX|7l11HESWu`kF1s?`xZ=-aS`-D=Yqvg#%Y)xVJ}o;VC!r5_0)hx z;%`|}!Cs5>;}Q{&ihUKH`wsCZDW5pZ{e`$2ZvV>&fdcej!T1o)uZNG7I2p#9Sv~Q| z$?l;}HEBoXs%P#pTVS}^W6b4lQ}^eg+?L1bn;&_hUt}Q(t&1&Q^}j+tL<25O<0U51 zdoR>@o{DD6*zRhWp-L~QDwbZAR_d}{$Tm7Il}q1*O5JOQiPFh1%PQF@1 zm?U1RQ7O4{G*x7K?E9~A*L?tm;V&Yj=LK;X>RHi#EjLi$VNPjjd#o_3py<<3Mrg8r zemg9jI%tgJCsiM5qPBYxw)bn)zkYd)E|X}73*GKYH?5Is1l>T9Vs?(+_dbk52I zsn77c`yP;4NH&qj(J;kGD;D-Q`nja~S(oKtWvpDODvMf_b(U&(ofm3tF($R-zI+kq zkII~~%KTfW{mbc|HySW`FsaWKuU#P5f^UgdQ}c2SC0_)2fByryGApzj$)~S$(^Yf7 z+U)MDQO|30f^ypS4fB5@V&cBm@J!;qJZ~tgZaOM8x6tX@+IPo8&0zFXZkq}3PKNA} z_wq^1UcJWBdV}t7ulT0(#WJk$amy*pE@!+O^I_6Cd8#L0kH579phmfWK-Ks*rG?_5 z`;^CU&Pyz3@`@vxTkS-EW&#`GwMbKf@(Zv5(+~$Z;6WA5{)|eK9vg8VHOeRHO!S!s zzwv~yQbb!^#RlFf9PkT>$Df;&Rp!uq$Y;po$9M49u~!7p_$6|`{=vNn5XP|<4ALQ? zi@Q33$ZO(64sDxdP4dep0a`_@URd8cxT{+^Q6;m=f*IR8UY)zGBujO2ep-?$2Py2k zUTDs5^kR;3jo$%fEH;Elhs;vchEX$0hPMx76W=ozn0)Dh)r$<=Zh<-H*H50PhFC?J z;|UX&;TcEZ&`N1ZY(QwX60q$u=u>I;&{oLqi8o3(TbC?48NB=~>RHZ>zKC_sx6XEt zkO&>gAMX<&;vsQ6;d9PD2xir+YOD&f>VWsMig9nAMz=u3W`DC?e29BT`E~j{^=EWR z96uo-tf6WxHdFh{FX7eX8%|Qq`YqfSpUj@}@W#ZjzeRSl^mR9XszO@cy3r&6PZM_B z>jGC$`2Siw96dmXCOh57VpgHc`2zQR&x)eYwRP||`!nnO9%+0kEX=Z@h=hgZKEZ5? z(bnAJOyYv?sEC7cvK)o~WWPaew%maNr<~0!BENt!O7X&~idh83OHU83`G;nVatUnP za9hubPX6)PXR?~OlVH7Z6RgoXHI|hI!>fsmvSz*i^_?xUu+;K9miN29%=@hU48k>j z4|LX`_ze(_%e`FSDMydh*~^F{)uxjr`d)ZU7#&%8TpPTUoWFwO{ zEM(GbfRbsr)o~h(CY=KnWS>mbJdJ10*6&~;EhA5CaM+njs}dLid7|mFxCrTCeq32s zwCD1YU)BF%EZSOK+}$_{*|mjxflu7q0I%0sPjR3;^R9RLWBCLd%6e()S)}Nk1+)?k zbQAnQX~8*WY4Y%&jEmmNe4cDNRU953bNk7Ri+tL@>$op|6|$={%GdOw;C#RND?#Nk z;AChEzVqu{kAdT@eKzIvOM|*-Idp1YaLIO$Q>{D=&))X8f2eQ1tSWn)Zwt{vc+fWta zt>xH>LSL~v_x-;b8cUP}08(^%+$JXuzw1k`ya-|jRv)bR^gl)edTqq%1PGS132|W8 z-G;yPYbWZ)U&Be6tkRvJY^d1+6(XF{vLhzcA{$JZwEdO?WC%mb&O(Iaj^OCifF^{; zz;8W>>_yEQ-u>T&WMex-HZ$=Y;mqHEY@n94Avn3R()Y!y{e}Bv`1idJ%`pz!%>)G> zMh*uqQ-|+!Mtstb9&ZNC=U)o{{kdgiYwc?PaH0$t`J2V_SVY8OrH0%#Ij{0rD>1){ zPM%ll(hzk^f+i7KtT!X#*WQrpw(d7$@DrzNL&=5NpeaKEehkr0(Uo^xr|L#&*&j#kD_u}B^VI_CQE3+>#=U2fc@Q}Ie( z+ue&RvxbrH7_hgb;?!`#_blB`sYx~?0PB8KO% zNeOai`;TVki-8J9Hybg~o-mm4B3a+eh>=N(dQOs$I+cR73FCm4DyW;zVn zJ)&7MU&a&_lbmTwB%@@agdLUkj3BB~5Svk~ZjU4EWPydJzw0uJ>VFCj&LeH5m9+ct}S?=Y{rwwj=y8`Q8L zf*r}B8|4e23)S;NRC$IWfO^+YOqVj$+0RPdX&>vG?sjNU6+)8F+O-7=;5(@E_8H%a z$Y`+^Wz(5P8x!=YJ5thZ^W+9KP8rErHUodY#$hxR!gKF*S6CU1q|M5rR(TP2Cj9aR z-I2Fm%1BTGUJoLy4-fg?uW=qRn0Mp7VCxgnXYt#>|3f{i|056(qH>&GZQxO6`erl+MhHXW1yk?)wR zSPe~sQHzoAYmP2@A3|b;S=?BLQ9Xux5?x3_gfyCpt_{wRopMF(R5PgSlhJ)S+aRws zgr7SoouD9fYZu7#ln0T3nM=%*l`{|2Dn}?soGq$_&`WEk8*u zO&|2Qh?UQjASG1D4k9sw6tM-|rdaj<-liLCFY|I=(;+vp1HJ*gZx?>zce#P0gHwK~ zfde7c_}^re@FQEzau+hU)y~(-!xX3puv5Yi_DuNThd`>Od*rsDM_LznPw?Vj?@|`s zI7I$zq382x;|h-1zshEXyVh)@6Ze{`&JjGR5;O zjmviqL{Fk=nEZ@?h}n&ME;uNAn?7c!YYlQCO3+G2ZAJ2$9Q4F}L8%!$8CVIXu!iAo zj$T?iyoN}|EQCGb;;as;6d=B6)o3OZsALorA;c<76ipG8OUme(_WOL>FXA1UO8JxX z*MF!B^si_DLJuO~;sIttl5M$^X{TlbJyG=lZ{6RKS6#g7%OavWmdX>Eh8~eruqET*UKrnt`^jlq62U zVI@)t6_<2|C$kt&mUmLVOqrBRw;DT>xm=DP6l_W=gsV!lU-*0R`he^5bmi%~6XJ!O zPa)u)cHBiw0NqW z3xBYgx=PINilRtFtAzw33U%joP^FI3t|!Z+1f+qRx-T%iGJN$>;;J~F_MQMG)xMnB z%j$RKo6%dT-w?1~e)5mGruq8VBCc$jqKQZCsBCG1GxL-5J+o|ve{6|g{2on|co}0< zM#*B6A@f(O(43cQLhhy2H{ryBjt)5}CVE^8B=4m!2Bn^un7{ZXD5_1ylvEIHJa}IJ zWkuPbSu;3SU!+PdIGEd{gb=25o^hlE2U9)F=Midr&+FlVVPytkbCQqtYu}#r4*g}N zd54hseCTjInvDvh)7wB~34<@L^BY+`u?ui&nmRn#pXuP9ZI52UH8w_ek-Ff> zkCY~*cj;d%j-MB|zMn#Oiwndto&XelVn2R^&o|9gXckmi^MIU7pm@4fWo-CM-PPWD z7J~ZQtrnE#Zm46Bb$+1xY0G;3@j&Yd3p%8TZmO4KuXSfr{orcyAa7P*x8$!nwHaQ1 z1EO8|&CwIkHVM%5u(gift0f|X>Cd&2g2})6V^{kqUcV}RdfBj;J}ItEDA}YC- z!Iqd?l2iS|Q37rB5g0Kr%v^N;g9K1;Z{a^lv1kegBLEoHpR~}G)0`FJf~@47TQ#+v zTa5P}*#Ce*BU)OK3Ryq7%VX|m{hL?p3ss+dB7{+HAvKR1$(_hRw%sbsOp3Ks)8q@skdGG;RgYA7=NY5>4_E+|t3#hlal% zud~+M;=z^|_ipk3{G=D|0OqGsZInmknO9YfVJ^E?`J0*Q$3Ebux8>D3a#6IRa@OMS z4c3||alh@?=o2Tv3sg^vP$-fPr2HY^VL*yg9^A2Znl~-mmbn92U#U?e>V!M(8QEk7 zJm5E*Nn5u5M#^5&PmdV=NJ3A_L*b3xVoL6Fwm|-y^>_7uxbYXVrZE)!Yj4PLSHA*4 z8h+kqJ--oW)@c2df8uPdmY_wi8uS#y_1$cF0kc=Y!a6cF>ICdF0U`jmW(M5NpQ8Et zA7^0a?wNT;I%KW|i27}1L$3RM|Em!u>4aYVsV^U$-Z6A7X)rG8!!NLhM<`*4(RjsN z`7L+M<7P9`0JW1(80YVXELNy^hH8){c(nXN*5j# zx5mQ^ay>)KR2FLG(-xdBYNh;qb){4)|)14nX zC#eM5XAW#ttM@MrJ?Mcsjt}VR&3B7m>f5#l&1 z_vNSJP(P#Jf39@p!vc3Wj74IRmV9PwMm8f;MSyT-U|c{0bkvJPVnWNA2f2_EN+L`V zyCH;6D+t%%$TAEO;Viuag7sE}VP;t&TO7XzRuv&N%sn$W)J9}4TvZfxxWBmDc~n)| z{kT7zmr3nUs^$6~X7f!;D~wgPAOSrj>AmtR0rVY5u6!EV(N80-kz#3WeUKVrviDaWP)6`Z4vxI~ ztS2&Z_~B`-*Qj&hRG>X)`bg+0a5{Lax}q>+vB^u53qHhC9=J;Gq0y{pT(F_$upG-T z#ZQId`W0`X|HmfHpVjxrrLnX1qe);j;)YQzG!N^iWw|awYu@m34Go2!sv!ZAA$nhd z78Tuhz4%~>a!hd}108C~+J0nEsneqGaTc9hn+4AZ>RJ8utNA>jk<)&b8_84ZSpF_`gWY~fI zzgNp^CcEIR9<}HD1Zm844(bmcBU+~2dR^x~Kf2MbPT7F^BV5Ptst#pCdlJdJx%YgL zR2jOVFV^Khu}47NtN_^k$*Wk~MqDubS^_mas3d)Ll0PpMuX4g7f#;+ONJnU=wSMh| zENq5=AxBsRfu!Z1=)mTNCX%(-rHrz*zG=8#{rz^a0La4_@lwqOM3jy{Jmt(DEk7C6 z67fUGv)&wiE3?pk6X3onkRCRE@`)>ND>EqIl7i89PmHF41@~kq?V=-%K)?ghaq$PyPB%XBREh;3V)b|U%_)5CYE{E=oYYgsc z>nGN%-o9XupfCI}tAlT8rDEUH;Qi)^EnJAE|Kfw$Ec9W|eK7@atWKY_<=EHLURO=O zT5rDhjBuF~b3ynnoUt%kv@^kL+%HRREOcFM_Y5V|Xyv83b;ASN!G5f-H9&sHvj1kf zKwM}yW4JH%0`?hcM49DW--K-wWg&H6c`pk)LoA=Ck8=R@dR6nB~&tdGn3MSjg#fcg)xEqgbsKeH!63l*P|#g2p+qKT|^AjuB zlxSr6J)SOGsm-X{+&dk8k0t4jUc;>wS-i=JxSlCSQkot!G#qwvk2hQ|f$_Ic_+B;u zWeLI3o!;5>!s-G)gjoOTOa2bp+r5OEYHUdBQ9|b5=gjD*>VfaV`=!9?>Wy}qladG! z?S)kcBmOn(4_lmGZM)tDJ?#Qm4`XINGux@(urktp{v~*dsELjTa&zD8QLUgIQIVj- zE;DH0N&$r&eI_>d;57Dm3)~BsDz1eOcVsr8UPLh=obU{(%=#~VsPyMx!MTq!^wLkM zZF49@fw{bRvJr!E?4c|a$MUiR?)=7MG$!lGnA9h(yu+2fDgoo&c!qV)r^9Drb*(jV zspPl0)mFl3_0N_{|1_y5ZFS1FZhr!dCv74+g}L*Lp zoI>u_E(GSKk^7;Eb%njttnPdB0{FmXRCzFa1=h?qI)Fbb*xY|6zzBH-jkmpqegx~T zzH@IB8ib?@LrKj7!a3kms_8_)ogd#WJ)0V#uiU@SpiyW^&*Tp5y#XlI%2G8em5WoU zFi>qzfGgEDgj2%~In)1?l?&Sm!Uw(Ge_>v20U+9dVL={}s0* z!^(B!ER73N9e9U|Cj%%E5UKT-E>8``Sozb)o^zkx7&#;Slnq0|2Yz*A)}qro`dUiC z!jzP+8gnbUO>9f16nFbWg-ymQ#hAHBdHBJxfKf#deuO*^rnk#4bnc zBls@x4D3%}!MPz|*-S-T#lDPstrQ1wTYoZ$UZVK<<|=jYezkN;2wAyn#5KD@-`ish zdX^yv;heef2R>3EY#0Nl0#=Zk`d;ar3+RfqF-y3M?#cnC38*vb(E@E@?RGfhIPm%% zFv=F}rnA=fh^^UkVq4Tlgq13mph*2GGm0|r_$^(c4{$<1Oe@wE*CK)+XisK6j#EP< z@N4sD*#E9Z2OukbfR8Jx$P)=b*wnDDTTy}Wd`D;dxzCpCV?wVGw_{>XuP~#9b|4$0 z>LuI>e?_o1&KBA)iAthke86F_>R8GRt1SXhwMlM`Eth^x6_n@Y`ZM8gG_s%#FETLb z$ib-$jJ%U%_J@~{*9%L(2k|mf&%MZ6!j2+ zrv3kf2=Z|XbM9&fY%B1X(ub(yNk!bnp@pIh{|1J9hL5rSFn&SdT{|D9FAnuwzxFo~ z5xcRFn|ZP=`4K=ixk628Qhaho{6Rc3XBFJGHI6@oA2qw*xTo^i_cH17luBKrw+n7 zM#a0S=f%Cd>%RRf%Q$T9tB5(r4U4}DEck!}&9>*Kg6e=@#q8KbSJr!9-`PapyZUx$ z^tLp|y=?TZmRbMG;;!sA^(z|=Yx~B6643akHUuO!Wb3rkK!;mdc3NJgyJQ~Co^NfU zV_UX8CW2@WdxxvY?oCG{svm&vXzEEDm0WJxI2EXP&u&+}#wby$D=4*!dXFifb zhs*JGs2q(Q2m?GfE10Q{RxpfRXUS}{$lu*6BoUH|vG9KgqSDR!J|qu3{`0#Dc1djG z!)^>ifsyepOSMN2EZAEZKEQJ6NP5gTMLNkjI$hSWHdte8Pmvu@$XB3_I(j}oHUJ0R zPTS22W#H^y7^R2e3?T2y&!I7hqW}zEx-=mX0a@QS5jGS%+}E)dVwN4U3}y8=(f1wF zJy1|^-1#}?mdGCIhEjy6qXohvP>F@n;=XVi04rJzjps0&MM`z;NCd&{xD~8h-Mzrt z*3BWcB)h~Pth;t-rmc?riy$}Uc#nms!}|t|#WO;+`s_QslX~(C;?82fal`7X_2CW9 zt@ia}&6I;NHn5ihnt}b+$2L~p)Zqi`b*EL1<4!loR;f3@na>IK4>E)e?Al@MP0K-E z_0K!zH@4TSz&PHhFz{caDE{|(dqsulDmISTI*VBONX}@k{;;`N22q?0L+Trjy>tY9 z9lv?(f8QX-UCR0&=jAVW+XSCaI>>4u9;d1eF(|NQUZJg*ac*n&DPJBRF&8PBZ=#)= zx_@3xfTWd0Cu)R^=MFN*8{Jt^A>UpTdf;S@ZlF1_&F*kzIP))F68ucA9C2~f(Mje$J9XIp*T3nCE~j# zp99G-V?JFTHhH$sDpC&;)#;`OWX$h#$dM2t@a-!*8B%*p0Q2(I>bTI9Fc?>!yO%q{ zqKZ_5ymHx@!mOOO+b5|Fc_XbF&gNkTL4ZW!-ktf~J~-@;S&@P(0CWY=`Kp;w(#ROZ zT-YiO#K5cy*N^NvmFCd_ho{eEZsTZ<&9|x>ILB>R)tvXVSR6|p71)_rpN6?zfaXBY zr_Y_Ep3w$@n0a;2^DY;uLN5w_t2+QvDCiJjQ*A7 z1@9$~vsS$_4BJZ0Sb!89)E{q}0-dkSy3$=Y9rWR32BSRGVm`Ez$)rh;!Vpq*^Ac4U z!##^(U=N~r#AGnvFHcw?%I9@M;~47#br@(b$uCbZrw0;BVmYLf@+=G%tO_wtnuTxy z9i``G=dg8~nPq+COIqQ<#~O~8Z?bHy?Jn(YK~5s_5?Q55I6_|S6zR!?gAlEB3(e7_ z(zh%xpsMB>PWWszX9~}}G7S?fr9y%fET|LczAV4~`|3l@Gvra(y+ZSvhoDi5?7kc~ zZ)_~H&HA33l+3S9cp6NPYN4^6L}wiQ#_2PCB+Ba@#$1l@LbHfQlIR3i3f}@H8-o0B z@>KkstWlPyD=msM5>(P(M~;e+|6V>xmbm9egDKDZI+pc&008$}rfBk@h#Pe%~28sEd-L6wXtFH-v(L*0`m|oIXLeN3sUjvybSfDRQ9&+7N;sI0c6$d)xRts=it6)Cz-eRi>6P!+rL&McBSAg zfNq>D@=@9}P}+sYK>;Zd$G6&e5`U^g9_+bar$|QyIIyTCll_~Eo{70%L^(cSRKlwf zVDN^}NjU30XYhZWVMdaHyo{U-ZG0v%U#OW?z^q6ACW@K8KP>)&1}}lw2?h(bswcLR z$p^_PiFBw^KiKvK>3iqw_PHK|ze?;r9!|@YAoe7Jvf$f!TdTpnXg-%1oFCr*>AiO$Pxfy zJR_#YKceb-`1ibysm#+QM_)R2T=$%q4FHbDA#B--haa@E_nTO{3>{UUUIMo}#|9|e zhXa^|p47M+zL~70px#}W!a?N8|En;v?K2*&xH@SR5{p=B;lZEUe=F+wT#znj9=U7z z!5e#_wAT`vQT(#FU2dG@pEz{OhA>9=vFbR-{j}~W6`n{NLz2L)yCCr?HyMpjuo9*M z)c^SrMgI`m1!wESgQ$}gizV|-mamlo)F3dKj6g;L_eYfwWjso-1aVjbKNPKr*PW#IlHyglhoomYP2NQ|8OYSEWlg9N|Af>K7#grqXz3Ac_AW%OI?%GXQ;|UbU*Fk-cK?G zWRVP1*spur!8dN&hH&Vr9b#8hJHL@4l;>p_u=@C}d)UXaQgyTtzyY6980Pp`E)qbl z20a^GS$E5E7cFQ6y=%B)#(mt9#_e`-KH`XUfaG=UE<2v{X}8?^lE4Y5n=|l3D`8oF z%LSW2`K^SZclqb-DITmTAS@wFk~CiIs&=Qt>+b#u8?gH9U1d1**|_SC{7U^IK^=QFN{A7wC@5#7 zQF(f*fg7^%KpbnLr>@nI(mHEoEmge`?WG$zgoZ~~V)Hj0kT+x3#FWy|LZ?Pw9 z!UDB1o;BxoRVxDw=PPFaJ2QM44VpZ8R8*#Skzl6}aa)+-QX_SO+2dBp#Rqp}^Mcvz zok|bIKORIQc@B&GPv1CbC7CJszwV6MmQUFhK7TuNvY7)OO8=*F!p@=zgJND+L84@m z6+!l+{+NL1$-K>~QMH@1^Y7D}UXBn}zUY4TcDb!^oPL8U>o_j<1Y~Nc!1Zkwveh6L z2zB{QhbZ5BAqSmp%0I%D>Ek3vc@lk3$iNU@0zqe-QLo6;6z>kJG)+>;p^bHZ!A#^X zF8kjJ?T0_yJ!2rI49qK}9+51&q)QDp@8-!Dlcc*NP(fFeILOWK-?vq_Q=JnYEW!UW z%QI)(`y_xx9i32fVc}3;&|;%^ohYsaw|eQ_AK#) zPfU>fPd~;Fwgg|yhp(1{U(TVL$CKj~TRMiWUn1Xj#`JgAa=VzCHP!MqJimjviZ5&C z$ji`1QoT6J4O>~6P>zm#oZ)@=Jvule@F9cxeUY@cINib4M~hRlAAN^n94#RrRRoX2 z^*sd5&yC;Ht}KP#T9dh0mUOO1!`v)IrI>N=qOVTX)iA;QD=tf%7VqN(D~jY~OTNR9 z8}Fq>=E2`3dWj^mI!Gam79U_>P<&HL{0oJr5{cM4yJs-WzL)poi4L$Y=q#{(!APLa zoUiF*)96Hu?bB}5wkj$h;ABXYfh^fE)C4ct6RFravr_6eASL;3stV=#4`=R6>4pT+ zXKo0mc$+KsHYSCUHj0B(Vje<`iK7T?CsY*rhZK_9m?vKhl5todP)qOc2){?4j<>XY zn)t@fb<|(19MJS0al4c>PnUrCD?>5fxz|F|x{!^k|BlFy062S&p6Oyg9M1YMzhL#6 z8yq_cJ7HC?at9LoY_#7}iTSal;v67vGlVrL<=WPLW9j}AZnULvi#JSsx%Fzcbx_LrHetQi*y~IJR zwjtXE--IbsmGP5YdB6K#S>0n%;+Xr6?#;WaOxYWM+O$Es5?Tll{(kTg*C9>k)trE+6RrI-Vt%lJ0;zcizg z^6~;kO~oyKcSDb@bre`>W-g9t5j5?+ow^2HfqdVZWq$a#;3*biD$^_}RhUW7=qqDM zrtmDROeA+Qju^ka@9Ffc7)`MT*r5naFP{v?kFHk!c?y$b3uTWV957J|ixbnv_0y%h z`m->2zsj6dek(4OlxJPTnmo3qbQxouP>%B~Q@hY$9|77+SJ_~Z9upiXt_k*JXqqHD z%;jz~@lFOZjS&S%N`XB|3Ta_QEfD6r=(2>3=xSOR(UtzFC< zpLXx$yopY?fIt8JPL$cr17nl~DP`k|run_B@{oAIT9tBvH_y!B$#M!S%Nk~k;D42# zEfYxp%uPzDd`QCIWtAkC`QNI8Jq|+Qmxtl|M{mS5FOqMPk%WVl_$@skh^+gQ#IXb- z>dUKkVDW!bl`2$N$W|YnXX=OsZo8l~rT30IZuo-=!0PD-EXhSa*2qx_%{WDH&;0^( z?X2s_hSac;^t14Z$aGWBP*JWn%VXQ+fJ}nIyf^X$2%Zp?cck!(#h*=wviS+VfQT(hU^m2Qvi@HuZ8~22-1mEjneXlGh6_K9?}X^8FsPQ;CPX z_)OF=pS}^-pf5 zXb}kgA$PbqJ{*bM^%?6sw6U0o0Aey2lV?SWj`Y3)jAZkLn~8xB%fT5u#Rks9r90p! zPDG(FTv2Y85t_1?^^*qZdL{lctS)Ps=aXLXp0~>}RcnSC(x7X8H089pXu{<8btb+l z@uISV^r~W(4zZJWmqr_B?|# zyLV0!RwvTHPZz^Y$u==5A*^&^FJ;PgF>kFzdxfM{O}<1tEzRhG{;j2d8dr>EuZs@# zW}D-f)r3Oj8)QB-+S2{pLoF}wuRZ2JH{n3DXz#0Ah5sDu8KM^{AhquhdmT$F!0cbN zzkYG5^|tfgnmt-gA;&6A`{l?0P5b;iG)|Ff9&%L+53U%DP_^rK`_mjTpK5iPzk)F? zARH~|>`#C6^z`(URUcO{Q!x&u@DGnuO3+5G*u~1=d11lBr_oFEn?Ct67Fno`=}aO| zK)~Eb9ETVR&JDXSXrf*$*O(8Y6OeFy&_y3Mx<&wG0?Q?*!9jf0$APyFGCLx-_@fFq zFndQ4>OXHco4Lgz3|1Hy6-mhVdJhDjlJcBFZq%zgnW9eEMdb=nYf%luS*4Pw6>w!D z{_Ii=BI1`|356R#Lb-Ob~`k5Zr`DUm9*=Bx0J z-CYD2j0Y;&Bllk8(FbRxbpJ-|{!zdRQ&@5uik8S5z@gdx?t zwrDj#6^IcJ%a;sd*xuiN7ZY{CbK;u8zyLtZ?vAjwa*2^KUvZv@y?xL7_?Z|Uc06TC zU6l9bQL4o}CkrvS`&U_!nhy76wfB?C`QcQ1gF5xiN&g!G;}D83>iuou;{+;lMiG_1iy&mIVnH#6clO%@Qm(Uw5+7=I0u0B z&qaWHFH>OJcN#OPD^%#iuS`sf(=1S(%56C(cYaBPdCn5MD2~|fTKk}T_pg76(8cT^ z#MZ*u(w;^ofL7+|`%B56y?^Y-t}@o3$BMj!F4A}rXJ}XZNReuTLkXC#@JRY1PW!#J zCg#uQ7^2%tcQ11NMSTS?bMH0ZF^jQdNOS1R(ts&Vw!}!iX}U_~f-Kc78Ca_ZK1UPn zG8y1}EKV0GKecz$Yq8*<_(bJDZQp9m-59V)k2f`NU&v#LV>r!P%ks+hE(=)rkPbIs zOP$!m2$d{*|EUW0srL5oV!eOoxZSf$>W0LUxI_PZv@=QYbGiE-P zh_Bs%jlT8;{((>cVLyvE!sr-A%BCrGw37W{FfS4_S`iH{1o4(d-2A!^1mN$YC z4>dQaFy?SFmj&;)fzM39^$#@30#Y<7Qbc)LMMCYh`-68yOc}2ecG*Q}{!Ak4#dR)1(cg^R;t^RO0Vam zp;{%o?O*2;AbqL*%a_=R^W9$vFyP=|k~SsfP*6il zMnoHnSYX?zTS1J+IX;(?sD*a99IfuoL=ggXu%HgSqhLP9%Jua;m93{ z|2xc)%Iz%B+ccJCvW+>-+a9>rorwm!1vGt9<$kGX^vq+eyjHTxMs|Eze~54@lqpD~ zbVS8M&uy&WEs6@O3sU>Aon=2`u;o22S@TUdFG*hdpIVevPM_7)q<>@%PG?-}lStE^ zSNF8IZHH!qYM#65jFGXEs|*oVtvE)<=6s{LmXr+SLs~b1jBan3LzVsf=$aq8|zwK?Q^7jkcEg+->Nxdul|1m0pUuUX%Tvv%oI; ze{`xWFdEant&%ayTrY0RGiUF?9~`ou7n|%e=qp~f-faV8wtNq6MXBgXzw23!0su;= zeIB4(o~@kfXMYhoT7k=p+Tlq46CoM4j`+fsP>AkN%=Un!u$*k3h8I zP&D8llwEaodQM&0sJ+J#Rg#1J6Mx87*99)(!x|aT9f_LHvz)4$krEFvAm?x1Z9kPqnexAe|AS4U8EqBh_A)W6Xocg$OS1`wra~ofAiFQ z53`)`7a$P@%iD6__|uTV^O%tnhj?eaJ6SvBpU{_ZQj3-8ugK4kKb))Q_=NWhud0*` zbjp9!J?d&?lt=MAb-mkCup>_Vh$wbbFL7C9a~rlvCOgeBI9*!HE=sR9TFpJiN8!R# zhXPH>X8e zqAEH!y0R^KD6>e8w8Nki?dzoE(IBLflHY>7mrIMpUp#VOsr-YX_V7TVo@8ejb~&+- zRzz*IV%(44`)bKYK>KMK9aFtYc>BaD$UiEv{*OmFlq}AcN)|r=a$8Noi^MwLX8k7+21 z;%K*IT||{nrb;A&nfh>%1m545D2fdl<_8K@R56^CpBCgg@!eHbBeotU-Ea{mq?)6_ z__R&MX)`;g_|ao51W9q%ee>i4s*>yZr7s_tgi+$cYa(Mx`}vz$xVG-d#DkGopRlPN z5N43{U6MTU3*qZV>(N&z`l!Em$(TrsAWqI3TAvA9pLOSRiNjuy$c9iw z6)^a3%dO)Q2k>yjP)%Pkg#G(ro)Iw5kwX%;%u6uy#=%VNXgh zOXQRBER~y_!+h+E>W?SJ{(g$TqcNOPdsI2j2?}Oc!007}pczFpQ0yHq4 zs5waDD;={)|AW7YGL+ay4a!1iYD2*fOt5acSgCv7@%1}`6RupMkXl2{GPKSM#V=@F z5CHqU%mU7JySq;#H+D}@bpjbJt!tfW9>aOPF0~}(f{87DWZVfFRD=ig;PjG*lYwL< zhTc*D2PT?_FnY>`af5?9T8hXaQd1p$QTSHUmN;wV67 zlCUHJEha9%BQo(yuLv~kLM85|m~t9mEp&iUVf^F#U@ga8L0AiEs6V_*=4C2Q?kR4# z+GBh|rw8^GW#JR7cUxqHcQze~C9w@oQ&l-$fOOszQkYJ^k|p2hZ-WoOPc%t5hD-|x z@7m(TSa66PaCfp>HeG&JTz=+VZo*uyBOh^9o_1m#s3o_&_Dc93#*i_B0mCgq3xZ>K z-r`naOa$*8=J1+?QArhgoJ&zBQOX6P~{4=yQW- zY}xG|+E#IHi}`R!FFourmCZ9@&?eByB#BC-#GBv!cpg~$@+@CIo3yV}FdpwN*r>{I z;QB0H>b4|!_m07boUS#Bn*lfn%@z0mRb6K!mkcOaZ~69G1?I`r3SfA2;OQmbaod5? zm(bAKLCxnzaYEd{TZW{6iOZty@$nj>_kVS+bSTQWyShTjXq6MIZ2lWuWZ$ixEZu1g zHoYln96Hn(s2o_oA^w{WoIqLsk+9&(yFSWUen%@hS?{$s+0GX0@3vu6{;@4)s1(qKqM zFtm5!<2KLV)YBn*y*Riv=DA~~5vF~d1rcv-aIH$p4q6?o!ix0--gt!6pc14K0Av(~ zV=6(76bYL?rspgIJm>Y<7vunQ7Yc;x48SSWajH&bMrV{E?s4M9#uy}qFIX-*LoqRl zxwcU?Afe%_=U7IRT73~iJN{r#H5B|UvKP=kC<-i5RAgR|{%g=q58=N&%GJFgTx zCG?J+S~qGVs-To308|~F5#CoZ*Y@Gv(HB@CuAqo|JAEMbYtIWcW!3kBZ|DA1)G@Pp0G@JH3A zmv{HHo76mmg@4{rAQ_^>21*CjEn%-^N#{r6FzeQ^&DN4Vk{rt)Yz8-KDBbX+?y4Wd zlbwMPW0x}rV2n<3Q3mTgK{5TvTZQ{To8$V(_*kF8khjqEpSzB!W#%=-}ogN~}4EkQsE&-t(lSN&?;3E?s0N{bv zT5a1o8)Kcy?5r6z)p*qpSK7_96dws_vt%(=>`qR(>O8-$4=*g(8MVe3EBG=k#f+zp zJ`0EgHafm{J1TAd@3{9e9;Vzf`2?tHCD}thFc*+!~%=_`Vcl_1F?jsm+$7u%1=6+qXt{So_9pOo7Kon=1tXNXH=p|x2 z6CFsoP=iHGxG#e`j|RiUt}+kWsuDifdTuG*^N8a!^zG`sz(?g`Z1>mxd3;6!N|V30 zdw71f>Yd9|NWi0GGvIZ}l6mt`W+>|wqJb?yA;?10znem7x-wxyd$+q=;rZMvPx2;4|(-IB@eOcx?SL%V~rSF|c7skfU<>`I9uGzZfFsC|-Kg*fDWwp6){_27h@xbV1 z=@w{Eb`fqGFm28p~M$t%8{>3O-*?#ZEH2y}iB#^oX zWF`xehV}Zg!5Lga;Rz#pEw#B943w~}y}O*~3;IO~X@j*c3j}efDCO-&kO%2BO7RjH zP^(`#d!M7-w(j7uR9ZPbCuVy!b+a+n6Z(bhc-2q?S(Nbhpjb4sy+uI(xsYp;zwq>-@U~ zL7L6`s=-!}Cf5<`j?)f7eidWEWzw0QhF#n3#6kLze>B~q4OrF_jVCT9UL~q@*yV@`JPVvHPpmykb?K;O1Ft|YtJ4Rane~>6U3}rB%asIWP8V!gFUd!>e|Zl-DqSKje~M|%ZZH- zblEn&>9^>Gn@&3^yT5THm!9%~oUVPY2kEeKi-f~&ZZA=bj#{g1GpY_+sYp9c?>hD# zI`(`zHYX%uuDxd*7XYIjMb|pA|HWGCMas}l+2psE&x)0KGw054*k{i*$Gji*FQtA> zRj7S?Dw$ACs#Z!;&1jmQQAtwp-QA0y%GybcoDTY#np$CG`Pq+p3p<+-;dl6*$F`iB zZ0~2%rKTtTn_In;bW0y)=nuctzHpPSD%qDb;<-4!@D`$u(@{?$ZQF0NlL5wUPc^H* zKfEcMEvTGk7qu67bM6-2*6vSs#{T(sP(^;r}+c# z$Cuz9uu~NO<4|_hwWmJPj5F<;&83R#KYx(Vc25i7l(#<@zdTG^U;t5Zn|ja+wz+=OV6r7p@(%I6I#c1_u5^_*rIM?sMb0`N7Mm3TXjYI<#k47e`K+ir z+R-w$SGy^jq96P?6>^Zc#_;X~5!7?hVF4JvTx;0E0&PA#XC$Z@w#)D_Od?`0DKpbUZzj7*N+3uPO)VuCIMv604#>XQiEXhx8k;3rpk{lT{Ji~ezuwvX0P zmhX%;hNK+-y>|Y!)_QWufVDTfLJl1Wt^AY}@vSD<0kgI}4lt>vxjD+Z85#j%2TQYf>D+nZiD zzFFe^()6-%J3@LL74Y2aXznKT1%2^49W9mJyWnwmXMhG&-CYB2ph%V+m5g3f`uT}m zJ?$x?&kkvGEtKon7*+V=X@}ClR=gbknvKrEHEDa=z>nKwV}yq2v0uRlPuG61p%X(a z#n&KKG}L3&^v#-y_rF;C61~P;YE+9^u{|Z|ViN@-gypLDec%><)lpqio&;{qp?GG~ zD|~;kvv{_jmmM^$7}_M};QEmGACsya@zrGJJdhqc?|__17pLM#qd;AB_)un!R%e$n zgVF0M{G9pZ-)qA+*<&Ukb8Y|G>}OOi!ifr{|G1q^g-7ZX>(=*SXVd$s;DcX!{67(d zVL|!Wdq_r?lcosNa0;)R_#Xtx=BV-s7W4;{d&#;HfJ7cq$BYd|=;Ezs#l@Sc|L=AT>|*U^Vk5HwoJH5VUOx2sg2u=ZKZyt zVMU{DuWIG0L#$BHoyHQxvXY#8zhbUA31VhH?Sy5>$;T zBYU>)J&B3jfGf1nqou0U3l9Dm>J)GxG&*Pu>99CI>kPt$MKN5y+5YANe=ZI1bvVO_ z`d!kHO?S*_BljYb_NVvN8*zNGHAJ#1!Ji~E9Tc})7)EP7e~u_E{(w7Vk#gY$o#*-f$x7^d15wL+TSsRdpm7 z$4wf0|Kwk+`H>sCeR1d9LO$Rmn%m48E#Qh0+-=44i3`RQ_!JI|-C}eZrv*G?*5vf? zn8+speG!&~hTi*)Q=r3M!gBpMhl8?kIkcSXi0UI_jO;*I{*ZIdZ|bOy1vj#1Tx}dH zHKZ=yWTjVajmk=Eni@ry6KWF%|5nX6v#tU*OW}7Cu3IZ<_2fj9L4=e0g%e!C7`es? z)Px!_xSSW4CJY%rS_R;I_y9Pr*rLC_{~qy)I!Z)hzfr%P=NRH=GR@qX*)8d~rI6!G zPV>oyD-8_j5$l4II8)vsFf-eT+dG>kexvVb3#1RC7*F(iI~vM`u;GQF85oWA0O{jz z$`z^KL+T<|^Pm*-p0fZncrJjh3xatq104-lt=V;^{R!dY(Z_&YuPSh+s;X$Mdh%BA zJ1oyB^~&Lmg{KcJt29e@A=`B!*lpVhH+&>g2a_dyv?|T{uUhqDb zO-*%zo5S%B(aJ}d{u6Y9m-Vny1jfLB4HdYnx8I!LH&2v`@R^zW_`?0t!fzxpW5H!A z9H6*MCR2*u6;|libMFF;9XgS_nIyL$+e`@d-6MxY5DU?Pe zB_Y$`6`xzK6J-R|lwIY%h}()8*xGbV`(Ip}mKH(3WIhLFd@yx_c{=VVJ@9mVc<-X> z$h~dVzf+7DGpu*hQ`jB*mz2mR6{IuZdYi;VfI}^x6OsTX0eGH;5o2@g7c9#Ptr)$y znLTi&j-obmZf>;S_f|+!OxAZ=ITM~C&%<#Iyq=S+AWN?r_)c5M-hIf?L|1J4dV^xk{WY_0wISFdAx;x13hiC!@OiM_M?Gz=>zY3S`*)0_ zfpwpT3&4F`d9djc-?jS{WmqvJ^>F=VaJ_>j@%xP`W}~;-KVW<(W~mrB?6tI>^V%L^ zES1M7qApJQs^7x1_qvkKtMk@JjN$3u`>*m+eKfjoF_aBSmhn_*kEa1Uh|VZG+s)J( z_(#4MT#pEoskq=cA=vZ+P={)c`^PQe| zJKhpA^1F`FgG8tR$pldfC0t<2a;oxLg*gxIUoRgOO zhDWjJ50n7^xA%RSi4cN$cq=mTp2LNhK#LF$1fBfdyywz%WYzqo;^VP~s~F~~Od_$2 zSa13HYczTpvgs=d0DAp7*dc2#gYYfPha2bAQdAs&o6zV@%Nm&{=UrgqkLn&af!Do5 zvHwDF1sb<`*d_MgiV~xG+V!wDU|26BkXnNjLUUAvkknX90kkVT#TJXIcq-Lt+43Q4 zsi2L|&ThudL>I&earO(LM4_lD)I7i6t5Vfjh<$#HqTlF1s<p?y`Z+N%(H!hYW zRyMdBhIPggMT;t#QBtf~rd`4LS{!xCt^GYSgkM0wx_LQUwe zA`L2`bT=AiZy)#XIo@|4$Nmd8 ze3%b2SFN?Kb=>!Lt@Au*b_7WiQ-LwDtJBu#;SgGX{J>+9TA+xO7fHZc&ekBs`?q$$ zmgX|=8!e<*LKeKaI1{A*SpQa04ycr%;ek__$qTrX^Ua|AFv+2@1Q z@%YW0(k<>N3UqX!=uhW zGT_ZZaMXq*QvF^sO73@;tsZ_HAORa3{oUrc3#~lF7|-UA-)0 zEZ&u4+qbDT`?>DnHo+(YncNTzL@qDRL^ISLSTQFRk+1I{>H=zOaR)pl^hYHf3kO3* zoHEUNY9ki$U&4tg_f}oor3bU2_uXLB_<- z+@u2?lv7MwZ&tL+dO!|vS;%hY|7e{o$9YLHzH{Pjo@b1;qLoT`Hs4f&C_&WM!$8Tg z1Yt(9_65EPV8OL{W{5|u1!M$y4Ux6b8P$MN8F>F$)w}M0%~Y(CA^7o;U;U4S3@O5P zbBP4Yc>&F`3XT{Sd^t3uQ9QyWX9D=+G^{dd%KIka)i34uji zk19RWg5asLBnGdz@@!quN%|qJtyV)Dib$#$!$R5^elP103R3kCY$`WJ6plF-8LelP zo5QqNf(;D0hIm_E;EyoZf1wk5v(MdS?|;V2nHQqZr(XCL8iSxOPL?z{&b@zz`Non3OzG_WUS5=1CZy11s{GsUO zhEX+${SYwBX;+S-W6P0Z@tM0_WHcd0k1`NQ znLp5Qc~{o&9}VYDv(na0N)y&4O1#W7+UN6e|5es69d%xHZGgWt1+ay$xqk6(9-Lwv`12@V_y=uEM|3lgKic(P?c z0LeuG6WHG2>l2Y^CtQ9I=%Bq+n03aTwI@WlW@USy9!Zj&TNPrx zz45YWt3666sl4 z#3KDjGO^g>HI29I87c<`5q3B%;5~*NF)zNU0CC#;FM-tdGs^->w1x8#Y%AhjOb#MI zcJUjL&jFCc+lx7mse3fTq&agO?3(mTE{eo-@MYxivPBia!trUiF@`wH_n95K6f8S6 z59cfiuB(Y{yUV2kKJ6I?=opw(glUm?h7oW{vmC>Sb2Btt(pc^*7vGEn%5_+goD4m# z)$=s-Oa&9v&t(f{ZeQK=5TUDewtX0Zb`+S%V>c~TF>k>m;Q*4^ep9)_MVX1Wgh_|D^OX&xKcjhpU&1XJ@z#s7$bczT`3tek_2)`OaQx5g;Xaj+F?)FpWM=M z!ZG*OFH=))z5T$0v0?2|4-nlje`W0bjEvHs(go5&&Z`2Al(2E8Jg{NOoY8GFl zxMih_>=^ETzLuZsI@||h8-!tW?m}CJc<&`{_whrutC_#wMB&cEMnf4&rtRyQMe`>=eY)Gp|M+zZ0V<8S= zH?;7^3jCtZr~kyG{VQ6*1_a+&6yAVjnPTm2KIHJ}zYc(g&*}sZ$6SSgWSSol(5thpWgN8xS(&*&){Pb#=F&4Av0)(ZHU4dgJA(L+rg-cqbW&OVIb- z-;z`cQOesSZC%Rk+irbUX^;qf;L~8OT_yWQCe?636G^*0X8Q#i9?k|K?6aw)Mms;6 z4L(!`(qOv;8501c5BYgNd4PTjHm8l<*=zLeGp0vv&3$;m{1fDy+X^@glF91ag1UM? zyB>9vHEo?E-h!JeS&3H{^*vg$)33E7{H?DSd`@(;+=%XGY*A1kcsI36Dg7ypDOExx zO3nbpE+@q((AmB_Cq*0}G6xaLYCB8>F8Q%o)0cM*Z3Sr>z1?x|6UB%*2)9?;OvXzp z5olXx4nH9TVVUogIJDVbLBmPrgA-C`cFZ0YZKJXbLke2L2A&!0_uimk`~9mX-sQe? zse`&$+@m5^0<#$=Q0bN($&M=w5tslafLfLg9_#k`$kWeN{xXuUzM1Yh{DT0dq!Om$ z`91N@t~8CmptzZJH{#>%T!*pP``e_liD7zL;AxafxxnCuT1DY7AD#-P0Q7_IyI%t_ zDf4@Mt&}$@DJa$JI1n-Z93b%l&wCr>M@(4Arau3~ok%ffF@#6BgArXtCKrtoRT4$P z`<8o7lShF}brV!3Oa&0s=4!kOMG{6SLfqB;zkeSw4hg>?{*fpTj2ZTu{}wWlmK@PI*}3Ng&xY*O8hVu zDwUBUqeY1=dCR2Z@_}8&+Boie5=n+~CP9ye_$LE36p<#DV03%pf#dq)@|#*=c1`kL z#oE$W9WFN0vBZo@gn4n%g=JHYq)c8%l6@&Ekfq2V&BfWZEp$OYA#Z(@_w6cT!gUPP zMm4pOQ@G2KSvFAk6&GkfsIN?3I6nVQ13&vkp-7rZkTk_3WX08V_xoK)G^MtP#*49A zZA=BLgp0k`y>s=jc zd|bPB{_v8DjrvzGfpYN@*Rk}JR*g``FHdy9K6%d_)_V<<9jC@5cnrMf*A4nt{-(q% znn`3wiVu=XPTYjqi(Gk3iU}u?c=>LD9bOT1w^G91h6GPom@O|4eRBQethQ`E{?&#z zMMoB=3^MRRNlR>J5jjFzfW@Y7_Fp1GmAc|Ms^zDovh@&Z%`_=0ws&8XD8zr z&jj%vp$NtReD`K)i?o*uJ5n3FmjUW5hnI)^8JG+>HC|Rw#y)F@r6dT^la@mXt&-A0 zaap>^azZ1YNYp=G@NB;4H>;6OC*o5>_OcRJ?#c{T4AOP@^Ev!yG5#p>j_VeEp0aqg z`BFa%vbSfY@{!k(zM014g+_k+jF;7V?D|2Q)zi4q_^yZYzvwX8UO#9cwS(EuWRDra zXLlwk^+H=HtK9OZ_}Mq`Mv(h1KviJYuVzElL+rHMlpIwOJ~8o}P#UVQ&!DEA~C=A-!YZ5n5|@>f*y*q?^)17qsFoW?vMY zL~d)a&MOM*IFaorHsc50brK;LBv{lyQWv}AWr{)i6mXdN8$%FQWGq9laMY(8IM@zg z`8Q13ZukkT88_fa-(7-{EUJOWkPskDJk7+b9U3e8G*yoJ`Qs+!ioFvwj=98B@}(+T zj6F{b)+(`81UM}>ZB~@P2l3fp%bqzF@Xh0O04i`m>I<9+Dw2X*)oBv22J$*g3*v>F zvIEyU3PBycALSWGq}(B>6?chjCeM#JtU1jXKYrl!tygw?6IYqU3C`}&A1!`Kh%1vb z$MSqcU~&BDYKR2gryD>Nh)(zY60eGCcOF=*Ll!xiL%xzzxM9@aEAsvQ{h9$t&0xp= zf^YBGdqmNl0H1%upyz*@y(B>PfFg9u=i3$e!Z6hSgwbEi&wp`I#pY0I#!=J)W^5V{ zRhMsy$aGgBew3te|F>eMyJn6T16>TQv|is3tv~a(_utk0 z>()Y8NP~l_=GFSze+P*hdo(7k$cC1*uU;1b%e+vQb^;4gGj<=_RZo5;gu0aana?s z#K6DB878eLSrV^?oW8+9*(YyQ_AS(6*z?8Ax365m!ok0Rj>GN+VYN`ho2C9*xGIG7 z!tv`l#?K!y#+m{D#%N6@xqa{TS}pB=pQsx?3enene$&{y2iI`}UT{-2^u7WJJC&dL=IJ+ZjIU#Cb36)L|F)xiFp4Q{Xh2b!Z9X9hP}qNqCDy4!i^NGVjL-Z z89g~PNHa+SIDq;F5dTfkbQf^f#Q}hz{MOW^OG=xW_yAHlf@EAPg3%s-lKIH$q6NG= zLzP>6#@IiNR}Xbvm@wo0GC@^M% zrKX?X-jgJ)72SbdxqcM^?x-aDQiNBVGLvccAPWK17O9}dUyJ0MORtUQ(wr`+{EHO) z;WP#0UsIo$?GfG2*O3PmTb%i{UA)b3D`&Q}RI7a<{;m$u9qx&c$50f0X6zqGeQ9eoV8n`Z-+?+b zaYCfsz{_T?!yZSAHjU}=!1~`KnU?+ag@E+?Jd|fOd+ka8wzw<)JOLz`CIVn;qDERl zo=QK7s#X-YH2SMhNZYURo*DHIf; zhBXw*Af_TK3-gH#7xnHE*4g45@hjd6J#-yR?fmpT7dl#)l& z#y;6yB~Pz9>~>eyz<(0t#%WSKKyinj;x$b;P**o_R|h|V?*%XM4oe0x0Kf^at6EE; zrs1)%2Q?izr<{PV+7SoDUD(Tud*@QgVYunqCjIMC>eaqi+I^irWj<~cKyk2m%71eI zNEMqfgjL}K>onN)tr7b=qTMjqy@htSX94j3 z-=nSP`=7NEax%Wwx2I81g%U*<8_9;o{E~-eP95?L6j#gG(_8fSTvZ z!do}PhCf+2(Nhaq89e<;KkW1zxG#TxEH^`lZ_IYQ9ADZ+)Rfyj9p2Pm#fW#ua07sUY3sPjF}l3D@PTz}kt z_35E(BPX@?pE!itu&mdyo^~=;ItDv_7NrP(Su>kHo~(MD*UPn;zVYf7=lcg`s@CH; z?1md(UtFA*<}3_0l`oN4z|bEd^!>S#SL{bfylp03RI!DYsTh~G*gcbk*7QRck zmcy6lERRQo-0d2`TRO&L`u=-0R`j_YpcK8ntRSb;H*AH?30sx3mRAOjQN7uyPpIuFYm9N3EeKjnY#a>$9s<`HxN1{d8^BXUB-E`ez)m zn{YaIfIXGoQDpLPjcL2K#6&q2G-kz?PEQP%@~xeUQrHCUa_=x9I4?P|dJSN_UdOF& zb9mzqw8mrnkj6rhbkv{!_>=ex?aq@;nBLo|ln+AhQ}oF!2L>CxrfN-y)FQ0-m-aBe zH8TukqVx!%Z@YDxrvC9&`#6bJTY3}aeXBp*{dM@T_I!o{C3>0q?~7Mg&1iFB%8$N< zaGVxL4w5p79v*MQb|V6{k^aR#c?vaaGWAeSOeegH~kv#{{Q442E|n8{;D;C1>s}_%FnObfGLoKzD0NV`ZnJeC&d>nM zOFxSY@ihA}?^Wb5`nLZTnnf-C$fb>*OLWqC6Y-r;M^AU$>?r9G;ux+kYOp(4RrbWN zll#CCskEH!NO0IGT<#hn|7VM<5&6O%w{Z*fhIS=PondqZo&2E zVU__&v%ZsoLX(Va8luLMz#o@iWX>7h%mr76V)PLf%(r)>GMxm!eNNWb`<;<{OP}Yx z%#?`k&o2+kZ9Xhb6&OgOl0G!=;6nl6AfJR9IpMvIte8i8Wy`u z5+qkM`Y3WXpe$!rK6myIHc`o1D+kuo14V7sb zlT9|aOd{-NuiZ1TmWRy|pZe2I5VWUZaw*Y~ioEH@7F5jx-0-J+tWpv(lFoR;rK_d! zj`!~4!GbOoALm5SFsK3hyi(-o;BxMZCvbT_@@@6|T{ zRO-k(;jP|_k96N)0Ptm+!PP$SX+!hU;p3_w4b#Fk>s5pBfZX5oC4&B9n;E%oK}+W^ zKJu?)CDNZ_qLaskbfpcl(=>A5Y{u^EM+RWN zj=;54=c>@to13uEYz)K5KbtH|bwXQ*TyA|hiq)!F2-G7)dGlVvxnU<$ERHQ>pOT&$ z%IXMAI9Gbe-!SzpbFVNK?JMcPsm?NR0L>~{*Zd((9gzqnjz94SL)z3x z#0ZS1F-G|o(Z`=XzCX=e*WV1terPC9oa@clu9(qNf2fvhk!++YtMcgH)ABMSk>0{T z0o+-{KYjiT-qz=-cv}KFX#t5}Y_i$Ztb2n`@acCinGK(dKgLdY|Gbh5%dop~t0Z$o zB+Ef)EI&V#oqK`Kvdl`mv%1Y*ieXE`x(3WniJc@=Nbe7$sf_tkwQ)XnBW)$~`hJ$z z$-iNV@S5g|DMafJGBwp}o)9cAOENNV%Yk~cA*tHR0{#0&t=a2sQv8Vb4eaRL z$q@(XXW889yj!NKZIzy_lIuiVxI{e0w{6R;;OK=#H-FL11B-yx@0h~UMWfaFLE+)? zU)cJ=fOTHutwq$+M+lB{ehJA@=ZjD=srAm=Ff{~FD3+Y>bCSI z5gFBjU4k!KgEj+-JbCwb*$1xEn2}2hKB+2gO|37hydxWOFupD~&~Q5#+Fy8aFc^68 zpwY&p?;4%T&}d^E;%bbwoZE}lwom5}7r%xhFb5UV<0?<`S#<=y*}$)qZ+Q(C6QUGi z%S-OXUv9%Hh z%0%^g!uAL|L@0OVI)jNFo*r`a3e#pZZDN}Db?$#(82efIGHZAdmrXS~d2K2AT`F71 zhl;EBrrNs_kVE)WgJG=KFh7QU53>0luJbR9hkSSLoUPv*9UmrT5wJF62XTfLjD?&mpALY7D6Y?JfVOw&T0Ulzbq6LGbWzLfFq8#bQz(rb980nB8` zJ@?cViZlnb8B85S0^|o`>)$cLzp0!Yi;NG=o~hKWFy2hRX@B}WYSgr z-DY9;eco!18q%@vO}}^MG3z@bOsC)*xQj})4_(zLpfx0R(EsDXaeB>wLaezVGZ-I3LTW%E!|0y| z5sN?sUnX``J^6ls_YqUK*1^g8R(-NyUuCyG*FZhnKyu|A7eV95(B*IL7d{@>s~oxO zk&@lNKAQgMT6C*2@9Wqe#ochhsLI7VMm8n z-5V(-^;#x93wjk|QKWYJm6=&fL9fX`9J(J4cB?}V;qBE(lE!*ffUS{_ z3Yn~Sk8s{twX<0n& z-eE=>HieLjR#uoic~F||V;OPeo*k#&`s9SQyZeLq%?h_)mA9KH(dwQ;5A%3MsoA}T zueM){Y?sgI_NV8SK+;3bVae56G6Bf7Q^GF(RCi(@A}~)T@v;H8bx-4mvC`X+mY%Wn zXpXMyY|pgHFYzVXCHl=Kl{8*O*$a!4pN{rOA0DL@Vo7Cs^)fls6e7HaIWtK_4%bU1 zQESgv+Xp!CC0cvF$;)x5;qFJ#hIhH(U~ci zFdOEpr(cEM$6fsb#7}{*LX{k#3(aQ-gz|qIa6;Vd%CDMJTMZWR&*;g#Wg-5ISq9*f zip-bl=Ri{<$z~wc@=w0STJB|Um$lJDQVcnmo^|I*f=;5qI|Qk(U{*vemg`e)JStTeQ-l0)>W|szj+y6+QyHu_<2MzTFyIhf@#*d zw!7W^(TaA4U6@Pv3_4~q9A z5?nLTq1^<-b=YY~S}}!%x+>{|>pJU8ivrB^h)87U*T7#a%htYUMpo@Y@j4!~fgbyR z;SYs(4J(MMwW{Ux-3Hgo?yYR(ZDZwaEA`CN7W@E&1cXF+1%!A7CG-R&r9=g!ghaRn z1f&E6qBd#_CZ literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214705391/1/s1.wav b/GemQuest/files/assets/214705391/1/s1.wav new file mode 100644 index 0000000000000000000000000000000000000000..24ef7c661926c3b25929893273df2268215e494a GIT binary patch literal 44128 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 Mc)S>n3+1){0gKcw^Z)<= literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214705392/1/s4.wav b/GemQuest/files/assets/214705392/1/s4.wav new file mode 100644 index 0000000000000000000000000000000000000000..f14429211c2fb2cf7890927527a9cb793e490c3c GIT binary patch literal 39368 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214705393/1/win.wav b/GemQuest/files/assets/214705393/1/win.wav new file mode 100644 index 0000000000000000000000000000000000000000..f5709faa20811a5284632d42e5a2f7dbecfe2efb GIT binary patch literal 143660 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 JTvGtw{V#M4p*;Wq literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214705394/1/s2.wav b/GemQuest/files/assets/214705394/1/s2.wav new file mode 100644 index 0000000000000000000000000000000000000000..a870f066602fc7b84f72888cdb59c2edb2c9e7b8 GIT binary patch literal 43968 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214705396/1/s3.wav b/GemQuest/files/assets/214705396/1/s3.wav new file mode 100644 index 0000000000000000000000000000000000000000..5cf479df0356d48bad81f7c30877bcf2d0f1c859 GIT binary patch literal 38768 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�Z!?4NO(r-#(MZ92>XY%`HH+~JR0VjD0zpto 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�gPMJbzco`6&uTIf$7nnW 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®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 ZDK$5iHRYykviKjBoz3=5`9z<{e*p98JwyNi literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214840802/1/betcart_ok.png b/GemQuest/files/assets/214840802/1/betcart_ok.png new file mode 100644 index 0000000000000000000000000000000000000000..c432509f765f50bfad787c35448c7c45418e242e GIT binary patch literal 4146 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 literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214840803/1/betcart_clear.png b/GemQuest/files/assets/214840803/1/betcart_clear.png new file mode 100644 index 0000000000000000000000000000000000000000..f3c1128ded6de99f0919319b7d4b74a377522499 GIT binary patch literal 5050 zcmbVQ2Uru^)(xVN2O`oGQ6xl=ixSdk2~`XNBA^rjrA-PDg(M`QDk=`95yo)5|9#rKp;ZK zMg$A+JP95IC?EKH_*H8oc=`v!$c_bp2#T#8JdmUmNeF}wO|`OR+nOH2ljt7G0GUpt zDEoRaKr{rRrR&Q8NGB<57?I*irD?;*%OAsGRI)bQM%5H$%GghFqZ;`$DVF|bRwVzE zBpey8s{_;W#e)PM6gB|!^>C-L@V?scZ@hSLymlK2hkb*vPin*Wtr>*bnjVJjr!y%q zoH80gLZL7)b(}JQCXvw?7bO@5g;7DG(cl+>#^F&Kcoj9+j}II)$0WPpEeHpG7z3}g z;cjd;1CK=d`1mOMV3p}iS0oyT!y!=^BnE>35eSwajScuBXslg783+^>iAiO!sdO4_ zjS(Qyz1Z4t(ADoTcrbp^(pW!q0u@900t_Tt8MPMEHz1kx3&-$cx_>iHCLt;A6b}lG z%>uFLUs#44olR%C(f@+_*W-UN0BUP$`pd?j`r_g7%LI#U;0=cHLy$j3v#k6W6r=@( zMfYNoCODFB7C2owf^L0O?ucvTg=ipE|Pm_F2Zs41OHb@BU8C>D=V!(%c30tIV^46uQ}1(Qj5 z7dq1e00X9a0In1ygXRi{{gM&CpYBd)f`&owu;08eHN_j#SZshsq8Jmj;b6?lR4N&d zQK#T=Xd(rH#t<7&4K9Q=_P?Rr9w3!5dLoVCwvStPe|y=Z}#)751$r z@BnG8*0tfJwIox>@E^CSf1=0#WckN@A2$j}`d^a&-8zfz!uA1}lzpzCc7I!3$iH-+ zPV=TP|KL6YU;8ro;YOD}QN+1$h5= ziT<~e`5ya!O7w3<|NoKbhx{ZrfaXd8J2Vo$77TK&m3>b>^55&?+p|Bky`ONfm#z(e zb#d_G*L#3M1F4x{mv^#uO$OgINMpi2E8mpS)YA;BcE9uK0T1-|9))EH=ZD$>Cg=~r zb%{@pM)BV<+u`2zkJ!{Iuk{bGX`Xxv(Wzx#rmMHa%)2#irWwDeP4f@CUwgDw1Q=dDF zT+O9YbE73DE9c%H&(9grebaVJSofZp^@_8XNEA)Ns)65HbxQ>S{v1)JJS5Xp>TA&7 zvAU=+&%IaDlRGLLsvqRpR~S<@Pm`>o9Y^(qe==2CQYmb-<;ObmkM z1+R;Y6fYoP-a+;FMJf~rpio@}U7^X2BA(HanP zxHPb9UB+3Rr-vW*XzjjaBp~kf(Na#-SZ9}k(j{>Xi&|0RGv9|-t|{y3^szgKO0~A; zn^QV$2!nomPhJV&DLH*4IBSMCvtec-)5+F;Zcn>M5%PwlT2a9 zYki{Egj=IJWbQGRGxyBOC~|T+8pHF=vn}(3Igz1SCBRkPg-mY6gWjFG50|n`GS_dK zs8hJYaR?hsA0hQGzK?#9YP>Q$(Hqc6_HtNyzA!o7=N6zir#@$CE%Hnw-JNS`ozYsN z^z5?cx;L8Z?l`_rx7G=bzHP8PdF|l)dAkQ0zA=mdtFBG2IHONa9<%A95ZnB5gWH{@^i%aHLEouYiaBi9?UB$|*&c@aY zPR1Di#5Uo3BEHTJxZah%>ig?c+|sf!5_1(y9>crpMb)ksSM#vXU9D2SteZmj+u{jDOXz%uUGDD(CS>4e&CqaIU<$domZ}vx%@7z`HC@oR3Ywh z?{lJ6y2Z(JG28&ZJ}N2WQ5i?7xISsRaA143XhApWlOcU~a+6S0jeF++rUbst@NS}l zjA>9s!fg$VeD@mdqc5SqCnkHR96a6okav2LzYsfBc)M}r(^o|<#u4W#m@PUPw37X_ zNjz}u`TOYX@V4ImG>O=|np<7RgS&#rgdHbs*2l%JiOa1h0^U04)O>05C!1@XWCYv^ zbNSLGQ59WJ&uW8mlcHsk^sCiuI9Z+MCPnF`S;Oi?vqZ#Lvr{?zSz#DiWVO9{c$9}^ z_N-u|P~*y+^wp;YGqiv#VDammOYw#y_qSqqihbTo;n?pm}!1seHXh} zIKWF%@||9qhC@gzCAr1(v0NmTaB5&bsp|Af!|zW+x3|x2Nf~6_fF!UN>hcc|?8l*p zeUgPszZOIrnVQ%ni_MOfRNMulw;;P|&E#(rTQDUdVot(@!jvx_Om_Dy(}XJpMR zTb{P7^V}+xJrp5dDqCO^bFF1p5dX%(6BiyPn%O-G?IuyibYBcwH_DoXnj{xr5!AkIuVHXi?X0grJR#!5zQ$RcQ+42Y6?r}}!OMjqpWb*ItuMDdaYJ0~=h<5oy+^QFq<*?P zH+ibS=MgcIGk+!L9^hZb4R;kRKDymdHEaKkx%SZ`os+2s+Z=+XT1$J{<7Y;x)Y&3d zfci>ssP5|0;?3T%Pw$E+)HP9A7ft&*jzlhg_!zsRl9Uh1AKFE8BA;3Z9Gi<)b!8(J}b8*v$v%Rmehs;C4S4lrMAyX=1 z@@mfVyPbRUE3Gy6jLsVHG2J)N^>ono;GzRU5&`_r*@y}R}X zL(`MQ%}e;2mx0QI+^ec@~NdmcKAqOer)jmL$w^ZNfWU!LF2`O@NILe%K9 z8jv|oTAs}a4NL2lEWjP#MSMTT*4I|BOfN`&H@>_wXfgJF+w?8Y9+qrhDO|ElXG-~F z8A4>*mm{Y5-~gE3on!Xy>OEuPMA^XGGPP~5&w}9|9DdtiUBQG$>>dI6GpA3@PM7LD zmd`CTeW=su?loDx*DLHX#r^C;YPW({R7G7pJhs5|G?F{+d0|N^k>C<=ine>n{nPf? zW60i)Huc-{6Z&=WpV@m-l()O;MkRIFEPX}|Sod#AC_q}p8M&;ZnwbY@w(TwEUJ~Dt zJ#A(pS0toJjJWya68wshz>dEi3hHTWG?=8MNa+XPcx9gf?piSV{0>noCWH;Nl01R? z*I}ZY&+%U0Ha@ZEl99_r2BbPLeEmMbGfR9Bb*t;#)ds;39jL$Tkc9EUL?bz@`7?zH zVS(yE=)(2s5XjKcGjoCO^2Db0IYYyio{UG#J_EO6y3mc)F)u^(s>dv3QY0YtRv()h-PN_- zFr+zZF*PK2kj)p6N!$W|ivXR^6Tz=PpRs!5$wEZz_|u_&4?{2euRBEb*}v&S#SQE% z>}w;`(~*0Q`<-W-n8+=>QW)IO?fA9=h*8xKHFxTKceR>nqOOQ>hd(9Ko;T#<^qlK~pL Q*Zy5IHZUXP={tw~ALKI4OaK4? literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214840804/1/betcart_money.png b/GemQuest/files/assets/214840804/1/betcart_money.png new file mode 100644 index 0000000000000000000000000000000000000000..28828fb73a76462b77fce488fb4db0d8a15cbc20 GIT binary patch literal 2688 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 z zKF&%l4lT9Tkv%0^gtHiu?0=Xv9+{b|tCr{=)>`R*1pYN{=xQ!yQ&55^x%KuGV{5I* z>aCbFg)Hn-rgIt5CkufjN*cLaX+d!$K~~Z@#AikfALH;r!<9sUmoRBYrmDD|&%#S4 zd|f-1nY9|W#Cf$D&n8Dn+X#&}2}G}D+qCHK^t9#2_v!b+yFvo3(Qw0+cjLkwj7c~J zH4*L3lI(dvtbtElBp6;av#MBz4AQ~LmcpzjlKvtHcCs#c2v=~221)hLE2eC&aou6H zLHU_hS+FB432-b5bzJ*tq;H}h#-alS;oFm;;+ z4|@H)Ov$prTug|IX1l9CNb_;929SYGc8ET$WB=Lh{`YV5365I7bd$WNker+qqyh}P^1LwaStZo9@19~CV*L1eE(UIeZydFrw-W_`q{ZQPHprzFJ9oMWuvJpkOhC6Sb(`LW?I!|Mn3R<{b{>lv{XANZ=^K zmHR$dY31!ZJ69WcOB*pge%^hDbsD67aZQ;fzfdN&iCgGTQAQ{mW6&j1_bPqt zG=v;P@C?*qCvou8wi*4BWl?LV4GQtZo|I(mDPDXl-F)sqvP((L-$m8)H<}T}GSV%) zW*I7Tw6WgXagR63g{$EQ##KV+F|)_EH#_%~W#SDdGSPYj-+<@~f>`TPFNt@O?B^PJ zXHcQ*RM2Nwc!vVVJ|-ppJ*Z`ZR02iJlT)xB)s#{uw$ydhxvZTT>mwSCU5ewhpkCzR;=V0-KTt|DwC9Etfeid>_%i$L3F(4}AO&WR|)N zRYD(>sWn|DHZS`JA7hZsEU~f&T(DF*kIC($zaZUuj3LeX5pnz*irNZ)a=smd1NniTLA_^@S{vq965F!d+BbWK7Qt^6geQ!qzU;fmO+3FnqyjUE&}ReVrr@XtHMnYW`gL3seHK;>ChIL^@=6MF$<_v-7*zgK4)IPeX$?KgG%7xReJ zk;yC6uaMWqyw9xcX#e+Hug6%P*yVXZT{k#GPC!pL>Zec-4uc9L*!>&YYcm#8G(wc! z^u|sl(o#<vjGM0!Bh5 zuXCE5`gZ-p6EY*X&_?v8aTJ+!R#~R3PARVFKIZI)s~@A;Aq!7Yoe`*?vBJkq942C+ zDcruJ0$I$*P38hk3b0U@FCxP~7OUKvSPZchNTDZwtTvuV%JqJngIlwQ-aXj6V<)q{a?oYmu+d~CmwdJ( zRN!gal3UiGggxD4zx5EU_iZmZ>k>VOfn7JTrjK8x8tUD~oxD5jau!dsT!kS0`z}TL zgPl%~6S>GAmfS;dj6Q&!kuGYjT<}W?@kwU4PFLz~m{&hWWp=apH|{xwdJA^I>aE#pxq{PBb4!c*c!tr<6}j0Dx|i^E@f z_@$okcjeb@@e6aO5_ILqCz{*h&^1KarA#xiOuYyIH^KiiVWUj-zSlTiy`;E%(wa5` z8%?p@&nl(jVH?!NLl-i%hWunEu)O`5Zh7|1p`y6@os_HFl=or$c=&Y!x>AZBNh0lW zzr9fQNh~2LK4D@uy|S+S!$KxTv$NtoD$T*YXlSL176>%0y%q+8gB|J@PF=*(&>`%3 zi~)YYIz2FnpXeZLK(#N=b|&^j+hFGTtkBp;uEQw$=f5=$Xy#wIIa)7&SgEtGWL{@8 z@?wU4l!;J}P=$UT->Bdic}?xqNj<2D8(KZ`+)zzME9T68KI3Gwo$yDuyh0umzNO{n zR5gvMsVT${UWD20YD|53LojvF0W=ZG04?EkG9X>qV4!w1|$H;5l zAws<=Xpf_1Vq~5&)w37Uk)PlJ)vG4dAww{&4Hd;5PpW&H9B*HM#+~7S0tqvIs?E8k z>yx%v0Ls`s2kFC;$$JoLQc}`#JDN`Tjd&OpKzo*8Cy&E9yQk!EXVi8B?mFc&Qh9dMkBJShUD`&`Zk{H= z`@U`$VbN#`>5Y$}!WV!!kOZ&TQy&Far!Z3##Sw5OVeU z_Kgmp_$+45WLoeBWK7(!>TN0FVb?&*JOr~wEn=ZHdN!JFy0*2(?yZzJPM`_eq>8-H zUMvH{T)k`CY3zNe?uY#3e)#fsEFz-#|stTnux*x&4dbnM_Wp&v%B&#&;TrPDe0~2p(~oTUtioMFWM) z($1IuJKs+d4Z4botiIkQ|Hg5RgDp3X7e7bpj>o&al4`th2<~qNrWA9U^cA}{O%k@) z6%XFrj%PgM*inA=R*$pS^Su85@N&>=BjmhN#CG&u1$~sMA;SHP-T92SFmslJNJkA= z-Yr&Thl<8D3@$L8plG%|2?bGDD=Gz4Pa1sxoJd__UqVey6|kES2s|NFWeSVP7f&{1 zY`prn`uC|vq-+604SA0ryp?AlXELJ1iuhLTSyaC$R(Owx=j+`}-O^0$QV7C$r7tZh zHN$_S;Wa$0|NhT!pFjrUX20RvjpWrV`60UWKxwulS%9dp$1{X zw4ZP{7mKY_>EF++4l<^k_-IPvyEl9LnUggR$Oi|-eOhtij$OlIbNz$MO?@u*eCQ#o z)(%;n+5QdhK;nFRI+geB^hmiivDpx@5_dSR{ccWK(MC7_S`QNJJb?rNAOhQ}0L5tN zvswK7_rO`ekGvv=>w(v4y9#7lkK+U*)O$>AsmUT#l>~MxI9xtC zbw(6IGzh7c-2TvV0w*ZCEzSSBqp=S$n5-No8u%(-*^-;K7Ud7Php{(hW zPws%k&c+cHYqn)!H%G~<+piy5sbKgm-_-q5$(RQPd}!dwgAdNTjBcAr9TlbuS=B)W zlKQpo?#qGWb9YMSiEZzIFV%7!ryZf5#wU!A-j$zAjhrB(Cn%m2tevJF#Jo;eB2*I* zr8^+ali}~za=0bFyLCIgD{wL#;Kk!|6}qYU~Xp$kn_kru>i!cICMH~}!- z_g?q8_7#+Vdq(ohAo&W7j)XyCn_=Z&4IRf&0I30u5njPHZ~Te7B!J~`?@AF43wES$O~VWNdPju$Cb>+!nAg28 zC^LX9dm8R^6BQSV1UySbaJKDmiD)n!+`mP*r*Bxa5^ux0gAxp~3X*K;`90CkNWP~eidn87U^vo61bi#Y4C z*b=-mY!*wBjrnt>s}f-l3vUCzap1p#@>af$sN@`ah&WP&}B7TGWB*7T^0S)=~}-24u2zi@p*SkRvyI7Cg=6QF}b?Puj8D#$$LB8v^6 zR-tYys%=B;mjc6DprRFI{Ox=OJ)cKEz$$5|QsvE$&x2GMfEsA-ybYY!*hM^eJA zTfS5@j^|54NP_6WxCnwAkgXn|?k>pRTc>eoReQ`H$4LaiYsbudqg4Iq38`i!<-tqd zwhOudBKC*YqK@liQE3u^!vZVDiWqvgx)@2uA7|1nk^;P}_PApLI>O+|CoCj?xs@-E z9K0_W>f4-@Ah_QNO!5VALuJ`&^RL;<3zH5kP?;Sk-|=5Gp}F7 zLcY=Xp0FZ^%7=w-btxDtn#O8P(*dV(IpDAdmJSpmXB$>byft92>vAl412ZW2=P?%$ zug)XOx9F3DVI-K3orx;CmET@RgW~{B0c1t)^z6ivo%=3)r;UR@|MBt#==v5md$k?e z3T&J3^zM~y`_F}{X5|B@(@bCH(K%p7dS2A*655(Q$Ns%L?n|zL6GX;~U!{4_V+0$a z!Q%j%LEWGm!`SgNR+00^)y=_KUiSMWwYN}Xn%#Ugrp>E?6J*F-a&*7l0*6qWlxeKtNTlemcmx=bDZR@3i^a6?_L zXnYZ6BEIX96C<>RmgKg)SLXlE zy}@j4!^rGUswzTiUWRzuFMpTK@_U-@O`qX)EQ8$+ak07n!ar>*)KiN!3E*YA2>rH- z#oHC-$fS_^a-B9Xj0K(&SHoBo(3NkgjKKFzNwzeZ63C_-+Nd`$2|J&YJZB zHR|dXOFVo2)+OyeX8nBYz%N_K!~*8O?@hnohv`vE<6G zCTr{K+zB!}C7O;b%MwdH0QNQ0m_5m%neamQORITZp;fmW*2Jqy%ID8ZtVtLP|GwVz z!l-~-HwcZxGiMJA+{N#W&a1ol9YdQ64W4_q#}R?6cH>hp4z@HT!I(K#&3NNjH^

    UEUmgU^;wZw^SmdNT%-QU%9MjLw)qW|nYm?-7q_ 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 N1Dz|{Wtund{}=b`zpwxR literal 0 HcmV?d00001 diff --git a/GemQuest/files/assets/214864107/1/basis.wasm.wasm b/GemQuest/files/assets/214864107/1/basis.wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..059befa2a308973b79317e46846f916eecfdca50 GIT binary patch literal 611602 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

    @smW>6#s1v-Tu zC>X^I1bMQ}cc%K=>Of7Hyrl#RXsIP{?SW^Tw%n$&VdEl=Ul}j461}Q$*b>*k3F^QV zIO(bbx4O6FBl1=mjCq7?1DmLCYBZ0!?>+<%!U-ZW3b^hF#fqI~aE6s@r?XxBka9&* z%hl%5PHC7>%Nc@*@WX^kkVV%IlRO?rUL~k;Dh$aOCvS)9!OB#CT?poELAi8erUP8j z*o907sOAb&NSZT$hJ|a~F1Md9v(k64AmN^>SEF51!U1{--B{)Diad5()iiQo;2OgK zTo?>o(~kjEZJexm49JsF$t$_4O~cZ~!drW=Fe2UB)r^VM24z^-@SNoCZ0JRsO9Oz? zZ4dyGEWFDAaE@U!nvvGp)HcS(z_GEG8C_4b&EqK^cmJo-QugG%C4)P3J1Ptr#PD zQ%u-(F*B}q+YG(s);4frsN@R9Gc8Sb{53tjx=zE;oe4a&VJ|Xdd|Q%YqtrSI0qG$cr6w^M>}5VE z?glp5Rotn`F72D_Q5t`*t}C~?0h;&Yf60bX;SFxsCY@K|3E|z|LRO{TN|`QRQ*K&{ zceg>Lcgdzv=B?6nSDB}#yS>H+pw#p=Zj*!%i6AZ$n>4l^Q2-1egQ%wG35MKeM3dcK zg4$h{n(D-sq^2Q>dNudXTt1ZqwYw}eDOi%4h6r}0CM#LinG6XwUiZM!3dCZC*(^vI z@)|L7TSedq|gP7DH^3>sSQ zX44#Qm3EMuVq4vaG>Gg<7TA{J&Miboa8M!Mii6T{KMra_?!|6(b?Fedx?~}`9Y;Du z_PkOl?!!UP__#D{o#ZAr;gyG5(E*}7#A+Df{>U*bEsnIdW6md$I#4jMASYVna@W+C zt6@dTnC0rdh_F&dL@nn6J|@Bh?8Fs7Bk~D2ivJcZOS>7B263bjh;&OZ^W#*GFl(hQ zknvS0yhzmme9YNX$C?D3OqXSp;VS8qr;=)VA&@OIDu?t4L%;#HuLF36TWUk~sqL@% zz#J-m#es>2_q7&)*y5%aqG|8rp{iN$<6*2#-shxnwR~4dJ!`%lC}X{E&qB1v`}PU9 zmbzayAz|l0x>ba0sNvrz& zLXI|t7nACVQdA!%X*sjiF`t>SnU5DlD?roJN)AnhHdY@GXEqj$a{Zr#QTTLtR>n0E zG=D|F*n}?F5sd&*#D4~v5ei>Qsy}ixd=uX4(eSCHdept(s?XuJGIu0%tC<^RZYcM2 zMg=YeMd?>|q?2iwUigh!M!EGu*qRQc>c#+wRyF2G3t{VUQW0@6i9`ss6#LmA{nO*F z*1AELNy#T-2&6%$cn#>GXwhw6@eirqJ>)YQg^Y}rjvHx*$E!!uP~JSg^@GRizfg^a z&qhzDBT{G4@gTj;2r?Z33?Apcn}^BLuY7TCXC+8RqO(LZ9Xil4E{VYRY9LcsEAhv1JU;o_OJ`UFE2onB18E;F9=)vb)wTzVMq7N_(`=^^RAhILSg|M0!@^`!FB z3(4rw;LSFeqi*!0$>dAt5%6%N;39g$?9$s?ITfLeZ@o?2=2%mVLyZ+xRc%h>wUAsY-oW5H zu)@ch_6*9fjeEFwipn4cKedJ@WCix`u8ii+hEFqX_ASQaA{N*l<9~|2{ha`iLEupO z%0>T?P}unUob-C>h3nabSK}c{@DT*akbD6-^|d233ZdR8mu6v!I6kTnozdrEd=?H{ zm8+WN!X=k7oXRp_^)fiaQkG$MwG2HJIim{FAuS^wLRVQl?S_|PjQ^=q4-~RTC#zO8_4tZaDhXBL@#TwYoSyF?6Hb$ZIdfqZtEFL?%|FZ(*hG1YVv8xh#FC9!j)QhE`EmctRo(hbX9s( zV;E|6viJeSn(wbAaB7^tL8${PkuhN`C+ z`ke6sOsS@txK^nD@Li$nSO4F3Hr(xZT_k?X2>+F z!da~hy}v2%4y3IUNmcwD|LOGH$EzkKLA1x4QEJs`4O1t_gy|m8d|!zdrc2O?cutbF z=8?tgk99u(z%VtVyq)K&Volaeg%n2THWIbaon(eiooGth7&@8$>aLESD$QXK>*#}_ z)`#y5Lleww4+TPoh73EZxT%L8vNkrKXmUoaHkNl{kO_!TTs#9PnDsU)L;S1oe`u)6 zr5u$J=~mLQ6HRP=4Yb{zy3SRsm@3YJ^dfpjlEX%l#ukXzI$355Ejq)b;74mNiX~)1 zVQU6ZT14oWUMpIw9Zcg?Qa&pMa#;a^bNNd)#u6wkct8_QOCL!G<;S9stLCB1L7|8R zMa3g{&s)x99eR}X{6Xnf<58my=p+5tf8`%@>DK0QmAMSoup5gxwbt4hVwL(=|M9=h zG9VJwNX0rdt<*6i9oBIRc7=~|@{e;zvVo;fWgyTrh{sgJuqNd^FY8h!g_=;>*&#kp zWSv}O=%eHFbTd3YUutI_(^TRX(HQWd!RLN{wi9onzDnf?n{$%f#@pEcsA4y?gfAYB zj<_LKGBgY)a5kxjaPxeCHWyShcZQA5xUL-2GMX(xH@BF~onY3HD|Bq!hnR9hJmcVo zWh(&osRo@blO34U-)sjn1+vb%QDvfg@Cg1;2Z0=K-abm5IRqOE2qrbnYi?BajnX=n zK9hHnlN_O&%qP5?Jp~OzqKq^aCL7350V?rYgFd&%hR1+SJtRC9L$)yIMLH;1sqt9C z&&fpqgo)JK!3>=Rdw-=YS>Q4l zvhgWKhZTwH+%QHajLi`89~*xj)=P%0iI?2)OV7J4&&8P4pam5Fmo^`HLR%(*!j(eE zA&^f5Y{kH4%a+tFpK}#NldI_Z7B}?L3qH8R2bs5$p+DyWvY>R9&5h0yinv_^;&u;+ z+cO|;?|`_g2gF@7Aa37)xN8T*yfUN0&xT6E&ZW$1F>wvgpMO;oq$F;^xL+j7H z5P4}WqeAw7!#N!uJ@mroI2zUWRO$B716jxh+sw`xL zadcZ2GSWG^H4BNjf^=TT$+}vpzy==>c?L2JP>Sdmix3|Wfd?`XP>N;%p!J`~5%3iVT z{QB&k3l7X)Rrac7=htWV402%hnzGj{JHI}==bZzy4=MYQW#`vt_iS}w_F-iow(R`+ z?4IKe%s!&*BbJ?CpWQR#f!Rluebln^>$7`4Juv&2vX5DIetmY&!UtxrD|_9t^Xs#F z?mjSkL)jaaonN2bGyZ|uo66p_?EL!deoYvdeO%ecEjzzHyI(Gf?4H0_-l55{bOMR8 zYQMw!g(4TE|3xme?bnk?h+6#-q|hIX%Q+PCo`YMjqiIu)@wgMxZJ=E&-+oLH@y`D# zUUiKqR*jAzx}bbO_+789i_WUpTk91n$=f6mq9O}nYpI}}qLP>eu>vXO)sqz6l57Ng z$qrgk+7qZl5|+{#uB+2O)Oh4zGaRZAX154?cyvFq>PDr`CKtE#`!m*iG9oAiWMeDB zJ{AW#XG~(DtJxA!G!vxjtr=mKj?A=!^@0IuQhNh#f2J5M%Y zqbK8(2S>hwjJ}njkY`Wd|269pHFUyUFAqxb+@=HsUShkK1}mfKBIUQ zvHUZCtRX%bUqSz`bm>Wn-J|h(svWVyB48Dn%=UI5_j3Nb+W6M`*yzacP_tR9HJjC@ z{#C}C&8QiMc!P#^=k(%Vq3>mPlLoD;%?NwLj_6|O`27u?01dkht$lTORdc+tZe@O% zc(0m&a%KK?m&%VmybMp+;nU_c}^dGX-swDVIdTL zjx}2u3~VuJj6vFLD%fO#THrF133fOTsrQBHOKbt!#fZRH^tyDD0JKyWhuwCa7`40C^ zhm|laMv~VtY^|$XH}VYw)iZgTiieqr_9?E(v?6^NSP^a%gC4XK$SX? zek*VZ3WTbgo9F03;8__%CRYg!IO|I_e!I09--WR%`jkDo44^Z$3GiIuVG}vJKQz;c zQN95D+udDh^db1jNi&Lxr{Qav&P28+xz1#rW|P;KAcLa&9GAYNhVrHw3z2CBuW3sx zS*!|suDjq0>!cU)yIx^783&{mC%HnQeHqbXX67{ZC6hU3z=fMx)M*>pxt;08_Xd+# zCmM#BF*(Y`|AyVP*tbS=l20zWnGaw}Lem)72}b`s1!!modW;-wjOd|?lPV{RKwhbY zjROkH;0#6%?0-S7n_=TCJ`~;KgZ0iST@-v7}^e~*%Y?MD=orEY*)4nGv2P zEVe?JQRhZDVZE2%EUyYos&H|<7KBlyTH~o8X4O~cpu{Rtc*-6X0uJ~jz`Xx~cdSB?Y>RbAbR$opMS8pu6_~l$W$iIEe zXRE9jjau13?H0w>rPb{7%02DtQ6ytgPn}GEk5vsW1ngX;wJu(j{+K@wgH-4$?24(E zv#Wn^C#NY_cep@!$-f zc?rwj)1xr&(T|)=|I>gTec^lRk>>tB-SuLn+qySEvo1%UrosuKd>l>Is(1_LCEZU> z(&ykT!!`nA<%LF9nY#ON_QFdNh(&&NvvZ;WGNKzBUuO&rvA&f1i{%`ej>U5pqAd~DauYPrjg7JEMLAy5~p@#y23j&4r0`krQ{pF zq6|+#AgrZB>ir6g>6O0{#^{T$Urz>>;;kPtAN)3_Mti{S^5ObHjE2^w5E)h{{Mfp) zL%ynCs9W6X5bMV-LZ40I^zlOifp4?3)E>y(-I689guMkx@?o@et7~S5hY$!wYm4LK zmB{{8q5wBU%?~}XGfQ9b2UBf?Sc}=wjT!YZJG(KkSe4q<6in*p6)ABLTXO9eK#iWMK>nzO*ba*RW~N@T{kB0Wj7}8Z8s+GbvGvOeK#h@LN_MIMmHuKIQ3ix zsO?~b9@j*)^_(AqpD9=zOkOi!LlJR>f*V<{CJLrS7Cw|`>%u_{8m++kB0`LnBC|yV z8xfRekI)7cTHG56z(W|d*rj!tGzEs z#@fMt{5S`F6v~8laD$J!-bbM@ZwGB3wV)_jXpME5Xo98eT}qZsEbj^#Q&pF)`hKH* zqj|o$xj~OdBav%(iNgpYvzK7-!E^eHpZd3q3DMgA##_*RA;lqUOe2z`a~NjNqH8@Z z1`*+0H&m9g!Au@t*uQi1T=Gub;P5&7eKEPe`=N>Z%io!hWUsvk_1?p0y`-e&+?HEY zYS?LcT}pp1Je5`M9{5ahzq|ije7}c-_BZsm|6tbsyL#HcuiO58Yqy_d?XzX-ZU4c~ zaGB`7bMgC&_Sg5f|8Um+yL;MysN4QSYq!5KYhS`jPyZkOO!AO>=v@2`_kMT(izPJ7 z^n>wG2F81Oz<6zF;BhM(2FWcwU_9i};NJ0~py(9HnCpk)9T^nw?SbO85yPeo3Q0*l zP`o1}hDZIEitf+k;Tc@W$g~Pmm7vInJJqwP@2g;PKxueE5(kE*yvBr9*R;e+j)&uT=bMa!{m?ltvV-I#4d$8P? zCW;!$J|d+_(&BT5d{b(k(YF8;6$T4C{KFNx#4+sL?wz+2C>u z%9;3XCefIa{j?Uq@9U)+doMIVy-W3l-P$l}sTNkcJ9Cr<-BU>(du*mVq=m{?cq^vs zZ|SG^pbVo55SdKt1i(t>d-`AC;dzR@&-IvvT=PoEEd1@_lqhb*NiD->3JK*GD;f+mC$tdpAsp1{S=!%-=%yK7hTdu)H<8b z{vxG7YCdO+lme;w{4P=oq~`OqNGXt-&*>uN5=hnQn!peO=h)Wx*~=c;wx42KIkqPG zkg!LiAJlj{d`L`6?? zjWOR#E40iuw)s>77sZm4u-@90$9Z6%EY{Zk*$0&XUy- z0#gP-x1Xj2&p8ShuyD?M*lS^8?;DSfCzIF-sIo~;amTUk84N*pVCufnby@T31E(6? ztQL~!M^~NR2Twlfg-;E81=cv5z}c=tpmC2Z@insnC?(+zz(+ zxWk#w6poBArjK)2(`lhVJ=zYg^l`UHm1?QCwu9~7cMQdn_Z`QQRCgEAAfnU}Cg)8R zmIrqb1fO|uCqb00d2km&Fq;Q=69m0^a1TLnoCo(3EH!jBL9m^tUPBOtY#!W45WMHX zYYC#9&4X_s$Oz=Y>j@yUZX5QJgn z!8SogDi0nah+;Pn-bj!!%Y!!&M9G^6Zzjm-<-x-QC9PY#ei(^i9P zG!NcFkYUY(w-RJ*^WZUp3~(MiPVg!_0$H&;*;U@1^zn2VIARc?3t= zs$WPXG%tT1hIi%(E{4#TOZG&H=+%27O|+#B?8)9dbzo0Sb1f_k?1|LgtM|lI+%Qa; zJFxHncI8xhjyqXcp-IW{{0d%_E5 z)Qazbohy2a1S91;P&p%8nJFq|c@lT!m{KfNs>)D#2ryOj_Kma?lLYlth z;f+KnN!KUJqAOpr;_`4sHVR`Xk!K_<+GdKG4>mX3B+n(=Y`fzPJdAr3GOl(wy(S&4 zQtm8OJ1a8Dq{B+*Vr#LD+QV^DWyzawFp$8&b65jm$am84w-vSctsN=3WLnhkH*lon zGGdW}$*6}Z?@^KBw~&;{h3+E7Zxl(%CE_AwmVOK`F`J>YKIF-M!|YM}H{je%VW*uN zb@U%)vZ}C_JYh6$yJ@rV(1+XD0;2x2y$sl5yrkRA_k}1cGTV-6Rw8?h8xLkP_xvHy zcgnVZb8d&`He=|7J@q#N-n5XRb&yP^pT=&Q)jwXxt>z0iv0!0Ff2)0hbWU09an|AV z;!U0OQ)si!fCAljCFbvNyp7hEigrdL2PzMHU+X~SectB|RNn4=vj-|~ly67C>pQnw zT(IK+6UO3rbLXIs+kc?4&wSAv4^*7@-7e!}YvYLQkH__y%Mmwz^epd@Xl>Q%%EK+k z0Q{*_F)9iH{r2QI;h*+B>+mTXod?~P%GM52dxsR8dxMA2r{g>r^Azab-~qn)gL8j8 zFXukYZ*hJI^IM#^V|k17gYj-TZ;Sbs#NObo@%3`v5--U4f%rN(Z;r2#^QM@7>F{Vj-gU8|>az4O4bDWcWwFqZ1-YcgQUoGeT@h&;p(;&8o@t3!osr(=a_OUc?S~xO!G5 zN^UbN7e>k$mil4-^si%Q0x#5<#}h?{NEs&5i&-kZf8fm;3hUrQuuihy#@M{VU4TQP zCOzRkhU@IYvkWv2OORWBda0AJFM1f8I2o=NsW%s??4KU7RCd9#!&ljxid6Pl@3d5O z2zhF|NM(=qE=y&_&r@$GQrXMB+fuogo~IrxQrYvp$5OeQoTnZrQrR26*HSUa%v0Y` zq_Wq1)Ka;Zou}?EQrUIB&r(Obsk@3)gr)aeD!e)`dv%e@ZntBp@WDKFZ;{Hbc+pZD z-PD~$DtqgbmdYxamz^q7Io|nzrLy18Q+E`pJKDixmWpjjp1P+cvM)RluYtZPolXlU+&_{LJsX(FV(n0D-{DIfz`r4t|O z7Kg=$rUA|4kpiUgCqL#NOi(pTXYn4!W#_@1*uN(DcqcpQ9HcJQVUX@aMu*6s3+cRsRgM{xa*2k zloCH+sRgM{xP>AWN%k$4T9E35yS_+8dGS_DEl733Z7Wi@wS%`=YC)I8?QdFpIC_#sOzNR{tw7O9)s!F`rmkm>~I$9Y+HxA$9W zL8=oRW#_3I+ra~tT9E1lD(pNpX$KElYC)2Wp?}S7)+1LIJ#jJWEYLJcon zBa7_J(pmP{m@`Y?gtZf&)WF1<`#lbWXX&{};<6YwP;@u0dOYEQ4DsLxkSe3>UeWhl zxoWR!9z$&g=$I#YEtLkVx1Uz;<6&(IOaMSx%R@csAJ3Nkc?_X#aqu?i-#bvHx&N)+cjTld#XvFF?w`xoC zD_Uwf%w`JO;3I}&bD|ACR-?@shw-%3@-6X|TB3iD+>EnN$k0auOdkcD4=3Y_R;+>*|X~UY|fehPP>iA zxpK7;*w*Pchs}RC{B@cyhA^y>6}5YS|7lz& zY+NV0;|hCxJ;yb_7lxQ3UaLolM6DS;a!g~Jg_!$vy@UyrP$AzEgvLxd&PhRYIU`K2 z4zk;@4zR=Q4!&LG>R~po2VpWrm*Tk$!TB^<6~JjXC&HXF!sIt6%(>SSxdmZz{|eYZ zCNwa~Cc{&~_Zg7(9V|bfMwkq-2vY-^6RIc7!Q-l1Pp>1x=_Sm1gXhdv+|lMt&@~)) z5O1H48(hP_%=_9r9K}WL)~#GG?4M`gg19)~#E&Zgp;Q12yEMWjFyS?ner0q`BOc z^5O5jipuAbs?{`oP029MV<&3Ntl5fhcoOw0!~xu}pAbJkHkX{Sd+g$Q(D(Ue3>+}w zX#^_oE3_Cv$w>Yo9h=zVLgBa)^2$ttQj`Da0ok| zj*bB_OwfSV0*pymcM$XTcidM$vM=Huq0V_vNC=NhQh8aNP=J|g&}cCJ6C`~M)-Hb{ z=73okMD9D*+6}ZOFyn^CeIf>dETpafQFDZVUr~TTL-Gb%Z&5H8+PS>XW@n6Ek=^Nu z;bAV>(UhX2hC@dUS2~K@-H6Vuqu_$*C^}$B9e^PQUGD4c0D^o6OjJ97P~QP`i^sP| zEa)jP4f9m#0D7Ye*VO@bb=r3VjZ-IZ{Ef)ScLJg=m}8;AIzjiAtpk`3nnPfk$wOr5 z2i+;AVW3^_Y5N|Dm7FRYS`8T(PB7Hc)z%%u)*TkbCGBCl18_q+K7bA3XsCFE4+n&= z9d0g5In0E^iWVJ$^#;l@`wg^|ukL-^+r;4Y1!QPYbbhtWEUSB)hM06mPc$JxAMewVc!u)RSW}H%Gm5jCI!6>TkHO=YKGu>5Lbx^aVn&g9EIhz5RBhhSum*QYu+}h$Av}0qEDCS|TINY) z>KKOI&2ovKN6YB{_J~~~8HLT)lLIyEGMatEjMEY$B9fqRI4z9B@Y}7RBp=1{Ac&GZ z1Qbg!>yJ}!bCW17A~k9eyYp*%lyPWFNLIvP-EirAdX$;f6S4I7(a~dW<1rieNNfB~ zWz3kaVIFN|g>6$=YA~WOv>Lh^%eK@vHmNpN_Ya2LA*f{8Vkr=+RcmQGNvdtfu(ogG zgqksdX4HxN{PottL`U3eei=nOUf_LcHQ&y^6>fRR>s!^Qgc%+ThGZ)&h8gqA&IPfjfe3&p zUMJ;}7faHQ;IvO!K+DMn=}QqR76!{Au@S!_GZ01>v;NoFmp9tmcWg2_#G zq0)!u?mdKMDP7Fg7-4~eXc-!{wTKz_V_qPxi4>gJBGKLaHOPWYGjQ}s7BS;_K3*o4 z;5lw$u3zTXu;Jw@2%kEJ&%q#ET7=zqoUOSHm~SN)E&;B|pTT+*hF3uhq+b@R5+JeCNpO=6P)ZC~(Zy!i zbCTdmdP2cixMB=sYHLbx>Qohs-jHeH)*{StPW94Th<%};L1?}Y;lUXzLo2EeQ9cQ& z#;73}h`oI(_7Td~c)9%C2h6gC9+GdA9_;c^&bbfzC|#piT1xB;bgT@;j)2S0eZ+$_ zNkH+H86DZO7aYvAFsM5Bm;r-^;F6t!q5RzAo%|=u zDDpp+Bk|E{f)RO)6Dx7HX)m=|jfQds;oyo+gNvKMtS zf9Qt8v}7^@wYDA6>j?=6Wt869zFi-^W_!El9L<7)E@slI+-R_=VChf6-ci8bp^`>r z6DPsw3{N-c@8;=jyO`ry*`T3Kn2BjK18it-(RrLy8``g+d=8JXtgD(?WmwTt;GRN% z0`$`P3vT048DG}@6J4LAR#KP2tFuWa>XN-~tBPaF(mzD#s9WddM8<7Yeb`Q;&7+wl z#cPU6!UHx%4oXsaGH?)Y*OP&bb}>&PgFeGsi`Ia*w1c3#dQC6fco=?;O6Pn=tggL{OiUnIXFZ?KjJ@Bu-GF9X1 zu(CCP6{j-t{5&YICHTs)Qr4Ye#i)uauPrs&G9{R*Hr9*8cB&+zf{8(UVMgoGT~vk7 zX)GHitZEPoW>Fe)bdWo8aAQ4B-(bv1}C*17u z_Ek^}r#$b0zvA;I76d*|#2Wl_$s^)x`EvH6&l}q;&w8YoHF+X0%sB4T3LUQ7-;>aF(fFL-YqP?Yv4j;w9oVj z+DPyjKl@l+E@+ls3bqxo(tMo9GUJ(Uk|IUqE<1|X`KBKeFLkRAzbd>GJOizieM1dT zZYNOI9x|m5oLehOn@#sp%gVqN^{Bk4x>*BP1g3l7c9BOVsSI4+q3Rj9A$>7$+usKS zqqJc}5{(J7YP8vXA48`7&!}!7kd1QaY89*yNK;PVMp%bRYUnn~i7xmGfgHhG8M;c@ z8Q6{X_e&K*Z_j?eKD+D@u=X7Fn0C8+G1Wl>qo!+JY2&RRu6PjFFjuTAN>Z8eN>V`_ zecO$=M*9cgq%q4cg%;a87~Y2554g6bSNn&(c>GR}NWDKDP&ZVfPPnh2PDOUG#zkho z`k|y2Xr$mPs1tk#SIBCsnAF-r?_qP3`eB8B%Kfmra{&xWXwN{kN-h8-GKFfSFnWby zbfh4fZ0$M}a2q^I1%>v$x^C}uhNrsOk`x$Kk_rm7SL`O5O5Z_w10|Y&rW!Y>_?#*} zsEX4s?7Jc;S(EZs%A+d45*ATIZKyvKg!9|;iW4~Lb$zjBvw#(Bz z0h*H6>Sv99AhPoj1{Om_xVd&YtH31XFX)nTrwXthJF(K*T*zkZecVkb2|$PT9?q`R zb>_%za(frEO|s}t0Pk@gxrKV^T~2BsM|jvXJcCQATU0dLr+ElJKQ2^aL=D~RE;lSp z85S&8?r7`L)14N+(@j~ynbiy0)YDiK8T}G^7Rw?&a_$orTZAxTZ2^*_@9y>1U&UW+S4KB5E+g2`HYO5FJ>dA{+7%$WUr}|uufcNuo^=Bb#DvC`5Cav_dLqBt&q zTYad>x6{98TIp@1eMj8Y%s;o;UBf__R~>fxI^YgE}xQ z?9tEePzP*9f^ZwhGwNVJeKSh4NzGd=D$NK20f2ySUa%d3z!<*e2>4zqUa%$mt5wE6 z{k%dydqZh@!&F1olbOjyH_3n|sLd0{qAWAh8KMM23(7)(rz|{T+bk%H97UN+%&w(k ze%+w54(TV?&%sdYUKlB)bE0oNokMetXkG4j+{K4d3o9Ectr{)zuqdTjWz=3?tR2zB z)A*93EL$TiyjV+duThyd>F3q@xiOTkcU|b`$pwcT=gO`s)Dw`!NiHgt4p zspd!2^(x|3`gx^(t_$szg>Ch51=Z*mSs&A^63@#tk%wxRZQ_#6rE)gis?u)J&&~Qd z9Lh!cjbaKCVm;VKbf=&Z(GPAoYHZ;S^n(CTKX|3KS1Q|6$JRr3-V=64!_JwwW{n%%$L0h{An(LJtS=&+Gx~1U zGp}o8?@Dj8a{>8{eBkt-P$c&f9?_TU4EOLE(h z^OpIrfF6!Sp{!Iv6sm05i}8yXRPWWaycksH_wSE0{PWSz#fTeY2@;Wz;QtVBa?p85 zIguCR|8Q*L%{u-;`9B&H&O;jbhvfgonD9Yf=Hjtn`9B^LKI9tsY5jckt1;o6?%*Gh z|2Ja7nVI-e*_w}jGbSAAF6B?k|L>79<410a))xLR#DtH!N#e)k|LvG?G~S5cEdTGs zgku~Q|AhSiF(!P%Z3doe@bl5{$An{U13~GlPj@M9QfJ~|r{ zKIe7-KQI5MV#0U0dHk2l|71+~yt^Df_H^c>&&A?Z-Q}d;D?ewbJMr%&{!00uiV45c z?Ir$d`JagiztUYz{I&8w8xwxDyA}cawQfJ!@K8^+SAW24LH59(xvs)>mAS6Kb%nWh z<5F9*hXF6wKN zo{oe*UwVf9BeNYlFEmTpEq2)8Sfgu5Gw90+G$&+G?)t zxHRg<8EyQT3tQ)I+FUcZG{(jmOZ=H@6E2Obad#OmMpRc#b$kH5&>t|;gyGLzeYiw7 zV(0^Z=0fggv?7Kk@MmFq=R))$h7Ry&t`S_K2{Ch@KXb7z7#-kf6xXPQaoAyVU#~&% zXJHe#CW=~ijy2q?e7(cb!Sz+2jt{Qw3aA_*yn`bIFSLf5@_30YNvYNi7HD~(y$OGM z)Rt3$CcEOM5o4Xh5DIa>wf%$o=mg;hb%G!oTx)M*8!b(VY=R^cmLyS~}8KS<~xTi3p_tUO3)XH;T?4iummwm?k5+W7+oIQ=$z4Jqldrg5;q4U~3_N2?X> zX!(PMZJ@4?%LhkUQ#4aDGxpRfWag~O#@z-xA&mqpTqxGc^R;<6@7h|AI~AucO$5aRMhh)V|qAuiuHv@t>^AucA#B*eXn z-q%wUDUu&O`^b4G0$qeZG{DY?$+fS|75+9F&6GPr9oDi3?r;|D!^Bz8LNY8Fiz%ji zD+qZvGQuxI;Cku8U7kSX){KO>bvL5{<2*`u^VtoUaJTNZ1mSMoZKFO6Q!m_QBzXxD zWZ!rPV*n5iNsJL`6xJpBm}Ns``|yQqkjC)t;-V2F-U>ixUk^XPPWWBah#Nedt%tM8 z#bpmJW`jI#=?EBPn{x{#lMttNQF4f_&An`hDy-4+V>}9CAypxzSeP3&WN@4+Tv8z` z9Fs*0EdLNSPT)-{r0kfOR~*iEt2BDWT@io@&|dl$aaq1>IRb|tq(YQzT#B(W2!vET zCJ2wPb|W%mURPSaRpGncb_=%_Z|`j}0lvj#b3uzaFAnk`N;Tfc7#>7HDpeA2#5~)b zb^;6V1||_gUQn$x3?PfNf284-nw%gCuB~`glnYwK2}k*fWGc zs!iQw1J;YYopKyjl?^L*whw0w_*>8nDnl<5;LAV;1b^!>Er-YSSvIL~*6L&9zc$K+ z_(!G8!azBZ1?QS}$gtT6Pue;~~DZo&*h9z?Tz1BisZ722Kgo_c(oS5KHNY^$dwvxsPyo{n9F zy(R!XM=z*iv+a>1M;M0Z3qch~F*eS4KV(!w50d>ObSx8vfjDdRwoEzWI|B3WMO2r& zSrZS*6ff?@Y<7|I5f9B;xrnG>j(xdugmRZscJqnv7Go!k$7HmrTy-bRWW()Y^!ak9 z7s*C43rXtsFqY4mnKJ1T1Og1DTh>4t{((ZD(?zp z+~YywWJQiHl8w}0hkfWOr6Pw~zElmMAcvwf?yg7##SbDVl{=2aht3>ba6Hzwt7z}| zA`#q$Is&UYY;uXBcn(&VYcvulwwAupauki$6qINd zPjgs(=u7S=(U(Y_%yf>{B{_;_Ri#dpbBhYQSw9GzRHEc)nv-6ZX?c!;PX(DQ6SC`D zSjaL7@Ul$gO}dw2V^xk$i5+KO)7D7P#owYb;Aqf5J)49?~q20ch%pQ zGe`XZx6w8Zv}YApq-G-v%y~!)Ghnly0k}gi5#VP4LaGbLqL|pWc=9&EqzPteTq`t_V?$_4~s|*eymdS7sVp%?K=0mdMe2_=Ikq?Ox zUh!(X39l@Zd+_p{2Er?p@Fcu~^EKfWoIHjR{U*fkDKdM@Fp}u1lBc|&!=@loh(hu{Dw_04dB>53D?jLpXE~&_Smoe2AD+N3sHdVT2 zN|!5Lv!zRC1U|*C(j~It!}gZ0{iW+VuaObnm>*@@g%@SSq@T6t=G#0mpQGwqyiLzb z+Ij7EE$oTj!(->kq>{k{Mk;GMbf333!9R-{h|JTYaJf7KyqMo}Ya20PVg66okdlM0 zF5zCEkjm-0t^x9ZB|IIk-5)X5De0KnkY1-^2`bEa9Ei|SM9N1VA!eOYaiFT}Bh(Xp zS)ZaX^I_pWsIVg4XNZ?m==-xXaFuO)DhI6C2M*cLg}XPIDjM;JviwK zvt8=fu1rl~(^on*7pQ~=9!mAv{YnE-kCCsK2317^FY++mZJ)EE;JeY6_WqtISoY^^<+HeaELqP^oo)fkQ3R`DtFg zU_x;jmjS2$u0E2+sP;mzorI(jzvB6b(oAO5J zAOXycGs6&A5k}Z;ac3S@1p-SY^Rp47yXART&Qp%y8{&03EZL9P%?ySLYPf_pi_om@ z+sQ}msa5TpCc?3&w2{`J3^c9ATmpt{Zo#~gQCf|jE7 zgH+QLfDQ)0qCF9ClcHrD8ltrYa+2@EvPUg@L9W z2X)ZYWb@N*0Mt+)jnUe5=wLL}J+hI>fMNZIrU`3Ec$6{Z4tUL5eq;oQ{p*qZ?a2|m zvOR?gm3hm~jF7#7wPP7-rEIjTDIizNr_j`e7OWAj*0>2z3nuBU@2T9Rjm=~5`8pD! zHqGY34(wk-mlfr2X)@X54t)vzX6NXio^0g5_Sm}47=a_Cm&L*yqX)6TcFYcHG(MP! z>aYy@&E%(@xcgCF$e_F&oihtltbI-k#t3rcbX}z1#TE|L?nK2z4R)fEN)!tbhNRcYW{_Yn=-jy|f8W1ixw1iy#3M|3Y`p4q#PHsgn9Tfv-S&!+xzFygE0^Xz zvx|Gch+E0+>o11sVhcIVq%ZWB5lmcv5!Z`p;*4;s4ZSEQPI3=xUoY;76X~(I-cBG6s|7x;w>OAu6mh-X zLR_+K)nuovg^?CmJxq`P5t>FzONMvEBhx`qww>+}@&X`RnDKAyy>nA(F(GPvAG zM3J-WMZWEtOL+-TE~cT*U!DKV`Oj|qpx%(Wz# z0RdHMQ1?WWcFh2UPHqp#oVb{kHa5GdDA>|@1ecLC ziN)$M zqmp357+^2G6d|sI3t=N=^&emiv5VCwJ?uX;mGWx0V*jHi=8q;7ExVa8`YcpN&Ee<; z!h^h@>mYgmVuObci&`a!2s8GBXbT{9=f>JmB%hOu`JxOlDO0#vq086-X<;HnQ`^P1 ztM%dmSb-XPT|RJLhDBC6#gLqS7w+o5^!ftqN~QGFmk$4fC46XOe&#bZEs3xZTnG_2 z$GWP!6S}dd(!?(^M)rF&?Dn5I|8f2^mB4f7Qw#Y7*F1krn<%b?&e+$_G$E1+#=F;u zHsOT06&7Y(N`sVTdu5oJ=)ez{$8)R}CWEt+pnDRgN@PUhYEB9y>s=8@F0ZuwUbZ+L?EEMYrrWp zfEjRM$fk}n#=6f%bAxux!m7Q5_O4&1GsXoPwfPWaipbq|wXN<_DTk-jlwgX2A*K&b z-fiNw%j3vW(H9!}ebU&a9J?juCk>qqFIu+aga(=))-ByM5O3%D)UV=V+x_Gs`a|{l z^0CE0fz%F08CRJ4JTl=~K&Btq)kfREW?I3AiQ(~s%a@(z=?S3^PK$xWUR#Ah-IRC# z%glRVvB-O%%$vEokT-lw7&2((B(nF>m#>wCL#4$pv$UivEwR#Q(NUTqy#GTsf~$d8 zw;h15W0y+ra8}FM%o5Qbrkiec_8S8_h$crZC6H0kf75Wf!FMM2M~lwXs9|n1I4lh$ zgejra%-s!6JCdQ+kLkV^hInbkP-`38GX|dB(Tsv`w#zqF$d?4FQ(=~izQ&#y6tiw< zSlIFr-JB)Ue!-0u?98W~8AO;*;V(D6lW29#ma+KKE67ba|v zYBu{cB5$ccAo-eTL~55Puf~*J+DvroJ2mD`C<$lrA$o*BW1B zMM)t&{JnGs;9)fJeF0ebDzc2oveURg9x83jlr^Ym{L47j+P;(&!agX%YptzIXKOTH z{I8CuwJb1L0Hn;N2r$!g(yr&$sx&j37n-+COI{;VOn=uYa&XaFHK9*l6_QM;N+}57Q`jHcseGLSMh3 z(fGwQt_wZb3ac}eVG3aN@SmpRk&V(SmVq=s^UPHKK-}87f!5Nyd;MpI=$H66kiU(C z0XC8S-ixvh3zT*mtXXV2_d)0_-4r>WBj*}9*HqN!*t=1dzpgwde8aBH5i9|6axkZj z06ZC^Xlq6oqt?HMB|A*7v0r^HE@VBa+>+<~bGR;80-GZQ?beLoN-V|i=F4ZsrD9oN znBXq4V#0dDtIk3w0WC-Xw^Y;CPsYPB+inI|SJ75aif^=8zgY{&k?N6fb}R<}RsiKl z=WR%jlnKk!*~>2Y_|lxl_;r)r(qa2TY@ePSr-E;*)df+8?`jn6j-jxxpW zj|wxQHZUflCtxJ_32TVm)}W!|8{bKi{*&>&VBUGeD^>m{Yg+wT+F})_#SDl1%vad4 z(%G#hA_Tgi4r`kb!*r}=x^P*)F|vOz zMw=$6OFUnrEX8Z^1%YC0h!=Kec2jpe}v{^SRzS|ja5!MS9< z`L{l^!J}3#YRY&~*;a-e%6I_M@dSoHgf|qisEUwTLqJFuJvNw(oou|-CKnPcU>Do8 zP;3SY@(#@q;PjG*$I|5oO1P#W>XJo!k2GLuJ63S zxW4iNqX~Ve$xgWB^-A7EXBS@`JH+_v?alJl+D^V&yDeYT&JeWIAl4r7Xv4TCj+r9s zFlT76xI8t;3+9l?hU^;2(ZtLLCO(=D8Y3~aLbjzsTTiRWeKfiOMum| z5;iYW!sbp1o0ltL%t{z5OE7x}7hp-R(WwoamMLLVr-V(*m4JFV|JRfyn7-BpB}k1~ zC2U-#gpHjNHZE7fS}S2~S%Tgbx^OJXSe{B)zf1{Jof4*&D*@dt{!f-A_(95OH4_pV zt%Ho#hGtOIp7NjdB9rMs${S(|yLbVL@VF>HI}#LBm>0mEyy4VCQe{5%Ak%3INOoxf zGGTeE0HJ>j(3H(_B&(6Oh`L)iqxWX}b;2nW|i z9Cx$YGYH__beWX|cLOB=n;zuQ1-R^G6pz~KAcD7*$~X?p+tci#AoJtxb$Qetck5Ko zuk^)(GP)OO*^FEBS{B9pu!?NUBYX+L`D@^M9E)s@Mk~yJe(zDfbxsknDFeHfK(T;B zBLH2kOwu2=%3K9R4iiC5gfEUcOe&?NLTa(ZN-SYZhSnN({j3|JuKMZ}SX?aIK-Z3)%##6rv|E--8##5}`MB352hE0UZ$3qP9mEuP40ce5BI#~1TIwH^IS zn_*x#9^A)=4p_ z9zi|}yr7_FC=g6QqTm)Skq7WNVsW_uM|!VVIHCs&9L3-${!um{h9jvwcpL#*;3x)1 ziU&vRc>|7OGBF%U9MA2S4vxTraHKJy&a|a?MI6N*M|li-a`JS2uM-mnPhrEbyS;hb zAQBr|^I0q@O6=gs+)x+*aG~f)PK#G%@QrSab;1A$xc-3 z8f~V}J~c%xTR+?yj~efnTpcP&bLosPM3O_sS42_%7x&3{l-xSByZeH(4Oy@34S<^aWy@sr?vpjo{QsY+0#!NJ`6i6 z821qsDRR3aVkk;r5?vA56F0EHSFji1XYdFydEAz-v4||g*jyVVV3iIM#kYZab5@fi z#GfFjA;GI*0dBy4lZp#kLnFvdJXMR8k58;#vW?GgG?O(a6ZV_J8b=(4&`e8&?p#p$ z`N(BD#@BTV20Yhd31y$arWAylB7i>QEJsL!0D>{+-nIm-;nEh~y@Yc5O&XRDyPJWw z8>dJWfy`gJZtNy)Xyit8IF$)Vcm?{n#1*D!fl4>w_|iJbw+hjNF5d&3+Y^D-%E z*UEdH-Q~jc6<*8%6UWWKP(vr5KZ_m3B^&f5oCHf)P_+>TZHVZ3GXTrHQ{%MX z;dmL-X?z?iC46SlG2*kkZOGcoaXr5Mm}KK~U0c`p#`0rFkor&xLF4%d1Dg$^RBu!C z>azN6v>?qJN3y=#m|-~4o$e1#ZWRs&XWx-*C^%7w9PrNDq+Fh#`KGCvDE}7u8;9a7 zU!SGV&1dBE=t};8Pkt;%370HtFC&Xk18xp6ieErd~;!j_pm|(x^gxIMQxH4+Lsqe#(+^Ue7(ZGnq0pFP~BOmzX?>%jS z#gUhh_JPp+;g^y2Oc;R2jy-m0>Yd!@Eb#xmG`y(5nwMVz_A4(RX=`6b+7~JfpMB?j z+4!Nk`>%^wmfZLuhl`~Oew*MH9!_ZpuH#DOaufF*n!?l9XldO^T2~RO?+uNAHI$CA zsKiKP=aM%;X4Wj`Kdv1Kvn%y$%mAwh#1?{Ri%Nq90zMNjdl;5>2|tY}bH5L(D1>rT z0!ld~?>ZBth$I_5R45mM@fr!-Oept(jjRH^h0vN^0yH|g9WuyHkXWOhm$8bVbB5Ol z<`sluDHN}f*sE;$5KXrw=W0Sxkiu(3_F6)*(t_94n(GN&BQuM5t4oPEQ7sxee&Nqt z>}$f3Gl)wKgImC*Hl@^_KXWy4sU_9rYM3z9A6uTdRCT?W!k@Xs>8irecU-C~_P}td znr0mrOOW}}fn$1wI|+t)WtKO|PrbPAikR2A`?c8UJPmGH8^Ooj+Q+lWhjL>-?&G$$ z4DN8(AkDw@T(rP@9vH^`D67VogO6@p{OEg5xyc7x`?AT7lwq8TBI+O_PMJm$Cw>6-n-fFbo{QMfN!F4@tm$O3 z`7K#`H#>amCb$}c8TATg!_J`?uR5ZcS1@_9XTJpW2eF$SF z4#oFo6Ng&guX6!js1kYOV{}Z~wVt-Ib;2cbhQu3}h@Tj5PY@HG8S?C9d&N1!{CVkG zs>RF#|Mk~QGrt=D6I-3+U~!Kt#z0>zds<1xxB6M%f3WWROiMxWgZlaoz{?dIe)3 z-RP8u*6X@DAb>cdbWmn8K(I`JKz9q4S(!*vbw`(Sa)nS%QX7V-AMqXchJ zFghr*{XlS_`7B{jbbQ(ih0TSzjJ})8D7d+d(woa@xw(v%o6Bgqxr~;Z%V@c|w905l zld=@^XD(Y|%r!w6ch)`4*KRLZS&u3-KkCqYZQp4Ehm?7rKPyLOCFvh~b&02Lod$CS zF(x>yAVL_j7-51lCE*DfOyo4S(5=ZIdSq&0PZS+$zte_ZHE8~w_nDpVYS;u}8few9 zLBcf3s$n|`(-5nMZ6eGJ%2bM7Lzvl@sf6_trjb=myPYr%t7_OZVH#7_uu;M^psHah zVH!=2&wLP4mIC-ANhE8Y-^xR%1#`Z z7_(X9%1ncdTlu-(`RRK+o4X;3p3L9F+PkB(_U@>zy;@&KIUd(Hel6_EzT_Yrug^ir z-)qU|I?3lQmYn-VH#+vVdQ8+luXRnTQhOZMA)9+B+i}AaoBFOl<>tf>?CfN^vzn=v zC%@*`I>T&YUvh`#wd02Of1weG3n{)3_Vp{FFBeIGgBbJdN-+-Kk*G?hK@LH z*l7*+tufUH<6vClg0_-E<-rS7tq5Kq#DfK|K z{PsdHtf~-Xcpx8e7d{wZ=9iy6(+`krncg0%}thEkH?79tP>=5x$tOl8uUYCm2GbOrE(^87n=|1 z?wn8JJ{@T|#+l!VOI{SI27L9s|h>tt*ub!IHBL z6=4S#%di`ZFcz*d@J&VF{k+jpq<*)~I$78`ik#stqrL5go3lh6KSu1R%-82ZI1-b8 zJR2}EmRI!0;-wfYwYAQRDcEtTm|zOy$(pM5GJGgQ+9cWoP-C;w8`*qV!N~uaXBi0_Qdr^#?J?ivOItMh5 z;z-Db`b3d1>sN;=6t4D!tr%n{9e4>uxc17*niIiEm?MDM$FiaTPVZ+7LN`Lt{vb-O zaa<614$5Y=89yUi@f_M6h;|6%K*VhpU&B+yDfV3QK&&e7Dw;$)tVzicG#+$Jk&ho) zn2Vx3Ir?hyK{cT91MJzA2Kkocm3EHi;$0C#f(QRByEnHZxIXpA6uUqj$a4<-LsIRi zLBJ3dBpMZrADAAU1vZ}RkNe3qkMd`t)?CIodVLlFuJiO%N5FUaS-@-0#J#aQj;d;g zywT#`Y;gdg>}JNhb^lrwxy!Y9-e<1Fz)O$nh13L8;*!w~N<_OHs5Vh~aeDhB*?QZ9Lzg`W})XHN+ zA^RcQjSI_JAC>KEZC97tXi~16oeSn{44wg+3M~pi3=ILH$3xs~cigOxo3psx-Eq5p z++K^jt~>5J%0IZMY{3-S9`24l?32FM;_mE@yVJ+fiKM%$JMJzYM<)_@q&x12j|2b2 z-P0X+kB__8;_gEzWIY<%PuCa%?xzz-N*{GaGxja|l#hO2Pc%Jd(Wia%BR$cNgy=_o zG*%hAGN+#{^%Fk&Y)|yr5dA41jm^cb)SnB{=R|Fww5U=rEI1jr@tL0vS3jB z-j;Y+EBXs;cl@(}loPR1*e$l_A=Mx~Js-Z$@KwTd!T)6VGENNciSRwcS8$9z3qKvc z&>QnJrtNz_U%@Q}|2;nV&HnQy|GCS<@TR(|a)uw?yO<3;j+EgkF1zh9f zUX5b8Z1gQvpDSwIHll@*7)2vf?3w3y@Fg>f#iNuUT9h2}Ue{o7 zEY?uSNE(?Gcq6-p$|bslh2JjGq0K#)++k}iy=Q^U|4 zI-xrGOLW#BScxn8Ls?lXuvLc{D9u(3ILm&YZDKfcB>>}Bs708RYLKOVz+cKpK)3$W z7kjzrh|L5VnYHpk#8SQ~3?Wn<#o`4-_I5-VLs?TWNzoAu7xrQ0a5B8v(34IN3Q>%k zfIoGFUeNI!!Nqo=J+YUDtRpyD5}&(lM@R`%>Xo4*xaL=OgsS@qv=plSfHA$>hI#ji z<$~BJ88u*H2+p$I1h;ksLTS3qh}f>v5hSyY;GQbUz7@A)G!rH~hW^Ro=G1by;T*){ z=JfZ9n?A3L{7-bC99d?Zl(@L(dmJXH2g|r2h~y?MPXj`DA$Gk%OyZs(Q5FqGo60d# zeBHw94Kga%1=Xle1IR%e3f){#7Bwbv*{E zIM;bKCxhVwL_u(Xeq`!EkGZcEUzcR+dj9kuWuSU;v;0_9yBMpCQHi_gJsX9cF)B)_ z4ov(QMdoGL>@V?%6sa7e=ox8@rXaRwj21=E7wCdl1}HKjKUh?dWXz$oVt{fBX1M}W z-*KTpI?f8TP(MJs3apM!#B`kk!|1feX}qLA&K&&*D6ng2s%4UVmw1#(0~LihZRMfa z-9o0l4b9NP3x+17%m!6ITmn`N%W+g$^o?6(e6hy}tZ;|uWnMmN!cik?+WHuoR)^_M zNZ<@%8;$D9LV!3!RygQk;0)7(GnC@ZuqUKYa!>DRYMD`mGgL-2%4ZbnHN&w-g+*uW z(93aDeNHO;?A-^&o`ISFKs@eM2~_DVs6qNp_flIvS&% zuK#X7XZ{-{_j5%n)&I{Zd82iti;UYHKgKzuEC@rfiHeWQ<>JF+Ar)V%^qKdLLT+ll z8@qh_yL|U_`TS!(h0Tn+y5dfk!dT1nRJZs3Zts)b-cNLU&)}8d!54%uNB5NKjSu%D zN`pxBJ?0vZxuM7Iy_0i`y2;z$#>tkhCx|Tnm^TGgK1#&yyVj1hCGGsr*|@vmX(t*m zcoS!2Ba>;Q|523cQ;XvmR~oSh%A6CQq%BVDBDN6 z^np&IlBZ{wmnFDFAlJN zHGqx10PQtA>DBo9<;j#cO|ToahuKJ@j4g_7HbCNBgvp0|(~10nKa6x7cObe#i<+3t zGQ?R350q8|FSkH!QC9=!Es&Q@tAV>LaI!n_G7IEM)GDOj3PmBmJ8*{uVzIvpIcI?* z-GSRJkY`}4klQQ}3)|Jetrp1pvDLs?3-pY3+4e0KXnTVWLNW`qO-d)QjYiglglcSd zvF)Z$+%Cmo^454oOFQ9ADo1j`R|glG8Nr1POmJbDHMr1X4X$PxJ6y)1o*H7|JA;cS z=7I|a)8HB}V|mjsgiV&Qykru>)|auEXbE96W$eZ>mMg*`)|IjCGBzt?vHTU_wwAHm z%GkLwc1Ibzvy9zU#?F_qmzS}-%h)|-?3HEg-ZJ(TW$eB(c7GXrO&NQjjJ>XmePtQ@ zs&J`NkBZl`G#g^ksbyI6!wkScHj*{k>r<2!9S<_G0Ab6Xae$IAY9XA?qUYxbh*1yb z{vZLe;Xr_Nk#P{f+a7)mxkWl|GJnn=Ze0o=)*tRZAnaM_mRrAoi2}68w6Vvq^FlTe z6hfxN?9@(BsrA7HTyRaWazV=4qx?y>F-(Q^(o|{{9;3o~E)*>iYAVzIYdOHhsJ`?{ zsH&U5csLrggXYhmNmk;^B9p)IV6ahsF=hw*jI#gFn(+q#e5 z@b;ypYfojHPtmL)!kil}!lt>LQMh5H-3ZaysRtj-wm85yIpUogEg;&bT&r+zbOy&m za)O%?+{ROGyolc9qa88imMOO_0-beaB2YqkkV2uPomE=rHYqeDG3ZPXTPsN{d8Q;= zD@ocuKlf7<)X9&xc9q}8p8^R~=STFKoi)qq-1aq_{wdzNn{k_now*^3qJwuK5cF)GB?jhl|Bd$udO#G%ODTMpuaWNV_3MR}y09EdWs==XX%>rB6r4fJobj z0U>j;b`g0i;M_R2ivmaXMPe2tbCP8YV$Bs}-wZLrG|gVR(apRkn?9Azbd+*uDoVNR z0%e@!A^?4KAJNmD^wZV!V1V+u)0PkOkWwQb5;K@1v&*^flQSO}nxfF~Zf?U7SSoSqiEDW9J>fI=8wGXG7B-a5w;>@b3Yo%g-qe z#9@d#V~4ZB05}!^TLmDKjSC5~lQW3=-{B0F(~6!5fM|{Q947(f@f+hxv(dv@D*&z! zfGB5pK$?f(U`U)JcgqfEaKx75#sD}|0B!0E(J$Hw|5HJ$~ei-Vp%j3c#HJt|33JN^{{&&#!vG`2e`90K6PP z9x8_d@gOTtV5|#(djjC@0`N)zA!3lfb<^3p!`XNMd_@4a6AimINJ~a zuL*$r3%~;at|LDlDeMA#WdOXc0DKjIJW^qRht1k{W}>CdNAe|!=9mmTOs8LhvAMBa zaFPdTNIP%_eevQ+f|blUXrkxxNy1Y=8Q4HC#1KZn?nJtZM?^rDUle`$J<%8iPbX8ILN>!5f6 zHtiz|w(#SPGiU%}d7H@shIVkPN@}&O1;{7Y6)+w~?_mFd!x~zeFQLIHjjlv@s?y5R znuw!^Lq_rc@vM#89IRjoi0~fXQ^m9q)bz(cciELcl3@nO^+RV59u%FOVY$jSaxFqj z@{F5)H+0htJZ|x)+~$We)~)?0x%Ingt(!Bff26TM85h~;>Xx!uNztY}(x6%B)7a{^ zKWQ5H$m1E6>np%FKE$)N20mlp#BJ7MxZkX|_U}x_sYw+5h|Zeu)$yIY;lDFGp3qu! z$wYG5#<1f}QFTSy2L;Y_K;)IO@iqzd8rV(6wxG4Vdd?94akS>qy8^7%nL`bM}KvO+-kGOZw$#^x{&( zc#Q*>+N7n7KXY-yXDz|T2rg-bb9Drl>Mt!~{>(LuOBZ>0@c@@9%-vjEx|4XL%eN8adG(PPc-9+Q3u?d$9AvBB;h8}9D0vF;w5=b?Hi4c2dVytF4!&=?_mH7U` zh$Q`9&ak2G{u=4-uQlEMHQC)?8@l^zQ+I!5-Tk$#yT5jJ_t)j!{dHw`f9>n;uLIrv z^{RhL{bjTflE~@@9b_k`a|Nc+EA_(z=XxBEpFR4S*Ut|9Y}HR&KN$U*kJjr4GnBy; zk$PuiQTp_bLG#(9b^oT&bVS^|Mny+w_y^XOn(R&cVh~4}g_px_UZ?HSZvGaXHGw}`f>U}3!5j2^kcNrXs?lWlzy~T<)^lM zF%y{S3!5ar)nT#Kn^W2&`HfK9cGR+c8Fp2y!)%N~B#K7GCW(D|Qn-=)h(*|mjfua0 z@x@o3(vo%kgDdSn*rIJdjE!eY(Y)dBzI*ShR!dRKuRkn#lFF!GQW;#PI!x6m3Nb7t zMz_#1vT*}k-;qx$cbi>PkA~rE=9_))GnbS*)+qALT-Aj6xdpE1dY^XclG>sxTGx}7 z8;rLY5+x|6AE*_Tqn1>NdQo{G*ywQ8G1P7RlIkX#5vm()#ub@FMUQ%pPB&nk%o;eP ztjVH^Qi5@QY(ZhYx%FqFiXpv`J*YjfE;(?Z$N3vdE2)CnEfTEjLq0gs9yvmR{^<`r z{UP{=X}`H8KV8Hz6Xmpy?K0)-W{%$vi!<})p299zl0yKf7JoNqbXdbfh9DMRl19Mz z&9b)5J}C+>Ohwwo=L+`We0IS{@|mZH`Rs(r_=hL7?LodEtFTx=|D&w)H zG*o&77lZZ)4&!oZ$2Lfs`ZEI%zOtXL-RN5eLY6KM{vYsgf z3P|qeR98ZI^s%%?4q7Ma5P;Q0X@aRh?r>6|uU)K{*x8TzHhOFC=oL4q2ep+Nb=~Tr zqM)$t$OGDgIH8$Mn#ma&Z9`j5@3Nu^L6>TwOt~)Gj>wD6GTUz#-$sVRbd`SUQqNdjy(SEziMD}_OKl`H9FDU@Eah6@`CqG<$K<4tK(2i$%T879KuRX<}(zE+N5 z=(dS@Wmrer;^VBmwfx^~Mm-QTaE;OTw}9?FnxU42`2)REPklJX(R(tS1Th}b%5Lf! zoS{+=0Wh&O0(k0DHD~Eik0XH497SxTp5qBeH`sbRrb9ur@MB}wx?EFLPgSwJ*x7$% zJ|#kmuMfRWTWq96Qf1Wrdw*Gxn0i-QpHp{QVcz$Tr9}v0?3A6T_`brRA)ylao&i+AQ~RrDbA- zv_-v1JJpre=hU56wn-~(R!c<%d3{N3CX1P_EPRHYEHtXTc~_;9-N+&Ot^qrskqVJv zC}{*B-7o^E(pW=OV;ah+hff0`nmG(sm|%IqmZoM%Bh^5W1~MT^Y=<%thHoB5iPa}* zX7!tf8BdDR5D=}ioR|feuyEk1vTSKy_>x;>t&&^K0f}Igqzs86vrHcwQAAjsHN`An zg~Iz-eVf59F-7aa2FlX7EVT$krnqSmXG%5zZ0iYQ5wHrv8ljw;`AR!bYQ#)A~}SH^rpk66Fj-H&qk zDZic(s2Ssnbg*oCd8d24*gD@}?;!#8!30#y2ew6X> za*g+X!c{<6cnF_pt-hWYVhqY!I`BY}B!Amc**~E7Wnn?w4hIA_K_Kpu`_~qw-wwQ^ zTuKz67(WdVaLnym(JYuFZL_slJ61ldE(nIzrp$ze=aP(v|0sPf3*!Hk&4;T+YEY*c zk>NsqbscRh{aR#e3%YsM`16#@{+P6X@()B>+0yYC=0biC8m-9G!C0zJbII+~4C>^1 zmc-+BYpAtJ(q^R!_sJ1-n2SnrtMHr-lFk^HIbh1=Yg#xt3l)tAhzV zh^{ikd{=7*!3K+p+lS^^-h2eAs#()=X_jdql_@#L)F=t)4WlH2=TJ>-B&}#-KJ_N% z#bhmOVqWo>m}fCs*2Fv(2ZI@Ys^d+}YXWG(P&-4g<_)eMGyK8CyjpznHI3I{vf6|~ z*258q%i!3A0NsLzjw36I#i{dAOe`i0zMAgiV{p(KW;)`}#m2A4W;u_pVVBY3CO&2; znd0`8kOfhy*n+-A8#x+?3ed|zqneYr?=ab24wtWy3NJ++IKI#^yTa%xwO6)!bc&SQ z^MmRxRlw&YQoyc9L8>A919l!(t`rj?Th1PEvdtFqG1g~(1*?sm9u%T!?Cf3x7&o-P zo1jt&|F=YuqcDIR>oB)mBb-^6z3LWi)@0U-+li8z}PrleaRUMs-IX37g!) zBK~{D7t(LTtuM!+eJ*K_=-LxUz2JJJ@hf#6Z84e2-C%z>cJ#=*%V`BAnM zX#5J0)fGhZ+@cm>oe+*tpbW(;WxcI^9yd?*=;2@ovpJp!c9bc zGU{8D#8S0VNn#(e(R}PS)x?T(b$c_M=Iw|=k+?#UxI&S*tjIwX$?n=0X}d01D9&T4 z2MWNNTDm;!8?iD%n3iZOF}1K_>#6raLi!f{olykM?C&+)b*czIfpA4@>yWLrOf>lH zy&L=>PIEB1*xHM(l&0{I?KZIxNuX`r9Y@D1ZAgc@SO-$4u_gDNMvOqtrxMHqEwfD!Y84_rj& zSp>@U`4NGW83R)EQXKf?7}EEn)tv#bn2%EZGz<_ML{h!CA;45)(o=8HV%>1zFdOp2 z47(x!CBv+O8wQ$)Fk1|@Lu1Q7l3LW1u@zfw<1pl{eK8oY+S=$*N*mifb0W>hyl6<3 zt!5MkDOrX=iYp9KTsBCVxqf}Ic@YLFv=dCRdVp2G1?io!-e8^Y{DvEDL$rA8q|X~W zVDm0RsuBg*SZK2U6?!yeb zhAftesoi{(LIxUaZ6d}OwtTot<6mg8Ox96Z@T7Wd;(cMB1kgOwg{wRT8zSMR8?4be zeEYCi1v0;thNLIdF7~&#TIFnA0dsyNnN7H5iucPe?S%11WCa4Xj-xQJn6+dLVFa&s zQbXDopn-|Ae%tgS$QaS%q@!RCOSh^YsbmLR9YO0USoJ1D2#-TnpL3`o3C^G-eSts`y0ON0(qIqe-6`BKge%wuTI%+GJL!sj zzT5k3xA$DP_fy^8C%V0lc6(2Edrx(H@9*}0H}0y{3*Fx5y1mbId$BfCZSUD`FP3bo zv5$0n-`DMZpxb+2xA&f|oQ`z)?&|X0+2uRj<-4xSx4X+X+vS_;@-@4BQ5J~`)5ndc zW9xV`OY$SyL7eWcHW!Af7`VUNdv90do4b5(?DD<7%lFzY-@z{5-Y(xI=s-@3Z=9ijNf-Lv26#- z4CnX+I9uUcJ8k!tpR?3t^TPS5{2g(Nlcsk}CAE|B+qT%&ateYE*?f#A>zcX_rMpm& z82%n}!;jtT*8d>;*!&VNM@=LLyZ`5dIamHW*Q3^rOx9BUPt%${34MvHmPTU9`&iex z9>wW8g6AW!HZba3nku|*UFEhEK;v+;s9a+A5FODYtsNN-tgYEEa^4dtpbAmxZ#1V-)iX(K=HN=8Rc!#iqyA^&5D5Dk2=3C8`Jh_-5 z{-|YFLu~U@U_`iU1dJ58tBf9yU|kGTW~ded!(i)1AU;3XnioYEC;7-`xM+dt0PYhC zJMcv}mv=jOKBPdLP~JhCz25|8UP?XsB9AG8!H^FIV|w2SEgl9~loi3w2XFJir~!Fs z6m55%%}7GjNg8a2dP&tbE0mGU7NzE8j{EUWJmm{9G5bz$iOOo!Q2j?yknqu55T zR57iYszKc~RPlLCO9W6E*G1mT0Ka;e9Xc7a`EJ>4;M4=kp}sFtEz|c<4lFLl?MV%M zI5_=u2EIl%J;^CucTd9T*&YRs?npbq|K3N4l#!+ zl*DMx#pcaWSLZaB=}E?4=t=Uf_T+NFG&ulcu&)3X=^yqvuR!`uy>&(6b>VER{kN&u z+VSdP+lF*a#eimdp|Wa}eZuKdwNF|X?GsVs?`0%0J1WzB?4l!yysN;WA}iFouaQqO zJ*iAS!M8}Lp}nqWIqf1;@JIzL>w)GQ1*}A+Y_aZeDpUD-7^RV$xCx;|D-2sWvzbt{ z4Lvmr3703KNMXBcW`(TKd=p!DYPRO0offkt7X^iHTbUWqe1aL!>IO5Q`-*8QW}sZt zN@jqWy9_fhSzWfXb=}MWkzxi2?PUi1nq`A(*?g^JL>aX*^^n8a#OAc-9v|Mm&#v2I1Wa4ptHOiRhltlQiz95NA% zDjnA)KMAVs{DR%SHu@R&D##HK#84=o6xM1?NUsx2&L??Z9@!xY?KE4kSS%FJs#8gm z)}%BEz81YB6)p)91Ar274sbOJxf8YErk?I^BiTs3H!&|9{86}D-YP_8h5GtfbXo+d zgv-_1>{FGsHaj)y7}c704YWxV*_4~*ap-k*-Q;Ur8Ehd{($Es6f zStSz-kFd>NyoHz36n1jm469CC!-QjiVOzQzCv#yBK@sm6(`jZgSfMq|w2(hwzy z9$GsPN#><5bHTn+I+GtkG&I6c`Rv!NY=#e(xTV*boHz!|QI44yCND{xtq%&nuuBXK z$;SNqYzNRimmq3D=`aQo(((9#-i&96=+l*MAYbBLw*wKo71A+$j`LHb(<=c=r-uM6 zok%r*l*gfxrE8Loo-S)l6}yvks#qiuZ$r~o2jpBsZRrKPuo9fPP>H9$mr7_^yrfF# zbn%iZq4Q_Wp>v@cq9sBe|2^_jkjEd$!-BCPPbVZ2b@l+V#ic*1fQ(iE!Gy*NZhh!R z@qql1BQwNuWYa*9#&$FoMUCAEc>S1{3M;kq2jbFmC7KZmUD7ZX0}DXf7_`(%`e!5Y z7CR-?TNlJ>x*$EAa8~$Wbodwe9iiWaf>n(l2T67P-B(YLwwkaH`u?T!F&Rh}rrXuk9 zIBOSyM~c92#aUJaO7+IN_=PyzQUvnolMnoMoXr-2_Y{FI#@W^)P%jqPiI!&cRyXUm zxXiVk-4r*PCwX{EHZ=SjF1kFgd#2LEMK;iLm8sinrmj3;F`5Dq zvTMnDCk!3TL~~})=8RX?;}}V^g+&bVz>?|bOC4saosx8j1Zb8+4)6?!BGqN}({4WN z*7GovP^K!ylR+1XuX&Cmp0&mH*fAb4gV{psQwM;iM`MF!3b9?%ocij831Hq1hkW3`W+YTkgL(|iQO((~pA?L3Iu zZNoLP7a@e==matw;4F-$lM?_^&!iJY&bz1~0HR$tb!Z~=Ryx#*2sDv<1V$4fmYyh5 zkbxN4%=#~nA%zmB!o=&qFr_}KyZX&)#`aR@ksQ7@s1s5yRb7Zz&9nru=$az2>yyqV zRQSSrQdW08q1~NIsFfw{F6-$5ptNcLw3%0iD5}p5S}k=lz$v0EPsF#eBF1je%lq`k zo|fKb;}Azh`E{I_L^{fj{Mx$TG>FpO{xj!4&VRTYBS=;xfA$?UzHk-mef}(_xAW&d zIF&!oAJ;;VV%PJf4^8F2zb?O@PoG8fx7M=mQJR(tErDCLLdz-8r^fO#Uzy6^g;NZw z-2V%1l$KgBsg_K7%OROLmFyc6t0vQxm5|JwO7=&it0t2=en@6cCHu*_Rg*~#MX$;_!_e=@XcGCTb8m^7!7{mi=j*=Ic_;b+Y)Ob%5rxxQ1HIhE`$M^{ZY z(@ADdB|F_%wUVxr%$!R0(cx8-&32NRQ^~%$`Y4&}Br~Uy{rT#Z+|@~DP9^*F>XqEx zNoGzZ`|H&!xwn(doJ#h{>ZR@PBr~UyJ$tdz0BEhrA5o?JRBYH(Y_2#J1^VT+W#6z# zGq(m1myB1Oic0q4;Ht@br=pVm?D|!c^-e`4dua7!y;ISWHCHXIcPc8`SH{c9q3yKh zmr%kHPKgp8EG;I!IhE|UFP01d`sQd1^ZE3(hZX&if14P3T{FfVaDRFgU-uIUfqn?`*`Xy$ATr z=DZo4@86V<1?M|9t>GpggIDct-J{+76Y|BT2^PSuB(ct`* zZFws=e-9Zp&JV81ll;D)_f&c!pR^V8_ofJZcL-dUPg&r7>$(EhTi~Bhb_KF?W5NC8 z+O9k?4ocwHQC+GOG-H7uql^zs*g8F&%kwu1kIZ=%UM4ty4mLJ8|7ygLFW8ThkkDsv z{zlP(^8AEq;lm%_W_i3o=>3mE*!YX`C-~i%|FXIL?+X();5W6_rGWY^xu&E*T*kXdt0ki;=3mEdVZFC&hxjYC$B4uynb7Q@LNEr zcdqJzvIR_eeQO<<_%=|CEB_7!x>v)H~+{~ewM#)^XCWL{;mP{8!a1f*D&A&ia7Vol#R;+ z`LztVdcm9`Sj(?deFgQ0BiO8a0KiB1du3VQF5p)c!0+cJpZpAfLc#UR1D`dXS6PGn z@%${%5B$PZ{_Dno+nD~D$($vau%(YO$)fy|8tV1@{oASXdkNB1`c#yE+6Vu?lik6; z>4VP#_^V?9q4NA|Kgs3%3G8uzFF8LnV`%>5j24I+qwudals~w!6LR*A2MKxChEB*` z7ILa9m0-R!-GPaAE9BF*P=}l?93j+R6bz#=#?PoQ>ihb3; zk1oP7DB<}_N!ZIXDB)jSO2S^QK?y5t=gL*><>{2L!g#Knu$QY-!Vh*B-IWveZn2c` zH#@BE$_aaSOG;Q_c2`c=yI)em3cI^-J6*gKGw@FSO! zuy-IU;lr1buy-IU;TJBYJ9-DQ5`MTN4OtmEy#rYZ|F28wM`OYKKsKimK6oi58Ykrw zno|j1x|Du2w#g?nrxKpNloES|0804N7jGjV%()i;yzgW59e1ktR1o&m`M?Mi?f2YI9bTLU^F2RkJ{}kY2<)2vr{C7+6 zcZu`=T*&=Dt^odfCHN<1;K7~(Ts+vbD}aBc1pjJ_+|P&He}4t=ua@BdH)8z!`H=hh z6~Mn%f=pe`5vkZG47d{#%-PtL6TmOYmQpEMYZ7{&@-h8SQFU1OJN> z{C-ttHSlkj;O`s01n|Es!T;Awsmx!M;1A7RLhj!w!9ULya@D%OSb~3G4Di+P{?{e= z(lFcb7nn`jhX2h9v*~Y3@OO*>{=hGK@b9hw{&yufoBaO#4B*;!{{0HzFO}f7+h47l zmQ0^X1e=}bP=1cwU*zxYaj{Wtd`HSeL1)RI@uYS(lw%8@6WK_50eT3Iu@~$AKkU3gk90TctTL+kBkX>Bw0CJxhir8pN5(4yKjs_ZfX(-CP znoHT}C+TFdX1Sq;-be1_mg`j(!Eh%EqYJVskmRz@sB-w~>2`Eos1Z;2;0^hZOQTUE zN#ie<;^c;t^|x^X%ZVv3ci8h(bIBWA%#B?ix+}Mbqtm=Ey#JKSa0nwLPqQ^n@b)}f%9ofNC4Vq z1tj8j9HtYsN0Fyfovh<{Z`vLve}z-Sc~HkmEEmeM z+yCc7@%MqOhtl`fcHtY(zwLCNa zO$>sXC8BHFTh+yD^ZQBIp2l(Z8#s32crO=~4)Hy`d!c;;-$&08aXpSlxNF$H5eIiI zUabhFIEdqUIj+HRMw#t%Wd8rL_cl;=UDciE{dn)yt9l>xs`N@#s?x`~SF&9)vMoTC zjWD3AU|T{4*~ZPH(h~CQB%lwaNqq3H5y^T+=UW%(W{hzTbMUIk`i6@zbi%k+YU!Yz zl!%_jl|&d&xR3eTY-$2)An zJ`yB1xQj)Y!2dY^Gvj}H{-?=upf(pqO|g7smWA0;HnZq0&i1JM$5}?&i>4#PI&PN3 zfapKpF zH_5OwYt=tF&;b{gd}YAr5*%wh28p@{bKJrsIIr|Gu@75|z_F0XdjtFqLsywZU2n!A=kOGhr+ ze$JjFs(;cNo@W0ia8ENVtM>w>xKvBJ>O=Q`{7bjmP$d1tE-o#jnsnP?gay^cz^XwD z#L&60n{u-c|Cu2K_e^FV%+t2B*-Z*hjqX$0a>_vIrY33u3ASC3P_N}V`3uCTt(!9^ z^~ZFI*X?H*wWPP)^g)r71Ry|22C=V}An|OJSDv(-j;qUF+_nv5yn67jwX?y#{MuJk zk~>{df#Ae&@^@c<;DN7x@|_QT2^I04e1M71TB7WVE8;ut#pnO)ZQuI(_iz924^sAy zqAY`mJ17O?{LhU4>G_|g|1oYfv}n1-;>0T#lB?X)+|%}=muBxiE%h|+W*6CigKClP zzaW`q9AOISScm--2u+&l3bTksc`H&X64s^U87{NaHI~zYFJwBgk`+6Y@rHz)x5b$(XDs1}l4I289G4->39+mhXnL_h(A zY_<1-IFfV*6t~$6$Pkopt6F4{W5RbEwxFxwaXw;Xqv!t@om;p) zs|%7C=A4&$8IR87+JtC;Hm^`YwAhV8oePWJyOy)LndspL7ml=I=*_tAkfd;}QHRfZ zG$4<0K}9D|390-&XSH-#d)j1VQ+8HYvzG+5Z0saOww~e+_(^fUZa3O~yc2;_CwpZB zqy#qh3<4#R)8*~#KRz00v2{CJMIW~9>_bML-C3-WhkA7t+?MQ-uOgWY&{)xM%@lnG zxq@Ve8&9Wjob>40$+Tw=Dk?Z?O93o*c01!cv|2oTUuXd`(_%9IdE>&tZFF=j!fKP3V)Al-<(ZzRteBc z^Cz(W^g_B5ZcQdJNvAFgqeUG#;{*mvYq^9htLd;R82VJQ2V^-Sj3G|_utUxb3q*7v zi-^!uA3;16%{Xg+^#xk3=XPK+EMjY=-MMs+AZtNGUb{U4E1eRn>~Y3ZEE-=a zz2TnA;0~=-=d?>$U(CVkjzjfWaM`^qWOpwL)pgkerklGgUr+4BSYK}3mrJJ6jK0ix zmcR|I90yPW;ll;O8pt7&#&N^DU80=B(*^_ON^|E3a?^kzm~ha+dIa6H4jGdQ^r(!N zsI*H|uq99z(-4r9&=3hstx#pxO~Xg<>t^5QUja5q8c`sQzSlT1?RIi7SoK?pBZQoU z@9+{Gzp*#9#+Alc8294FK7=51z?6V6UwFvWJtyWsHCuuWCBE+3InbWEcCKYR*|9Hq zWU%SIF>E2!Fw?k62_4{b#(QrtH+b;;vy_CjF!mYS;58FHSBTy;3G)he=EBD!b4Lr^ z9=jII5``nJquOp##}Q4_P}{i$%D{p<0i=#_8hA)9D%e|{ONF?iA)2S)B;8@e=Sa>; z*Li6@1Id{shJd$!$W9YO>ash1Qe70ElEK`|?(nZjy*W>fFD+=-Ne*SU+Uv2%e*h@^ zR#6qeinlSl4p?Y|^lykE8nXBhhj1;H5RskuIz<;$hH*tsFEDiwJ_%J zoARi9r`r6d;~Hr|;&G$ENXMaO;V>5T>l;^BaRLa?8RB4tB>GXqa6rx^B@3K6CQQcH zV4{;Cl5H)wt;JoZ{=`K;PzgeG41-XYZclmRg3;E%fc6LU?8l%KfIHY@7!2Yct&^8(pV@2}E=%e%hshLwn7;RP< zXwma35G_c3PYC*XY9jtIg<{euD=o2P<796E^iV)SDo-cdjVn5({U3|j1HaGGhWl7q z^YIxCqpy}lXM-`?#S6X6_W9@yUk!Ud>Lo?vwSolv;yZqa zX_epQ-zU~rykU)m8>o?kn&pM5#sfe(RO3gO2KqfF1@Awv8uh8`E+%*_z1(Y&GV%`B z1ktf%pSSWj33JNr%Yx@%-?KG_Qy5X(x;SqpANo7$%7LLqkfwPP{j@KuX)goBX`+b; zo}ojvMUQdY_Kr_6Fz7P2DTY|7=xpn8SuOGeA=2b243gZ;S1gAb+~nfPtbeRyTPe&? zCZk2y(gc!~B55B9u_$*fBu}Ac-XeGl$rWyvruPZP`G_b)a+wmu9Fjvy5RPE{GHs*Y zrMB#YM09XY4n{AwM+JD&{TB0hAum`l_Y!_^HvTO?*dvSSQx8UrDUhk{wp~NObHXus zex-isu!GT62mnT)wsG)E$wfAuNuM3yg?uZ)z7HHRaxsqUyzOzRiA*1r+RrCucgbhA zy7k?R_*LKK-N4jHVS$ll7FcgZ-D^e721E1c1KB&;B32l7HHu(`VE~yGW=+yb9F1eN z4N_dSnu1IQ^M2ma7QvTK`RfmLY+ifu)N*>^L4l%i7SVDOC;>JZ$ruyXUbPBwp)G4g zf-BxpQ&PFUlrLvv+6-D?(aq>)zw$c|B@8RFi2T5i)1f7nJIXE06X*jXW~>T$Hfj2} zdA=B=2cx4uYz*ACxujpr>nQHQr_1Xn(7`|GS-J;ucF`77@bN> z4EF~tJho9w#!6J$hsF5!oVjGT^=*F&roUc!o2~s9Q`jgTmLi zZta=W2{QrP_3TG>!GdTuD+}=53h;am@YVW;E5jZz!P@3_TkMY^XLqtqZonRQA>S^b zKGN$6(%+Rjwni@}mt&mnEi!JfjGdNoA!d47WZX!!=C0&YcLTr4P40SoyeJp=8||yM zzDk*|P(KUgB&CO+sp!jrY@57Cl?$l^;Isq1?>va<^C}%2j$YD&#As^@@`U%CsmM8fDYvLn7dS?Ie?vD#PIOC zT>!{2!7^^q=%yj^9D!~hbld@06_`Oi@4*u6b2C6i?F#+^m!cNWGdU-8z^CJRc-Mes z(LDtM(2ljDCl_tn#vRabI0@VrX_^ZTprpn$(^wZ>?a|xC!626|q_g^G0(j6*N1=J1+3oJ`Cn4@NIm<%q9_rL6~<_u7g?jO&cI3*F@l$u4)(T{iV} z1JRT3jlAl5n(BDjmFB!KhbgD(&Ya#-5W6(aqScKZs$x|YrK%n;2v}tXi5#$-80GYX z13f>$ZK9Yr&4!ubhP&|ZXHF%lyZ$Z+L~1XLZwMR-ZUhC4didEn;Js)exd`fmtDVdC zLxFc9dzfQux8Zs%B#w@_$UW6I)-IS?z>B@>21~aW(lcU0XWeACU?V3b)Ac3Oyd=uO zN=mcScbAzHwe{HCg4?>7?3DceF#1Z${zl(RxkY1x@;WrCxN3}b&h6CHkrUfC`GJXR z{Ae$QE`P+Y5JDCTU=#MX=P+aGo{~9Gl{KeO5BWB%!azZeS`95k%>aR3eiZyWk;2uS@9Kt21?3*ERM2f!e)ZSQG54oF|8?qu>D z@exWFd%ZN_x-O?A#DEex^1WgZ5QtZ%8@DDr#SmN*dX1Ih6A?_T zk3sqzw{-#B0E^H9+N)PcxV`QX5=nY_N9{8-fcTXEX52|eib23il`vcH7p+-OmYuh0 z@B4NPm-FiVqI%CwXymRZ`{`4E!77Y-3Er_^?~! z!w&cSyV6Oe62zi1QVhVBF=2y64`4mmj~Cco17LRz1H0>dfVB=@0*DlChfTCZM<-Q9 zDPZAa*=q?ME|odyl|F72h1r8P@VR_BqS00kouR=&L&HS2Zy~!XyOJn_J3c2jHrd7J zj~Ce|-ZQdu5NKQl$4K6#S2zr%ka*%WYj6;n-2(ihxn&C}IPYXP$oQd^Xa}QfxIh80w_lT9WU>7S`%CNDNVPmN(HgF#-z+D|+1C^m+ z;x9#@wdYjs~jbOGu~LjIxBKa>{Vm4K?d@r6*1jwLu5lyc%7w zgL7zL;H@0jujv{yj+mK}akOK|I3nP$fEt3b-wb-HAaaM1v=8f}&x#-&bY%w9Zu!PG zba<)S1>;Mq7&g3A=@1sq78*zuF9BW+byZuM*mf%s%ui!gCR*FRZT=dQboLT ztyFFEQpGS%uSlwPQg&A5i=Rix@7`0yfijPaqRj1Mhk zd}ygEA6_Iryl5a*JJ(6oPCxyzPO6MPlciKm=29gpB}@atG+wf{O0uxX3A^pwT&gAu zsiG7ADWz)XEUgHIqo)^keLq;8PdECC=M#=j{RGd#>4N_`eHaGI2lR3p$Y@`387Y91jER9|jV zx=&`}toPE%QNa2_6;Z%?uM!GaYjU6IF$JutbP%w<&K@mby~hI9&-M{kV$%Y!uekIc z{a9RjK35Ec1Ev3Y&3Hv@T0@8yLiK%Ynlw{Y7MsR6SDagMXsb(QEDo(QWo_%?(Croc zb6?cr&_0knqb@1q(Bpa4=rG#FY_RAzlwwJnkA7Rr#8dii{AM3MV99`-FIKSdPPEBG z)kLyTo!fcK_JU!9V=D#+28t;h^Ko=rZyq!f0lFw6^K!7J9BCh>u7)>!DPK;52`H=y zckvwTpGc)hbT$01poYAmpEcircCHO;Hmfzg0LHe*lMqw8DvJAFI!+%uy`s z1BkuRvvJW0ENP0UFBko&TDjChw^D_KZa_{gNo^8^;i+%06}`$o8~`F0T{xHqPg$L@ zpt42|x#-YVfU8!y=-fnzi*A+?les5dA2;pU#alYUyXe;3QRaW7F!br5<(7Maj|5eG zU2D(!rVIHkY|_DzWEKw&+Cj>@=y`;{WTURC&by+B^AE9+6)4$A5uO1XSxoG)*vOb@ z$Sog$s%Qc>#3XD)G=T}n!lid|>E%3HY;!HpCW<-GcxeNkDR|!slt3r=Ndush^WlB3 zN3_yvFnkDXm`k4DPP%)@bKOTDxoTlw4s+AWl@7X8;aY6|`MW?eZsSg;^vPL8mkXU( zu$;>^u!k@^0A`wM;D^EK-|~adyd)p%A<2svxNz{N-R1HWSR15ath?Z}2#bLg$Kk0c zZgaW$&}Z-Mg1a2cYA;Ufzw(obRA*Bnu9JHV3oLq{HiW}k4YCu1gN^3sF~lroROQsyyO$~*>h+`&v919K|gpd5GG znB)O^CjVcA`XN5JO%4N7S3ZS_Vz;ASNC*=nk%0;_LlCKHO=NA&{RYzT(WI`Sl*wi^ zGwNQ)OM-7b$-*}8Ku|VE-csg#;w;H6M*-U6JK^}mkz<)(;g)an4g?Kd;@xsfnOklt zbIUDdZaFES#DSO`I1ri@lUpv@mG@Sf>Zi0vq=j8&Zg~km{y3zE4G@MZU*SqC|5|+v-V-Cc)-12`UNu)So@a;A$N(XlQ!~m}x(DIXOASs=~0umM) ziIFWw#~LvzBNz)6H4qdviAd5$HYzL42&RBJ&x~LQtwu1tT~nV{Ixvn*;_Y{JQ)Jqi zOZKs32?ai9t567HVVTNo7MpSDnC?K*60J}RVc=482N;>3E5>9YWd2gtwa|mdJ$hD@ zrE`1%u)N&E_7zQPYY3IsM2d+Dc}@JjNUJN&X}TP=s70c0Y5}K-i3P6Ry_jicPB~@e zH%=3+DHg#sYQzoh3w6vWJ7Ww`xl{96gAagOzcc6Nv<|*)>)>seonusHp%A{rc(zM; zur@M;2%KKb@;gLcOVL$`BEIL)4+=v}QFcycSOA5Xv&^d~iR5t%n#Ngcu1TB0d}Tw$ z=_9*tukOo`0<)4mmE3>Mk`xgNGb(xIIZIMRB^|IFUPNNfS=fQ;_@cBM8iPIECBNp7@uv3Gdtv8#ulW^z5cQ2MV@xw~;Ketb%qUbW1Lb!ASdOtV_%hIM6bFww7; zxqe+4rZuH(K}XYm(BMV|Zs)XJNEEq272ctIN`X0;K58``P-Vt9$IFlTObC-B2BSbX1&%Tx!$**=hLA$bN;!IDW^ zzQ%?S*@bG1Af{(KluLB0C>f+o#QmtUAucOCMs7FyrZ*f3Z$GW%OnT#ywof{moFsWe zg%E2v>NQpNI`Yf!`mL|O>NkJp^?x6{0w1H?YjW#(e{|y$`RK$G_(;~XkUjE;#ZINu zE%*G>$@P$JzhaA%NGL4V8|LRVh`8%tb7XEv!m1>ovbL=xwCdkE);f7uM#_tQWCPr8Rh6wFKm{CLK;5-l zs2D0_f06Kgau8O(FJKt31gy2`UaxCA=yk0+L?8(8 zn5q!hqiPvE(C1pE%LcCW8QH08+_lS^Y<~tZ9u`Dj>#l?b34h!L3&{o4GPG3|sXo`;%ZuojltO?Y=~9*0+sXo#@O>kPn7${ zwDF_ZH`X(~Kcz5F2Z`%R--D6sY2O$HEuj@Rc~1UAyj@u5y7Y}eB*wKoll9}cwpG*s+!79E#4=uQs_eO2*u_e2Se%mbbl{N3_cFW^=oqZ{HqvqadVe(tp6- zqlhCLNbYly|9(Clb7Qu9K3rN@(&_c&zL~q+b#Q=Y)*6oMOY}0(pBgmL`q*)2t>=5? z6=k42J+GT;`l@C=V2v|>IW=Az=HAD2n$sL>5_{VmT2G-wF78OF5T_IyIpkmD_+0@$GRJg1a(=jUjT^3#6^;MBf4#L z%(Z$q(7mGk(Uv>f`fwCB&OirT_lV`)D=D{q>VZ2JdC*-JT(bO9kmmv=U|@ayN&awW zO*-nhm5JL5?14?6zF8J0I@~!>2NqXTJFdas)&j@-Ls-|;dtFWyyRoGOErL;>2a_CZ^o@uXp z8{r5$(AZj5n@bwm8CZ$L7zxgZm`g^oTRAtRrk!?8SGzhH_3XIWUvBgN-hkvztz0v86bUNH9+v0vxr>g`yoOr+wVdznQP+EH8V!{!AM*S0Z1y}R7NBk2L z2KtUj_ZUBDMCBn4`T!wTEyyjq2Y&)nT&G=VD$!8pAmi_MUx+BFvbr?QiGo{p<9Cnme=%8TqmFp*!HPBkW(!+{{#*6 z9ixWwJPlr&lL0b824T*fE~qr{)1ODPmQY31p)LrhqeA!t0ii_r*p$fW(C&2F zt+9HiI|dVs()Y~~n1KHq9l%@|@FTP!fam}LL?Fj^r1$VaHH!^o7*20?sa z^2HP_s0248k%;X^BzpT$5V28?7oG(9;}98m*ZP@yIC_R#FQ(+@=yHwh?eDS0_e|eM zhathI1BF63fO(l8G~*}5cP_jPUi#Zt+wODHQMN_fw@KBq|D>DFI7=sJl0?eor2#pI zwqFux2aSH2?&sb%zipbw3BAJ!w>(a{AWw~OozZ-dr7f&>(k(5Rn_dz$p)^cKAF+4S z-xuh2Eb8!z7KQNKU=&rzukEZ-B3Q8?FPr-$Ebte4R|>Dq00_4TU#je_<(py+=hfOxG?8*gC@>4XHd(H-C7LV_|?v{IdMIZQV&Wdd(bH zm)yFX>DE<^8v01pETuGplB3Bks!(~%QgoMeX_BDSoh6hTN!t3UGf%8flL`AcLGU$2 zK)_es%70u+0@)(ef)>-^ujX_L=7SDn8eP!DGUd8$MkSQyncfX>Pf>_rastbhpH9MV zEeL2=#AqfGlZY0`*+Yl$GoQfxT+_0yL1xhua6mKV4S|HB*92&sjC9UtqzXO*bkApOH#7e1ib;*n_|5r@Yj`bhLV3n#{CYl1?V_AeB*;=u z@)2{@7wH(!X>`CsezOi5he1;v4&=sL{CeIZ;dzTh!CSiUg)3sXD$;lhIpkg&@o`OS zF0gr+LdwEq)J3Q@!0F2qulHy1jIUq_s zY`tCcy#P`veXVt?wUO7#udkIvUaKP+dk(_vIX*`%-rR8`Y_~+jYFUq%o6H1kp?S!9o@|w4 zRI-&mEwF_9N~YSYp30eu-wIRlWK6|xg{ct9oT*6VOhsx`cdv0F;_TWKTtr}j>e#wScfkQk% zHoda1uxui)tVX1u{$WDP=%Z%`uSV<@DrWEsZ-!E}>Z?(Eg=sV>HD<3EUIwpZ9o4gu z>Z`WB!ayFBLaB=`7a2tAL4Aa?QI@b5@Z<1{&e|8_l^5Deu4)*v%C8^|_lV^g?aeaA z)@GzJ+iDL5BLFt$0ADp|WrnXye2SUj%QPs{fY+^zl%+2to2M*O_e`l*hXQHokTa!k zY;6x?+@+@rusL0}qCgIBRJq^AA|4$1eX7Esl)VeH~T5 zj<|}A52NabGST@^K(e#K0I7W9GnjMs8AGs@pvX=cz*wz3hf0-m7}my>b92Imm23Fo zyMj8Kw9rb7YFNR-Lf6pNWHT}Lv(4M6r>DrCnzExp{L4T4jX(PhE}xv!L===ndh2tk zxuf>9h%v(po6QR0geJ@xs(MSs*i?Aen%G0?eZx$5sZZzw4z3g!5Vf&^z5pZX3ly}n zOMSt5k%7KISD-H{uOt`51*)$wICur!2Oo~vE4X6t3SCDjG|=Fc%ml7_uD+7%&w*Uk zS6yB~dao}Ok`camCMq~yDR_${)xYizy+-u%_o$w-^;=9g`0|MP;JrjOFONbSyswl; z_YK}x%A+O+?>R3t*CgsJgROf@Ubs`V-Y(v>ZYj!}Rqe}<6}h8D`H|vHqb#r6uL&vM zLL*+uwB8n?DYEcTz$!gc87{h3CX`-jSr%HPmqunCGMX@aGHTkGs=>5}{NRK^bJic( z@(zttpdfzb-3(~?wErkh$o6IRRaAaLgG|9;anJ%K)cCpCvx0|YxvjEnXDa;Ep> z)IXrm^hJ{!5X~{v)v;(f)`0i+Y0xE)JE{1i7iu(W{oO_34jt+07SpjkfyeA6nMszx z|8kBht-}2=Y_Y?L&oLS1A;$5S}-Merl-DYb%A?Dl}<@UNcna)s;e; z(#J1UO|Kd%bX%p6Eas$dg+8kDhC078g!nruh#SZ%^2~4HbD?rHEmwB5xfka%ZK8(LqIiaj3{IREmf|PDS1_ROHQ-B1T9R`MIGY zcT|dWi&}nusK}ctMG&UVdV*lBdf)oqy4*V4y4yP2AIL%l;U*-005&9!8wuL9E zAW#J?AkrTy2sW$0CTTRN%aj@t+xn2$su`2W`jFVxv#Qt%43o(Ekl5Caj&`-?-IAP0?o(S}?ygkIN9Fq@B$Q9$B&v64N zk5k#*q-VX956L*o?)?AOORl7RNXA(iwOQFFpl}jOm!Bru9YZbX{RH2SF%HV|7Zs~I zpq{PK0RvqXh~^s_KDyR@DO)MyhIpdREm06-KJ+f_hff1rC}1_o#hh(P7mznlhDGe4>E#&?j61!Y6h6B(PQ*Hs3JR zKu|QGdBqi(O9Dl9R-NXo5k16IghY@EIFM2n*{HX<>gIkrIZ=e(upsS}OQkhc7)iG@ z!Ingf`xD8UVg@LCc}5*55ZvbYWOn6pif2Q25=|fBG=JR6<8wm!)C!HpER}B97fmgx z!J6#m3e-?mbA{vmXmA($rJ3y#X=$2&92&zj5%W=dt3WpY zc*`@PhK9XG2S^X_R`Y&<${%K4QFQ7L{^)_hN)ODkoLZ3q-^^aV%%2AVu5Q@_L|41I ze!Y1zTYWfQUJ*;++F96=xIjkcJ(FdYUsMc(Ba7QT;H#&5uepvWIEL zZf+kflFIdOTiL`C;En1>H@r_QwbZBZ!l7VS{yUfdPUpW{;CMPJlb?JFg3{+u|BL^Z zS=7u)j*62~cGxsY7*QV$p(@jUOiDm08eff$F@v>J710YS-qaQE6c>-KDbCgJR$K;P zKJk%qBfNN=;XpssUZZyYQG1*h-%jyH_JsjhYd;wPRD3dPEda`J-Rlc(^N_DCxE_cZ z1LAX!2Z*ib3&hm<0@0`7D71JW2ZJ+28zP=~*oarMHZMG_C;0@fee8l0R*>#^tQvdL z6x*^7g-c4zWCvLZKw>uALI9qTRgthfvtML#Jtdi=T5dr8M3LVs@+Xz=$cLd-VtbLX zLq)CrohpL$fzmt)hZE5`nbZ*&BnQ{pyKagR!hN+B`V)c5z7;LWObN1Y*m4C)--W<| zm>h#BjbmEE&^)$~eeb#fy^_RaJW>-C|WiJZWBB+jG{31~`VG zicT!=sL-je`WQoG3f7IvBx)rz4TEOWuL+b2n)(X6o2-h_qKal&#n`zK8u3+(uB6k9 zdl->$fTPc#{IXFV;w?MT4b+#NumYtV(m7!~zM-CC&Kd|=MYghn&(%iR(-_Y!p4%=+ zxXm^R+%A@8V!d?^1)46=Il+Fegu@L^vLqs(Rakj?h`}?)!fO`c{}^#Zxof>N9tvbK zAHw9I1v1BN`GvFXY?S1(FRh`##G{B7vRFitpZpVw6w%7o7>>LnIN#gX`bfkwFk*~s zkcsyYDAnif=rFk)26;t&fK?MCW^eaKWNUMJ&EJz zXO^?o-;X)0*XWZyI6RmNhM{iS)A9iT3aNd{j9akO38&>9D!rE(f4Kbg9^1Uvz6U(|7^y_ zOqSN79qmkd>XEO`GL#QSL7^6ge`#rSu{#;CP_{WLB{4QSMylRm{inaJPZKY;jh@;( z2cYHGXFVlkF+GIeAnU1{XYJ=~rA@wKn?yA$BmDpJWq|Q}`T^!iaqu*K8?-iT^?;70 z*%+Y9hqKmK&88l{ZLJ{N#?#!cK&`B#J*_GOObXfnz0AryStxn^_=%N|s3wc^dCVVl+LR`$&v{B;=y+YN=QMWBk z^~BV2m|dVzyq+|`jU`QbMj9IAq7gLODkh{*#SC9Fx`m9SGuZ{#0JWydEu2*VkWN3R z!=$506M*%uqy+a&<%nqg6_KhlNf$^$k3M>LOv7|2qniDNq}Yz2COJVROt!FS*Rg8p zI`AFit2#vH6XqvFqDQn-PmJIB$wJ3s^f0^qGq$P?Y|K?;^{9v#y0Mjn$tPMZzIWOa zfKsY{D5Q)`7i)HwI`Lagp`fsQZwXkFQAmf>uqCs2AOv%P1nWl<0 z2s5FLEE&*SAdQtIYU5F4g9^J98DEE`jJM3)=`&_Ad|~_@&d0~1Vgn#A$Iwdw2uh)i zWSJOSO_d zeO)Iaxn0vYXGnmt>*+?CCVD6Bwa zYJ#@K$I|gNp6E$2VxX1dn!@O+Crw)%mY@VzcNF$IyhuY)?=>b`s-i>S8g5p03+l5u zMYMOz07iuF(SNth0#qgGzGZEO(7{2gqfF;aCNQG?$9T3bWp7-L>c7VE1@>{mr0hHZ z(K+z{La^9PYW@6w-TpY+0=oT%o}+r)?~nGwe!muo+w0lKC_K{bxB8Sp8P&PN`Eh|> zVbJEpVxPr`)n;4p;G=%=U>|L1Wkh$0JT{+8R2P~xVfgG3fYJeI@HwESJNz-hbx3T7 zzOWErk+AcQyF{L|U$DM+Z5v&892tKBv(-C})LzHL^fuFHs^fYN@uzZD6e=db4GybB zr&#mL?tUb5lHRPeB-T?Cbu~d8b$?#<$P1VO-@$EqR6XleB_R50wVZQOn?R&p>96Kd z@DURg^*$e-8#xlV9j{1tT!F3+jVUAvFiMYrm%VxAC~vacMuCs_sP*n#%NU2H4K&Sl z0;|27sA)&ClY#(>5G}%PJIEYcO?Ms{yY&@!l>lp?`jzknOxW)PWbGQ~6tlZhCNKtH zDvUn%QotTtTFgHj%|?$iyI%*n?eqO47JB-Xx4pW# zh!M!|%a^Ir@2FH+)f^wUifGp8&7t1DW!6GS328TiAW)$!Xo2PEqC?scR|P;dr(im# zp@9mT&;xnW=EFN(ZC7cEH;^&-Me^uSCK?M^pMSZrP-gxIx(H5wrW{|i5_UYQ3nK-w zska!VOpw*DLJgl(coU2v4%>TmNGvosnvT*r+6Yj$J^ZG@@t~P-16Z!9kafVK;7+%d zJp--AuKuH)wg-k%0D~5l$z(gF`0r>d3Xt-(7N(by4JtLtQi^l9K;4C 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 Q;KNJX*$k=a_2Y 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Π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%0AN2?*%d1 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 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg; +var Promise=function(){function noop(){}function bind(fn,thisArg){return function(){fn.apply(thisArg,arguments)}}function Promise(fn){if(!(this instanceof Promise))throw new TypeError("Promises must be constructed via new");if(typeof fn!="function")throw new TypeError("not a function");this._state=0;this._handled=false;this._value=undefined;this._deferreds=[];doResolve(fn,this)}function handle(self,deferred){while(self._state===3)self=self._value;if(self._state===0){self._deferreds.push(deferred);return}self._handled= +true;Promise._immediateFn(function(){var cb=self._state===1?deferred.onFulfilled:deferred.onRejected;if(cb===null){(self._state===1?resolve:reject)(deferred.promise,self._value);return}var ret;try{ret=cb(self._value)}catch(e){reject(deferred.promise,e);return}resolve(deferred.promise,ret)})}function resolve(self,newValue){try{if(newValue===self)throw new TypeError("A promise cannot be resolved with itself.");if(newValue&&(typeof newValue=="object"||typeof newValue=="function")){var then=newValue.then; +if(newValue instanceof Promise){self._state=3;self._value=newValue;finale(self);return}else if(typeof then=="function"){doResolve(bind(then,newValue),self);return}}self._state=1;self._value=newValue;finale(self)}catch(e){reject(self,e)}}function reject(self,newValue){self._state=2;self._value=newValue;finale(self)}function finale(self){if(self._state===2&&self._deferreds.length===0)Promise._immediateFn(function(){if(!self._handled)Promise._unhandledRejectionFn(self._value)});for(var i=0,len=self._deferreds.length;i< +len;i++)handle(self,self._deferreds[i]);self._deferreds=null}function Handler(onFulfilled,onRejected,promise){this.onFulfilled=typeof onFulfilled=="function"?onFulfilled:null;this.onRejected=typeof onRejected=="function"?onRejected:null;this.promise=promise}function doResolve(fn,self){var done=false;try{fn(function(value){if(done)return;done=true;resolve(self,value)},function(reason){if(done)return;done=true;reject(self,reason)})}catch(ex){if(done)return;done=true;reject(self,ex)}}Promise.prototype["catch"]= +function(onRejected){return this.then(null,onRejected)};Promise.prototype.then=function(onFulfilled,onRejected){var prom=new this.constructor(noop);handle(this,new Handler(onFulfilled,onRejected,prom));return prom};Promise.all=function(arr){return new Promise(function(resolve,reject){if(!Array.isArray(arr))return reject(new TypeError("Promise.all accepts an array"));var args=Array.prototype.slice.call(arr);if(args.length===0)return resolve([]);var remaining=args.length;function res(i,val){try{if(val&& +(typeof val=="object"||typeof val=="function")){var then=val.then;if(typeof then=="function"){then.call(val,function(val){res(i,val)},reject);return}}args[i]=val;if(--remaining===0)resolve(args)}catch(ex){reject(ex)}}for(var i=0;i1)thisProgram=process.argv[1].replace(/\\/g,"/");arguments_=process.argv.slice(2);quit_=function(status,toThrow){process.exitCode=status;throw toThrow;};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB|| +ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER)scriptDirectory=self.location.href;else if(typeof document!="undefined"&&document.currentScript)scriptDirectory=document.currentScript.src;if(_scriptDir)scriptDirectory=_scriptDir;if(scriptDirectory.indexOf("blob:")!==0)scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1);else scriptDirectory="";{read_=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}; +if(ENVIRONMENT_IS_WORKER)readBinary=function(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)};readAsync=function(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else;var out=Module["print"]||console.log.bind(console); +var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true; +var WebAssembly={Memory:function(opts){this.buffer=new ArrayBuffer(opts["initial"]*65536)},Module:function(binary){},Instance:function(module,info){this.exports=( +// EMSCRIPTEN_START_ASM +function instantiate(Pa){function c(d){d.set=function(a,b){this[a]=b};d.get=function(a){return this[a]};return d}var e;var f=new Uint8Array(123);for(var a=25;a>=0;--a){f[48+a]=52+a;f[65+a]=a;f[97+a]=26+a}f[43]=62;f[47]=63;function l(m,n,o){var g,h,a=0,i=n,j=o.length,k=n+(j*3>>2)-(o[j-2]=="=")-(o[j-1]=="=");for(;a>4;if(i>2;if(i>>0<9){o=m;break b}o=c;if((g|0)!=15){break b}o=m+7>>>3|0;x=-6}ra=L(c,d);ga=p?p:z;c:{if(!j){break c}if(l>>>0>15){break a}k=(L(k,192)+ga|0)+L(l,12)|0;Ca=k+24|0;l=F[k+28>>2];if(ra>>>0<=l>>>0){break c}if(I[k+32>>2]>>0){Wa(Ca,ra,(l+1|0)==(ra|0),4);l=F[k+28>>2]}Ta(F[Ca>>2]+(l<<2)|0,0,ra-l<<2);F[k+28>>2]=ra}if(!(f?e:1)){break a}k=F[a+172>>2];F[t+8>>2]=0;F[t>>2]=0;F[t+4>>2]=0;if(k){Wa(t,k,(k|0)==1,4);l=F[t+4>>2];Ta(F[t>>2]+(l<<2)|0,0,k-l<<2);F[t+4>>2]=k}F[t+12>>2]=k>>>1;d:{if((g&-2)==6){Qa=Ya(L(ra,12));if(!Qa){break d}yb=(ra<<3)+Qa|0}k=F[ga+4>>2];e:{if(k>>>0>=c>>>0){break e}if(I[ga+8>>2]>>0){Wa(ga,c,(k+1|0)==(c|0),4)}F[ga+4>>2]=c;k=F[ga+16>>2];if((k|0)==(c|0)){break e}if(!(c>>>0>>0|I[ga+20>>2]>=c>>>0)){Wa(ga+12|0,c,(k+1|0)==(c|0),4)}F[ga+16>>2]=c}k=F[a>>2];ja=k?k:a;if(!F[ja+8>>2]){break d}k=F[ja+20>>2];if(!k){break d}Na=1;f:{if(!d|!c){break f}R=e+f|0;ub=k+F[a+172>>2]|0;ma=o<<2;da=o<<1;vb=t+37|0;za=t+96|3;La=x>>>0<9?s?s:n:s;sa=La;Na=0;z=0;aa=2;while(1){f=B<<2;k=La-f|0;oa=(k|0)>=4?4:k;ha=(sa|0)>=4?4:sa;wa=L(o,B);xa=L(c,B);ca=L(f,o);Ma=B&1;Oa=L(Ma,12)+ga|0;wb=L(!Ma,12)+ga|0;V=o;J=0;while(1){g:{if(J&1){break g}if(Ma){K=G[(F[ga+12>>2]+(J<<2)|0)+2|0];break g}h:{if(Aa){Aa=Aa-1|0;break h}i:{if(z>>>0>15){break i}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}f=z+8|0;C=l<>>0>7){z=f;break i}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}z=z+16|0;C=l<>2]+((C&1023)<<2)>>2];j:{if((l|0)<0){f=F[a+52>>2];p=10;while(1){k=C>>>p|0;p=p+1|0;l=E[f+((k&1)+(l^-1)<<1)>>1];if((l|0)<0){continue}break}break j}p=l>>>16|0;l=l&65535}z=z-p|0;p=C>>>p|0;Aa=0;if((l|0)!=256){C=p;$=l;break h}if(!(z>>>0>4)){l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}p=l<>>5|0;k:{if(!(p&16)){e=f;break k}l:{if(z>>>0>4){e=f;break l}p=0;if(f>>>0>=R>>>0){e=f}else{p=G[f|0];e=f+1|0}C=p<>>5|0;l=C<<4&240|l;if(!(C&16)){C=p;break k}if(!(z>>>0>4)){k=0;if(e>>>0>>0){k=G[e|0];e=e+1|0}p=k<>>5|0;l=p<<8&3840|l;if(!(p&16)){e=m;break k}m:{if(z>>>0>4){e=m;break m}p=0;if(m>>>0>=R>>>0){e=m}else{p=G[m|0];e=m+1|0}C=p<>>5|0;l=C<<12&61440|l;if(!(C&16)){C=p;break k}if(!(z>>>0>4)){k=0;if(e>>>0>>0){k=G[e|0];e=e+1|0}p=k<>>5|0;l=p<<16&983040|l;if(!(p&16)){e=m;break k}n:{if(z>>>0>4){e=m;break n}p=0;if(m>>>0>=R>>>0){e=m}else{p=G[m|0];e=m+1|0}C=p<>>5|0;l=C<<20&15728640|l;if(!(C&16)){C=p;break k}if(!(z>>>0>4)){s=0;if(e>>>0>>0){s=G[e|0];e=e+1|0}p=s<>>5|0;l=p<<24&251658240|l;if(!(p&16)){e=m;C=f;break k}o:{if(z>>>0>4){e=m;break o}s=0;if(m>>>0>=R>>>0){e=m}else{s=G[m|0];e=m+1|0}f=s<>>5|0;l=f<<28|l}Aa=l+2|0}D[(F[ga+12>>2]+(J<<2)|0)+2|0]=$>>>4;K=$}p:{q:{r:{s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{I:{J:{K:{L:{M:{N:{O:{P:{Q:{R:{S:{k=K&3;switch(k|0){case 0:break N;case 1:break R;case 2:break S;default:break P}}if(!j){if(!B|!J){break J}p=J-1|0;break Q}f=F[F[Ca>>2]+(J+xa<<2)>>2];ta=f&65535;p=f>>>16|0;break O}p=J;if(!B){break J}}ta=H[F[wb>>2]+(p<<2)>>1];break M}T:{if(z>>>0>15){break T}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}f=z+8|0;C=l<>>0>7){z=f;break T}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}z=z+16|0;C=l<>2]+((C&1023)<<2)>>2];U:{if((f|0)<0){m=F[a+88>>2];l=10;while(1){n=C>>>l|0;l=l+1|0;f=E[m+((n&1)+(f^-1)<<1)>>1];if((f|0)<0){continue}break}break U}l=f>>>16|0;f=f&65535}f=f+ta|0;m=F[ja+8>>2];ta=f-(f>>>0>=m>>>0?m:0)|0;z=z-l|0;C=C>>>l|0;p=0}E[F[Oa>>2]+(J<<2)>>1]=ta;if((k|0)!=2){break L}if(j){break K}break L}if(!J){break J}}E[F[Oa>>2]+(J<<2)>>1]=ta}V:{W:{if(va){va=va-1|0;break W}X:{if(z>>>0>15){break X}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}f=z+8|0;C=l<>>0>7){z=f;break X}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}z=z+16|0;C=l<>2]+((C&1023)<<2)>>2];Y:{if((p|0)<0){f=F[a+124>>2];l=10;while(1){k=C>>>l|0;l=l+1|0;p=E[f+((k&1)+(p^-1)<<1)>>1];if((p|0)<0){continue}break}break Y}l=p>>>16|0;p=p&65535}z=z-l|0;C=C>>>l|0;if((p|0)==(ub|0)){Z:{if(z>>>0>15){break Z}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}f=z+8|0;C=l<>>0>7){z=f;break Z}l=0;if(e>>>0>>0){l=G[e|0];e=e+1|0}z=z+16|0;C=l<>2]+((C&1023)<<2)>>2];_:{if((l|0)<0){f=F[a+160>>2];p=10;while(1){k=C>>>p|0;p=p+1|0;l=E[f+((k&1)+(l^-1)<<1)>>1];if((l|0)<0){continue}break}break _}p=l>>>16|0;l=l&65535}z=z-p|0;C=C>>>p|0;m=C;$:{if((l|0)!=63){break $}aa:{if(z>>>0>7){m=e;f=z;break aa}p=0;if(e>>>0>>0){p=G[e|0];e=e+1|0}m=e;C=p<>>8|0;if(!(C&128)){e=m;m=p;break $}ba:{if(z>>>0>7){e=m;f=z;break ba}k=0;if(m>>>0>=R>>>0){e=m}else{k=G[m|0];e=m+1|0}p=k<>>8|0;m=C;if(!(p&128)){break $}ca:{if(z>>>0>7){f=z;break ca}p=0;if(e>>>0>>0){p=G[e|0];e=e+1|0}C=p<>>8|0;l=C<<14&2080768|l;if(!(C&128)){e=m;m=p;break $}da:{if(z>>>0>7){k=m;f=z;break da}s=0;if(m>>>0>=R>>>0){k=m}else{s=G[m|0];k=m+1|0}p=s<>>8|0;l=p<<21&266338304|l;if(!(p&128)){e=k;break $}ea:{if(z>>>0>7){e=k;f=z;break ea}p=0;if(k>>>0>=R>>>0){e=k}else{p=G[k|0];e=k+1|0}m=p<>>8|0}C=m;if(l+3>>>0>ra>>>0){break J}va=l+2|0;break W}va=0;l=F[ja+20>>2];if((p|0)>=(l|0)){break V}if(!F[a+172>>2]){break K}k=F[t+12>>2];f=k+1|0;F[t+12>>2]=f;F[F[t>>2]+(k<<2)>>2]=p;if((f|0)!=F[t+4>>2]){break K}F[t+12>>2]=f>>>1;break K}p=F[ja+20>>2];l=p}f=p-l|0;if((f|0)>=F[t+4>>2]){break J}k=(l|0)==(p|0);l=F[t>>2];m=l+(f<<2)|0;p=F[m>>2];if(k){break K}f=l+(f<<1&-4)|0;k=F[f>>2];F[f>>2]=p;F[m>>2]=k}if(I[ja+8>>2]<=ta>>>0|I[ja+20>>2]<=p>>>0){break J}if(j){F[F[Ca>>2]+(J+xa<<2)>>2]=p<<16|ta}m=(V|0)>=4?4:V;n=F[ja+16>>2];v=n+L(p,11)|0;s=F[ja+4>>2];u=s+(ta<<3)|0;fa:{switch(g|0){case 24:case 25:break fa;case 22:break q;case 21:break r;case 20:break t;case 17:break u;case 16:break v;case 26:break w;case 13:break x;case 12:break y;case 11:break z;case 28:break A;case 27:break B;case 18:break C;case 7:break D;case 6:break E;case 4:break F;case 2:break G;case 0:break H;case 23:break I;default:break p}}k=G[u+4|0]<<4;s=F[k+12764>>2];f=G[u+1|0];l=(f<<3|f>>>2)&255;f=s+l|0;x=(f|0)>=255?255:f;n=G[u|0];n=(n<<3|n>>>2)&255;p=n+s|0;w=(p|0)>=255?255:p;y=s;s=G[u+2|0];s=(s<<3|s>>>2)&255;u=y+s|0;y=(u|0)>=255?255:u;f=L((f>>>0<256?f:(x|0)>0?x:0)&255,63)+128|0;A=(f>>>8|0)+f>>>3&8160;p=p>>>0<256?p:(w|0)>0?w:0;u=u>>>0<256?u:(y|0)>0?y:0;f=(g|0)==24;x=L((f?p:u)&255,31)+128|0;p=L((f?u:p)&255,31)+128|0;E[t+38>>1]=A|(x>>>8|0)+x<<3&63488|(p>>>8|0)+p>>>8;x=F[k+12760>>2];p=x+l|0;w=(p|0)>=255?255:p;u=n+x|0;y=(u|0)>=255?255:u;x=s+x|0;O=(x|0)>=255?255:x;p=L((p>>>0<256?p:(w|0)>0?w:0)&255,63)+128|0;A=(p>>>8|0)+p>>>3&8160;p=u>>>0<256?u:(y|0)>0?y:0;u=x>>>0<256?x:(O|0)>0?O:0;x=L((f?p:u)&255,31)+128|0;p=L((f?u:p)&255,31)+128|0;E[t+36>>1]=A|(x>>>8|0)+x<<3&63488|(p>>>8|0)+p>>>8;x=F[k+12756>>2];p=x+l|0;w=(p|0)>=255?255:p;u=n+x|0;y=(u|0)>=255?255:u;x=s+x|0;O=(x|0)>=255?255:x;p=L((p>>>0<256?p:(w|0)>0?w:0)&255,63)+128|0;A=(p>>>8|0)+p>>>3&8160;p=u>>>0<256?u:(y|0)>0?y:0;u=x>>>0<256?x:(O|0)>0?O:0;x=L((f?p:u)&255,31)+128|0;p=L((f?u:p)&255,31)+128|0;E[t+34>>1]=A|(x>>>8|0)+x<<3&63488|(p>>>8|0)+p>>>8;p=F[k+12752>>2];k=p+n|0;u=(k|0)>=255?255:k;n=p+s|0;s=(n|0)>=255?255:n;l=l+p|0;p=(l|0)>=255?255:l;k=k>>>0<256?k:(u|0)>0?u:0;n=n>>>0<256?n:(s|0)>0?s:0;s=L((f?k:n)&255,31)+128|0;f=L((f?n:k)&255,31)+128|0;k=(s>>>8|0)+s<<3&63488|(f>>>8|0)+f>>>8;f=L((l>>>0<256?l:(p|0)>0?p:0)&255,63)+128|0;E[t+32>>1]=k|(f>>>8|0)+f>>>3&8160;if(!oa){break p}f=J<<2;k=o-f|0;n=(k|0)>=4?4:k;u=m&-2;w=m&1;f=(f+ca<<1)+b|0;x=0;while(1){ga:{if(!n){break ga}k=G[v+x|0];p=0;s=0;if((m|0)!=1){while(1){l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];l=l|2;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];p=p+2|0;s=s+2|0;if((u|0)!=(s|0)){continue}break}}if(!w){break ga}l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1]}f=f+da|0;x=x+1|0;if((ha|0)!=(x|0)){continue}break}break p}if(!Qa){break f}Ra(Qa);break f}k=G[u+1|0];k=k<<3|k>>>2;f=G[u+4|0]<<4;l=k+F[f+12764>>2]|0;n=(l|0)>=255?255:l;F[t+44>>2]=l>>>0<256?l:(n|0)>0?n:0;l=k+F[f+12760>>2]|0;n=(l|0)>=255?255:l;F[t+40>>2]=l>>>0<256?l:(n|0)>0?n:0;l=k+F[f+12756>>2]|0;n=(l|0)>=255?255:l;F[t+36>>2]=l>>>0<256?l:(n|0)>0?n:0;f=k+F[f+12752>>2]|0;k=(f|0)>=255?255:f;F[t+32>>2]=f>>>0<256?f:(k|0)>0?k:0;f=J<<2;l=(f+ca<<2)+b|0;f=o-f|0;if((f|0)<=3){if(!oa){break p}n=(f|0)>=4?4:f;s=m&-2;u=m&1;x=0;break s}f=0;if(!oa){break p}while(1){m=t+32|0;k=G[f+v|0];D[l+3|0]=F[(m|(k&3)<<2)>>2];D[l+7|0]=F[(m|k&12)>>2];D[l+11|0]=F[(m|k>>>2&12)>>2];D[l+15|0]=F[(m|k>>>4&12)>>2];l=l+ma|0;f=f+1|0;if((ha|0)!=(f|0)){continue}break}break p}f=L(J+wa|0,h)+b|0;k=G[u|0];Z=Z&7|(k>>>0>=31?31:k)<<3;k=G[u+4|0];aa=aa&3|k<<5|k<<2;k=G[u+2|0];ua=ua&7|(k>>>0>=31?31:k)<<3;k=G[u+1|0];pa=pa&7|(k>>>0>=31?31:k)<<3;F[f>>2]=Z|(aa<<24|ua<<16|pa<<8);F[f+4>>2]=G[v+4|0]|G[v+5|0]<<8|(G[v+6|0]<<16|G[v+7|0]<<24);break p}n=L(J+wa|0,h)+b|0;f=G[u+4|0];k=G[v+8|0];l=G[v+9|0];if((k|0)!=(l|0)){ha:{if(!(k|((l|0)!=3|f>>>0<7))){if(G[v+10|0]==2){break ha}}l=L(F[((k<<4)+(l<<2)|0)+407904>>2],10);m=f<<5;f=l+L(m+G[u|0]|0,60)<<2;y=f;k=l+L(m+G[u+2|0]|0,60)<<2;l=l+L(m+G[u+1|0]|0,60)<<2;m=H[k+74710>>1]+(H[l+136150>>1]+H[f+74710>>1]|0)|0;p=H[k+74706>>1]+(H[l+136146>>1]+H[f+74706>>1]|0)|0;s=m>>>0

    >>0;u=H[k+74714>>1]+(H[l+136154>>1]+H[f+74714>>1]|0)|0;m=s?m:p;p=u>>>0>>0;A=p?2:s;s=H[k+74718>>1]+(H[l+136158>>1]+H[f+74718>>1]|0)|0;m=p?u:m;p=s>>>0>>0;A=p?3:A;u=H[k+74722>>1]+(H[l+136162>>1]+H[f+74722>>1]|0)|0;m=p?s:m;p=u>>>0>>0;A=p?4:A;s=H[k+74726>>1]+(H[l+136166>>1]+H[f+74726>>1]|0)|0;m=p?u:m;p=s>>>0>>0;A=p?5:A;u=H[k+74730>>1]+(H[l+136170>>1]+H[f+74730>>1]|0)|0;m=p?s:m;p=u>>>0>>0;A=p?6:A;s=H[k+74734>>1]+(H[l+136174>>1]+H[f+74734>>1]|0)|0;m=p?u:m;p=s>>>0>>0;A=p?7:A;u=H[k+74738>>1]+(H[l+136178>>1]+H[f+74738>>1]|0)|0;m=p?s:m;p=u>>>0>>0;p=H[k+74742>>1]+(H[l+136182>>1]+H[f+74742>>1]|0)>>>0<(p?u:m)>>>0?9:p?8:A;f=p<<2;m=y+f|0;k=f+k|0;l=f+l|0;f=G[m+74704|0]<<11&63488|G[k+74704|0]|G[l+136144|0]<<5;k=G[k+74705|0]|G[m+74705|0]<<11&63488|G[l+136145|0]<<5;l=f>>>0>>0;m=l?f:k;D[n+2|0]=m;k=f>>>0>k>>>0?f:k;D[n|0]=k;D[n+3|0]=m>>>8;D[n+1|0]=k>>>8;if((k|0)!=(m|0)){f=(p<<8)+(l?410528:407968)|0;D[n+4|0]=G[f+G[v|0]|0];D[n+5|0]=G[f+G[v+1|0]|0];D[n+6|0]=G[f+G[v+2|0]|0];D[n+7|0]=G[f+G[v+3|0]|0];break p}f=n;if(i){k=0}else{l=k?k:1;D[n|0]=l;D[n+1|0]=l>>>8;l=k-1|0;l=k>>>0>=l>>>0?l:0;D[n+2|0]=l;D[n+3|0]=l>>>8;k=k?0:85}k=L(k,16843009);D[f+4|0]=k;D[f+5|0]=k>>>8;D[f+6|0]=k>>>16;D[f+7|0]=k>>>24;break p}m=1;s=f<<4;f=F[s+12764>>2];k=G[u+1|0];O=(k<<3|k>>>2)&255;k=f+O|0;x=(k|0)>=255?255:k;l=G[u|0];Q=(l<<3|l>>>2)&255;l=Q+f|0;w=(l|0)>=255?255:l;p=f;f=G[u+2|0];ba=(f<<3|f>>>2)&255;p=p+ba|0;y=(p|0)>=255?255:p;u=F[s+12752>>2];f=u+O|0;O=(f|0)>=255?255:f;s=u+Q|0;Q=(s|0)>=255?255:s;u=u+ba|0;ba=(u|0)>=255?255:u;f=G[(((u>>>0<256?u:(ba|0)>0?ba:0)&255)<<1)+406368|0]|(G[(((f>>>0<256?f:(O|0)>0?O:0)&255)<<1)+407392|0]<<5|G[(((s>>>0<256?s:(Q|0)>0?Q:0)&255)<<1)+406368|0]<<11);s=G[(((p>>>0<256?p:(y|0)>0?y:0)&255)<<1)+406368|0]|(G[(((k>>>0<256?k:(x|0)>0?x:0)&255)<<1)+407392|0]<<5|G[(((l>>>0<256?l:(w|0)>0?w:0)&255)<<1)+406368|0]<<11);ia:{if((f|0)==(s|0)){if(!f){f=0;k=1;l=1;break ia}s=f-1|0;m=0}l=0;if(f>>>0>=s>>>0){k=f;f=s;break ia}l=1;m=0;k=s}D[n+2|0]=f;D[n|0]=k;D[n+3|0]=f>>>8;D[n+1|0]=k>>>8;f=G[n+4|0]&-4|((G[v|0]&3)==3?m:l);D[n+4|0]=f;f=f&-15|((G[v|0]&12)==12?m:l)<<2;D[n+4|0]=f;f=f&-59|((G[v|0]&48)==48?m:l)<<4;D[n+4|0]=f;D[n+4|0]=f&21|(G[v|0]>191?m:l)<<6;f=G[n+5|0]&-4|((G[v+1|0]&3)==3?m:l);D[n+5|0]=f;f=f&-15|((G[v+1|0]&12)==12?m:l)<<2;D[n+5|0]=f;f=f&-59|((G[v+1|0]&48)==48?m:l)<<4;D[n+5|0]=f;D[n+5|0]=f&21|(G[v+1|0]>191?m:l)<<6;f=G[n+6|0]&-4|((G[v+2|0]&3)==3?m:l);D[n+6|0]=f;f=f&-15|((G[v+2|0]&12)==12?m:l)<<2;D[n+6|0]=f;f=f&-59|((G[v+2|0]&48)==48?m:l)<<4;D[n+6|0]=f;D[n+6|0]=f&21|(G[v+2|0]>191?m:l)<<6;f=G[n+7|0]&-4|((G[v+3|0]&3)==3?m:l);D[n+7|0]=f;f=f&-15|((G[v+3|0]&12)==12?m:l)<<2;D[n+7|0]=f;f=f&-59|((G[v+3|0]&48)==48?m:l)<<4;D[n+7|0]=f;D[n+7|0]=f&21|(G[v+3|0]>191?m:l)<<6;break p}l=G[u+1|0];m=l<<3|l>>>2;l=F[((f<<4)+(k<<2)|0)+12752>>2];f=m+l|0;m=(f|0)>=255?255:f;k=G[u|0];k=l+(k<<3|k>>>2)|0;p=(k|0)>=255?255:k;s=G[u+2|0];l=l+(s<<3|s>>>2)|0;s=(l|0)>=255?255:l;f=(f>>>0<256?f:(m|0)>0?m:0)<<1;k=(k>>>0<256?k:(p|0)>0?p:0)<<1;m=(l>>>0<256?l:(s|0)>0?s:0)<<1;l=G[f+406881|0]<<5|G[k+405857|0]<<11|G[m+405857|0];f=G[m+405856|0]|(G[f+406880|0]<<5|G[k+405856|0]<<11);m=170;ja:{if(!((f|0)!=(l|0)|i)){if(!f){m=85;l=1;k=0;break ja}m=0;l=f-1|0}if(f>>>0>=l>>>0){k=l;l=f;break ja}m=m|85;k=f}D[n+2|0]=k;D[n|0]=l;f=L(m,16843009);D[n+4|0]=f;D[n+5|0]=f>>>8;D[n+6|0]=f>>>16;D[n+7|0]=f>>>24;D[n+3|0]=k>>>8;D[n+1|0]=l>>>8;break p}f=L(J+wa|0,h)+b|0;l=G[u+4|0];m=G[v+8|0];k=G[v+9|0];if((m|0)!=(k|0)){if(G[v+10|0]!=2){s=0;ka:{la:{switch(m|0){case 1:s=(k|0)==3?1:(k|0)==2?3:0;break ka;case 0:break la;default:break ka}}s=((k|0)==2)<<1}k=G[u|0]+(l<<5)<<4|s<<2;l=H[k+197584>>1];D[f|0]=l;D[f+1|0]=l>>>8;k=H[k+197586>>1];l=k>>>L(G[v|0]&3,3)&7|G[f+2|0]&-8;D[f+2|0]=l;l=k>>>L(G[v|0]>>>2&3,3)<<3&56|l&-57;D[f+2|0]=l;l=(l&63|G[f+3|0]<<8)&65087|k>>>L(G[v|0]>>>4&3,3)<<6&448;D[f+2|0]=l;D[f+3|0]=l>>>8;l=l>>>8&241|k>>>L(G[v|0]>>>6|0,3)<<1&14;D[f+3|0]=l;l=l&143|k>>>L(G[v+1|0]&3,3)<<4&112;D[f+3|0]=l;l=(l|G[f+4|0]<<8)&64639|k>>>L(G[v+1|0]>>>2&3,3)<<7&896;D[f+3|0]=l;D[f+4|0]=l>>>8;l=l>>>8&227|k>>>L(G[v+1|0]>>>4&3,3)<<2&28;D[f+4|0]=l;D[f+4|0]=l&31|k>>>L(G[v+1|0]>>>6|0,3)<<5;l=k>>>L(G[v+2|0]&3,3)&7|G[f+5|0]&-8;D[f+5|0]=l;l=k>>>L(G[v+2|0]>>>2&3,3)<<3&56|l&-57;D[f+5|0]=l;l=(l&63|G[f+6|0]<<8)&65087|k>>>L(G[v+2|0]>>>4&3,3)<<6&448;D[f+5|0]=l;D[f+6|0]=l>>>8;l=l>>>8&241|k>>>L(G[v+2|0]>>>6|0,3)<<1&14;D[f+6|0]=l;l=l&143|k>>>L(G[v+3|0]&3,3)<<4&112;D[f+6|0]=l;l=(l|G[f+7|0]<<8)&64639|k>>>L(G[v+3|0]>>>2&3,3)<<7&896;D[f+6|0]=l;D[f+7|0]=l>>>8;l=l>>>8&227|k>>>L(G[v+3|0]>>>4&3,3)<<2&28;D[f+7|0]=l;D[f+7|0]=l&31|k>>>L(G[v+3|0]>>>6|0,3)<<5;break p}n=G[u|0];n=(n<<3|n>>>2)&255;l=l<<4;p=n+F[l+12764>>2]|0;s=(p|0)>=255?255:p;D[t+44|0]=p>>>0<256?p:(s|0)>0?s:0;p=n+F[l+12760>>2]|0;s=(p|0)>=255?255:p;D[t+40|0]=p>>>0<256?p:(s|0)>0?s:0;p=n+F[l+12756>>2]|0;s=(p|0)>=255?255:p;D[t+36|0]=p>>>0<256?p:(s|0)>0?s:0;l=n+F[l+12752>>2]|0;n=(l|0)>=255?255:l;D[t+32|0]=l>>>0<256?l:(n|0)>0?n:0;l=t+32|0;m=G[l+(m<<2)|0];D[f+1|0]=G[l+(k<<2)|0];D[f|0]=m;l=G[f+2|0]&-8|(k|0)==(G[v|0]&3);D[f+2|0]=l;l=l&-63|((k|0)==(G[v|0]>>>2&3))<<3;D[f+2|0]=l;m=G[v|0];n=G[f+3|0];D[f+3|0]=n&254;D[f+2|0]=l&9|((k|0)==(m>>>4&3))<<6;l=n&240|((k|0)==(G[v|0]>>>6|0))<<1;D[f+3|0]=l;l=l&130|((k|0)==(G[v+1|0]&3))<<4;D[f+3|0]=l;m=G[v+1|0];l=(l|G[f+4|0]<<8)&64530;n=l>>>8|0;D[f+4|0]=n;D[f+3|0]=l|((k|0)==(m>>>2&3))<<7;l=((k|0)==(G[v+1|0]>>>4&3))<<2;D[f+4|0]=l|n&224;D[f+4|0]=l|((k|0)==(G[v+1|0]>>>6|0))<<5;l=G[f+5|0]&-8|(k|0)==(G[v+2|0]&3);D[f+5|0]=l;l=l&-63|((k|0)==(G[v+2|0]>>>2&3))<<3;D[f+5|0]=l;m=G[v+2|0];n=G[f+6|0];D[f+6|0]=n&254;D[f+5|0]=l&9|((k|0)==(m>>>4&3))<<6;l=n&240|((k|0)==(G[v+2|0]>>>6|0))<<1;D[f+6|0]=l;l=l&130|((k|0)==(G[v+3|0]&3))<<4;D[f+6|0]=l;m=G[v+3|0];l=(l|G[f+7|0]<<8)&64530;n=l>>>8|0;D[f+7|0]=n;D[f+6|0]=l|((k|0)==(m>>>2&3))<<7;l=((k|0)==(G[v+3|0]>>>4&3))<<2;D[f+7|0]=l|n&224;D[f+7|0]=l|((k|0)==(G[v+3|0]>>>6|0))<<5;break p}k=G[u|0];D[f+2|0]=0;D[f+3|0]=0;D[f+4|0]=0;D[f+5|0]=0;D[f+6|0]=0;D[f+7|0]=0;k=F[((l<<4)+(m<<2)|0)+12752>>2]+(k<<3|k>>>2)|0;l=(k|0)>=255?255:k;k=k>>>0<256?k:(l|0)>0?l:0;D[f+1|0]=k;D[f|0]=k;break p}n=G[v+4|0]|G[v+5|0]<<8|G[v+6|0]<<16|G[v+7|0]<<24;f=G[u|0];Z=Z&7|(f>>>0>=31?31:f)<<3;p=Z;f=G[u+4|0];aa=aa&3|f<<5|f<<2;l=aa&255;f=l>>>8|0;s=l<<24;l=f;f=G[u+2|0];ua=ua&7|(f>>>0>=31?31:f)<<3;f=ua>>>16|0;s=ua<<16|s;l=f|l;f=G[u+1|0];pa=pa&7|(f>>>0>=31?31:f)<<3;f=pa>>>24|0;O=J+xa|0;k=(O<<3)+Qa|0;F[k>>2]=p|(pa<<8|s);F[k+4>>2]=f|l|n;m=(G[u+4|0]<<4)+12752|0;l=F[m+(G[v+8|0]<<2)>>2];f=G[u|0];n=(f<<3|f>>>2)&255;f=l+n|0;s=(f|0)>=255?255:f;k=G[u+1|0];p=(k<<3|k>>>2)&255;k=p+l|0;x=(k|0)>=255?255:k;A=l;l=G[u+2|0];y=(l<<3|l>>>2)&255;l=A+y|0;u=(l|0)>=255?255:l;A=p;p=F[m+(G[v+9|0]<<2)>>2];m=A+p|0;v=(m|0)>=255?255:m;n=n+p|0;w=(n|0)>=255?255:n;p=p+y|0;y=(p|0)>=255?255:p;F[(O<<2)+yb>>2]=G[((f>>>0<256?f:(s|0)>0?s:0)&255)+201680|0]<<10&31744|G[((k>>>0<256?k:(x|0)>0?x:0)&255)+201680|0]<<5|G[((l>>>0<256?l:(u|0)>0?u:0)&255)+201936|0]<<1|(G[((p>>>0<256?p:(y|0)>0?y:0)&255)+202192|0]|(G[((m>>>0<256?m:(v|0)>0?v:0)&255)+202192|0]<<5|G[((n>>>0<256?n:(w|0)>0?w:0)&255)+202192|0]<<10))<<16|-2147450880;break p}f=G[u|0];Z=Z&7|(f>>>0>=31?31:f)<<3;m=Z;f=G[u+4|0];aa=aa&3|f<<5|f<<2;l=aa&255;f=l>>>8|0;n=l<<24;l=f;f=G[u+2|0];ua=ua&7|(f>>>0>=31?31:f)<<3;f=ua>>>16|0;n=ua<<16|n;l=f|l;f=G[u+1|0];pa=pa&7|(f>>>0>=31?31:f)<<3;f=pa>>>24|0;m=pa<<8|n|m;l=f|l;f=G[v|0]|G[v+1|0]<<8|(G[v+2|0]<<16|G[v+3|0]<<24);x=J+xa|0;k=(x<<3)+Qa|0;F[k>>2]=m;F[k+4>>2]=f|l;n=(G[u+4|0]<<4)+12752|0;f=F[n+(G[v+9|0]<<2)>>2];k=G[u+2|0];p=(k<<3|k>>>2)&255;k=f+p|0;l=(k|0)>=255?255:k;w=(l|0)>0?l:0;y=k>>>0<256;l=G[u+1|0];s=(l<<3|l>>>2)&255;l=s+f|0;m=(l|0)>=255?255:l;O=(m|0)>0?m:0;Q=l>>>0<256;m=f;f=G[u|0];u=(f<<3|f>>>2)&255;m=m+u|0;f=(m|0)>=255?255:m;ba=(f|0)>0?f:0;S=m>>>0<256;n=F[n+(G[v+8|0]<<2)>>2];f=n+p|0;p=(f|0)>=255?255:f;p=f>>>0<256?f:(p|0)>0?p:0;f=n+s|0;s=(f|0)>=255?255:f;s=f>>>0<256?f:(s|0)>0?s:0;f=n+u|0;n=(f|0)>=255?255:f;n=f>>>0<256?f:(n|0)>0?n:0;x=x<<2;f=x+r|0;u=F[ja+4>>2]+(H[f>>1]<<3)|0;v=(G[u+4|0]<<4)+12752|0;A=F[ja+16>>2]+L(H[f+2>>1],11)|0;f=G[u+1|0];ka=(f<<3|f>>>2)&255;f=F[v+(G[A+9|0]<<2)>>2]+ka|0;u=(f|0)>=255?255:f;u=f>>>0<256?f:(u|0)>0?u:0;f=ka+F[v+(G[A+8|0]<<2)>>2]|0;v=(f|0)>=255?255:f;f=(f>>>0<256?f:(v|0)>0?v:0)&255;ma:{if((f|0)!=255){f=G[(n&255)+201936|0]<<8|G[f+202704|0]<<12|G[(s&255)+201936|0]<<4|G[(p&255)+202960|0]<<1;break ma}f=G[(n&255)+201680|0]<<10|G[(s&255)+201680|0]<<5|G[(p&255)+201936|0]<<1|32768}k=y?k:w;l=Q?l:O;m=S?m:ba;n=x+yb|0;p=u&255;na:{if(p-239>>>0>=17){f=f&65535|(G[(k&255)+202448|0]|(G[(m&255)+202448|0]<<8|G[p+203216|0]<<12|G[(l&255)+202448|0]<<4))<<16;break na}f=f&65535|(G[(k&255)+202192|0]|(G[(l&255)+202192|0]<<5|G[(m&255)+202192|0]<<10))<<16|-2147483648}F[n>>2]=f;break p}k=L(J+wa|0,h)+b|0;m=G[u+4|0];f=G[u|0];n=G[v+8|0];l=G[v+9|0];if((n|0)!=(l|0)){s=0;oa:{pa:{switch(n|0){case 1:s=(l|0)==3?1:(l|0)==2?3:0;break oa;case 0:break pa;default:break oa}}s=((l|0)==2)<<1}f=f+(m<<5)<<4|s<<2;l=G[f+392225|0];E[k>>1]=l<<4&3840|l<<12|G[f+392224|0];p=H[f+392226>>1];l=G[v+3|0];f=p>>>L(l&3,3)&7;m=p>>>L(l>>>2&3,3)<<24&117440512|(p>>>L(l>>>4&3,3)<<12&28672|p>>>L(l>>>6|0,3)&7);l=G[v+2|0];u=m|(p>>>L(l>>>4&3,3)<<15&229376|p>>>L(l>>>6|0,3)<<3&56|p>>>L(l>>>2&3,3)<<27&939524096);m=f<<4;s=G[v+1|0];x=p>>>L(s>>>6|0,3)<<6&448;n=(p>>>L(l&3,3)&7)<<7;v=G[v|0];l=(p>>>L(v>>>2&3,3)&7)<<1;f=p>>>L(v&3,3)&7;v=p>>>L(v>>>4&3,3)<<21&14680064|p>>>L(v>>>6|0,3)<<9&3584;y=f<<13|l|(p>>>L(s&3,3)&7)<<10;l=p>>>L(s>>>2&3,3)&7;f=l>>>2|0;l=p>>>L(s>>>4&3,3)<<18&1835008|(l<<30|v)|x;p=m;m=f|y|n;f=p|m;l=l|u;D[k+7|0]=l;D[k+2|0]=m>>>8;D[k+6|0]=(f&255)<<24|l>>>8;D[k+5|0]=(f&65535)<<16|l>>>16;D[k+4|0]=(f&16777215)<<8|l>>>24;D[k+3|0]=f;break p}l=H[196104]|H[196105]<<16;E[k+2>>1]=l;E[k+4>>1]=l>>>16;E[k+6>>1]=H[196106];f=F[((m<<4)+(n<<2)|0)+12752>>2]+(f<<3|f>>>2)|0;l=(f|0)>=255?255:f;E[k>>1]=(f>>>0<256?f:(l|0)>0?l:0)&255|7424;break p}k=G[u+1|0];k=(k<<3|k>>>2)&255;f=G[u+4|0]<<4;l=k+F[f+12764>>2]|0;n=(l|0)>=255?255:l;l=L((l>>>0<256?l:(n|0)>0?n:0)&255,15)+128|0;E[t+38>>1]=(l>>>8|0)+l>>>8;l=k+F[f+12760>>2]|0;n=(l|0)>=255?255:l;l=L((l>>>0<256?l:(n|0)>0?n:0)&255,15)+128|0;E[t+36>>1]=(l>>>8|0)+l>>>8;l=k+F[f+12756>>2]|0;n=(l|0)>=255?255:l;l=L((l>>>0<256?l:(n|0)>0?n:0)&255,15)+128|0;E[t+34>>1]=(l>>>8|0)+l>>>8;f=k+F[f+12752>>2]|0;k=(f|0)>=255?255:f;f=L((f>>>0<256?f:(k|0)>0?k:0)&255,15)+128|0;E[t+32>>1]=(f>>>8|0)+f>>>8;if(!oa){break p}f=J<<2;k=o-f|0;n=(k|0)>=4?4:k;u=m&-2;w=m&1;f=(f+ca<<1)+b|0;x=0;while(1){qa:{if(!n){break qa}k=G[v+x|0];p=0;s=0;if((m|0)!=1){while(1){l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];l=l|2;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];p=p+2|0;s=s+2|0;if((u|0)!=(s|0)){continue}break}}if(!w){break qa}l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1]}f=f+da|0;x=x+1|0;if((ha|0)!=(x|0)){continue}break}break p}f=G[u+4|0]<<4;s=F[f+12764>>2];k=G[u+1|0];k=(k<<3|k>>>2)&255;l=s+k|0;x=(l|0)>=255?255:l;n=G[u|0];n=(n<<3|n>>>2)&255;p=n+s|0;w=(p|0)>=255?255:p;y=s;s=G[u+2|0];s=(s<<3|s>>>2)&255;u=y+s|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l&16128;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l<<4&61440;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+38>>1]=p|((l>>>8|0)+l&16128)>>>4|15;u=F[f+12760>>2];l=u+k|0;x=(l|0)>=255?255:l;p=n+u|0;w=(p|0)>=255?255:p;u=s+u|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l&16128;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l<<4&61440;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+36>>1]=p|((l>>>8|0)+l&16128)>>>4|15;u=F[f+12756>>2];l=u+k|0;x=(l|0)>=255?255:l;p=n+u|0;w=(p|0)>=255?255:p;u=s+u|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l&16128;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l<<4&61440;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+34>>1]=p|((l>>>8|0)+l&16128)>>>4|15;l=F[f+12752>>2];f=l+k|0;p=(f|0)>=255?255:f;k=l+n|0;n=(k|0)>=255?255:k;l=l+s|0;s=(l|0)>=255?255:l;f=L((f>>>0<256?f:(p|0)>0?p:0)&255,15)+128|0;p=(f>>>8|0)+f&16128;f=L((k>>>0<256?k:(n|0)>0?n:0)&255,15)+128|0;k=p|(f>>>8|0)+f<<4&61440;f=L((l>>>0<256?l:(s|0)>0?s:0)&255,15)+128|0;E[t+32>>1]=k|((f>>>8|0)+f&16128)>>>4|15;if(!oa){break p}f=J<<2;k=o-f|0;n=(k|0)>=4?4:k;u=m&-2;w=m&1;f=(f+ca<<1)+b|0;x=0;while(1){ra:{if(!n){break ra}k=G[v+x|0];p=0;s=0;if((m|0)!=1){while(1){l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];l=l|2;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1];p=p+2|0;s=s+2|0;if((u|0)!=(s|0)){continue}break}}if(!w){break ra}l=p<<1;E[l+f>>1]=H[(t+32|0)+((k>>>l&3)<<1)>>1]}f=f+da|0;x=x+1|0;if((ha|0)!=(x|0)){continue}break}break p}k=L(J+wa|0,h)+b|0;m=G[u+4|0];f=G[u|0];n=G[v+8|0];l=G[v+9|0];if((n|0)!=(l|0)){s=0;sa:{ta:{switch(n|0){case 1:s=(l|0)==3?1:(l|0)==2?3:0;break sa;case 0:break ta;default:break sa}}s=((l|0)==2)<<1}f=f+(m<<5)<<4|s<<2;l=G[f+203473|0];E[k>>1]=l<<4&3840|l<<12|G[f+203472|0];p=H[f+203474>>1];l=G[v+3|0];f=p>>>L(l&3,3)&7;m=p>>>L(l>>>2&3,3)<<24&117440512|(p>>>L(l>>>4&3,3)<<12&28672|p>>>L(l>>>6|0,3)&7);l=G[v+2|0];u=m|(p>>>L(l>>>4&3,3)<<15&229376|p>>>L(l>>>6|0,3)<<3&56|p>>>L(l>>>2&3,3)<<27&939524096);m=f<<4;s=G[v+1|0];x=p>>>L(s>>>6|0,3)<<6&448;n=(p>>>L(l&3,3)&7)<<7;v=G[v|0];l=(p>>>L(v>>>2&3,3)&7)<<1;f=p>>>L(v&3,3)&7;v=p>>>L(v>>>4&3,3)<<21&14680064|p>>>L(v>>>6|0,3)<<9&3584;y=f<<13|l|(p>>>L(s&3,3)&7)<<10;l=p>>>L(s>>>2&3,3)&7;f=l>>>2|0;l=p>>>L(s>>>4&3,3)<<18&1835008|(l<<30|v)|x;p=m;m=f|y|n;f=p|m;l=l|u;D[k+7|0]=l;D[k+2|0]=m>>>8;D[k+6|0]=(f&255)<<24|l>>>8;D[k+5|0]=(f&65535)<<16|l>>>16;D[k+4|0]=(f&16777215)<<8|l>>>24;D[k+3|0]=f;break p}l=H[196104]|H[196105]<<16;E[k+2>>1]=l;E[k+4>>1]=l>>>16;E[k+6>>1]=H[196106];f=F[((m<<4)+(n<<2)|0)+12752>>2]+(f<<3|f>>>2)|0;l=(f|0)>=255?255:f;E[k>>1]=(f>>>0<256?f:(l|0)>0?l:0)&255|7424;break p}D[t+40|0]=0;D[t+41|0]=0;k=L(J+wa|0,h)+b|0;x=255;m=1;ua:{if(!q){break ua}w=n+L(H[k+2>>1],11)|0;m=G[w+10|0];if((m|0)!=1){break ua}l=s+(H[k>>1]<<3)|0;f=G[l+4|0]<<4;l=G[l+1|0];l=l<<3|l>>>2;m=F[f+12764>>2]+l|0;p=(m|0)>=255?255:m;F[t+124>>2]=m>>>0<256?m:(p|0)>0?p:0;m=l+F[f+12760>>2]|0;p=(m|0)>=255?255:m;F[t+120>>2]=m>>>0<256?m:(p|0)>0?p:0;m=l+F[f+12756>>2]|0;p=(m|0)>=255?255:m;F[t+116>>2]=m>>>0<256?m:(p|0)>0?p:0;f=l+F[f+12752>>2]|0;l=(f|0)>=255?255:f;F[t+112>>2]=f>>>0<256?f:(l|0)>0?l:0;x=F[(t+112|0)+(G[w+8|0]<<2)>>2];m=1}l=G[v+9|0];f=G[v+8|0];p=G[u+4|0];w=G[v+10|0];if(!((m|0)==1&(w|0)==1)){if(!(w>>>0<3&m>>>0<=2)){va:{if(!q){D[t+73|0]=0;D[t+71|0]=0;D[t+69|0]=0;D[t+67|0]=0;D[t+65|0]=0;D[t+63|0]=0;D[t+61|0]=0;D[t+59|0]=0;D[t+57|0]=0;D[t+55|0]=0;D[t+53|0]=0;D[t+51|0]=0;D[t+49|0]=0;D[t+47|0]=0;D[t+45|0]=0;D[t+43|0]=0;D[t+38|0]=1;D[t+39|0]=1;break va}s=s+(H[k>>1]<<3)|0;m=G[s+4|0];n=n+L(H[k+2>>1],11)|0;x=G[n+8|0];w=G[n+9|0];if((x|0)!=(w|0)){wa:{if(!(x|((w|0)!=3|m>>>0<7))){if(G[n+10|0]==2){break wa}}w=F[((x<<4)+(w<<2)|0)+428448>>2];s=G[s+1|0];x=G[(w+(L(s,48)+L(m,6)|0)|0)+426912|0]<<2;m=H[(x+(L(s+(m<<5)|0,60)+L(w,10)<<2)|0)+13232>>1];D[t+38|0]=m;D[t+39|0]=m>>>8;m=x+330720|0;s=G[n|0];D[t+49|0]=G[m+(s>>>6|0)|0];D[t+43|0]=G[m+(s&3)|0];D[t+47|0]=G[m+(s>>>4&3)|0];D[t+45|0]=G[m+(s>>>2&3)|0];s=G[n+1|0];D[t+57|0]=G[m+(s>>>6|0)|0];D[t+51|0]=G[m+(s&3)|0];D[t+55|0]=G[m+(s>>>4&3)|0];D[t+53|0]=G[m+(s>>>2&3)|0];s=G[n+2|0];D[t+65|0]=G[m+(s>>>6|0)|0];D[t+59|0]=G[m+(s&3)|0];D[t+63|0]=G[m+(s>>>4&3)|0];D[t+61|0]=G[m+(s>>>2&3)|0];n=G[n+3|0];D[t+73|0]=G[m+(n>>>6|0)|0];D[t+67|0]=G[m+(n&3)|0];D[t+71|0]=G[m+(n>>>4&3)|0];D[t+69|0]=G[m+(n>>>2&3)|0];break va}Yb(t+112|0,s,m);D[t+38|0]=G[G[t+113|0]+429216|0];D[t+39|0]=G[G[t+125|0]+429216|0];m=G[n|0];D[t+49|0]=(m&192)==192?3:0;D[t+47|0]=(m&48)==48?3:0;D[t+45|0]=(m&12)==12?3:0;D[t+43|0]=(m&3)==3?3:0;m=G[n+1|0];D[t+57|0]=(m&192)==192?3:0;D[t+55|0]=(m&48)==48?3:0;D[t+53|0]=(m&12)==12?3:0;D[t+51|0]=(m&3)==3?3:0;m=G[n+2|0];D[t+65|0]=(m&192)==192?3:0;D[t+63|0]=(m&48)==48?3:0;D[t+61|0]=(m&12)==12?3:0;D[t+59|0]=(m&3)==3?3:0;m=G[n+3|0];D[t+73|0]=(m&192)==192?3:0;D[t+71|0]=(m&48)==48?3:0;D[t+69|0]=(m&12)==12?3:0;D[t+67|0]=(m&3)==3?3:0;break va}n=G[s+1|0];n=n<<3|n>>>2;m=m<<4;s=n+F[m+12764>>2]|0;w=(s|0)>=255?255:s;F[t+124>>2]=s>>>0<256?s:(w|0)>0?w:0;s=n+F[m+12760>>2]|0;w=(s|0)>=255?255:s;F[t+120>>2]=s>>>0<256?s:(w|0)>0?w:0;s=n+F[m+12756>>2]|0;w=(s|0)>=255?255:s;F[t+116>>2]=s>>>0<256?s:(w|0)>0?w:0;m=n+F[m+12752>>2]|0;n=(m|0)>=255?255:m;F[t+112>>2]=m>>>0<256?m:(n|0)>0?n:0;m=F[(t+112|0)+(x<<2)>>2]<<1;D[t+38|0]=G[m+428704|0];D[t+39|0]=G[m+428705|0];D[t+43|0]=1;D[t+45|0]=1;D[t+47|0]=1;D[t+49|0]=1;D[t+51|0]=1;D[t+53|0]=1;D[t+55|0]=1;D[t+57|0]=1;D[t+59|0]=1;D[t+61|0]=1;D[t+63|0]=1;D[t+65|0]=1;D[t+67|0]=1;D[t+69|0]=1;D[t+71|0]=1;D[t+73|0]=1}xa:{if((f|0)!=(l|0)){ya:{if(!(G[v+8|0]|(G[v+10|0]!=2|p>>>0<7))){if(G[v+9|0]==3){break ya}}n=L(F[((f<<4)+(l<<2)|0)+428448>>2],10);m=p<<5;f=n+L(m+G[u+2|0]|0,60)<<2;l=n+L(m+G[u+1|0]|0,60)<<2;m=n+L(m+G[u|0]|0,60)<<2;p=H[f+13238>>1]+(H[l+13238>>1]+H[m+13238>>1]|0)|0;s=H[f+13234>>1]+(H[l+13234>>1]+H[m+13234>>1]|0)|0;n=p>>>0>>0;y=f;A=n;u=H[f+13242>>1]+(H[l+13242>>1]+H[m+13242>>1]|0)|0;n=n?p:s;p=u>>>0>>0;A=p?2:A;s=H[f+13246>>1]+(H[l+13246>>1]+H[m+13246>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?3:A;u=H[f+13250>>1]+(H[l+13250>>1]+H[m+13250>>1]|0)|0;n=p?s:n;p=u>>>0>>0;A=p?4:A;s=H[f+13254>>1]+(H[l+13254>>1]+H[m+13254>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?5:A;u=H[f+13258>>1]+(H[l+13258>>1]+H[m+13258>>1]|0)|0;n=p?s:n;p=u>>>0>>0;A=p?6:A;s=H[f+13262>>1]+(H[l+13262>>1]+H[m+13262>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?7:A;u=H[f+13266>>1]+(H[l+13266>>1]+H[m+13266>>1]|0)|0;n=p?s:n;p=u>>>0>>0;f=(H[f+13270>>1]+(H[l+13270>>1]+H[m+13270>>1]|0)>>>0<(p?u:n)>>>0?9:p?8:A)<<2;p=y+f|0;n=G[p+13233|0];D[t+37|0]=n;p=G[p+13232|0];D[t+36|0]=p;s=f+l|0;l=G[s+13233|0];D[t+35|0]=l;s=G[s+13232|0];D[t+34|0]=s;u=f+m|0;m=G[u+13233|0];D[t+33|0]=m;u=G[u+13232|0];D[t+32|0]=u;if((F[(n<<2)+428512>>2]+(F[(l<<2)+428512>>2]+F[(m<<2)+428512>>2]|0)|0)>=(F[(p<<2)+428512>>2]+(F[(s<<2)+428512>>2]+F[(u<<2)+428512>>2]|0)|0)){f=f+330720|0;l=G[v|0];D[t+48|0]=G[f+(l>>>6|0)|0];D[t+42|0]=G[f+(l&3)|0];D[t+46|0]=G[f+(l>>>4&3)|0];D[t+44|0]=G[f+(l>>>2&3)|0];l=G[v+1|0];D[t+56|0]=G[f+(l>>>6|0)|0];D[t+50|0]=G[f+(l&3)|0];D[t+54|0]=G[f+(l>>>4&3)|0];D[t+52|0]=G[f+(l>>>2&3)|0];l=G[v+2|0];D[t+64|0]=G[f+(l>>>6|0)|0];D[t+58|0]=G[f+(l&3)|0];D[t+62|0]=G[f+(l>>>4&3)|0];D[t+60|0]=G[f+(l>>>2&3)|0];l=G[v+3|0];D[t+72|0]=G[f+(l>>>6|0)|0];D[t+66|0]=G[f+(l&3)|0];D[t+70|0]=G[f+(l>>>4&3)|0];D[t+68|0]=G[f+(l>>>2&3)|0];break xa}D[t+37|0]=p;D[t+36|0]=n;D[t+35|0]=s;D[t+34|0]=l;D[t+33|0]=u;D[t+32|0]=m;f=f+330720|0;l=G[v|0];D[t+48|0]=3-G[f+(l>>>6|0)|0];D[t+42|0]=3-G[f+(l&3)|0];D[t+46|0]=3-G[f+(l>>>4&3)|0];D[t+44|0]=3-G[f+(l>>>2&3)|0];l=G[v+1|0];D[t+56|0]=3-G[f+(l>>>6|0)|0];D[t+50|0]=3-G[f+(l&3)|0];D[t+54|0]=3-G[f+(l>>>4&3)|0];D[t+52|0]=3-G[f+(l>>>2&3)|0];l=G[v+2|0];D[t+64|0]=3-G[f+(l>>>6|0)|0];D[t+58|0]=3-G[f+(l&3)|0];D[t+62|0]=3-G[f+(l>>>4&3)|0];D[t+60|0]=3-G[f+(l>>>2&3)|0];l=G[v+3|0];D[t+72|0]=3-G[f+(l>>>6|0)|0];D[t+66|0]=3-G[f+(l&3)|0];D[t+70|0]=3-G[f+(l>>>4&3)|0];D[t+68|0]=3-G[f+(l>>>2&3)|0];break xa}Yb(t+112|0,u,p);l=G[G[t+112|0]+429216|0];D[t+32|0]=l;m=G[G[t+124|0]+429216|0];D[t+33|0]=m;n=G[G[t+113|0]+429216|0];D[t+34|0]=n;p=G[G[t+125|0]+429216|0];D[t+35|0]=p;s=G[G[t+114|0]+429216|0];D[t+36|0]=s;u=G[G[t+126|0]+429216|0];D[t+37|0]=u;if((F[(u<<2)+428512>>2]+(F[(p<<2)+428512>>2]+F[(m<<2)+428512>>2]|0)|0)>=(F[(s<<2)+428512>>2]+(F[(n<<2)+428512>>2]+F[(l<<2)+428512>>2]|0)|0)){l=G[v|0];D[t+48|0]=(f|0)!=(l>>>6|0)?3:0;D[t+42|0]=(f|0)!=(l&3)?3:0;D[t+46|0]=(f|0)!=(l>>>4&3)?3:0;D[t+44|0]=(f|0)!=(l>>>2&3)?3:0;l=G[v+1|0];D[t+56|0]=(f|0)!=(l>>>6|0)?3:0;D[t+50|0]=(f|0)!=(l&3)?3:0;D[t+54|0]=(f|0)!=(l>>>4&3)?3:0;D[t+52|0]=(f|0)!=(l>>>2&3)?3:0;l=G[v+2|0];D[t+64|0]=(f|0)!=(l>>>6|0)?3:0;D[t+58|0]=(f|0)!=(l&3)?3:0;D[t+62|0]=(f|0)!=(l>>>4&3)?3:0;D[t+60|0]=(f|0)!=(l>>>2&3)?3:0;l=G[v+3|0];D[t+66|0]=(f|0)!=(l&3)?3:0;D[t+70|0]=(f|0)!=(l>>>4&3)?3:0;D[t+68|0]=(f|0)!=(l>>>2&3)?3:0;D[t+72|0]=(f|0)!=(l>>>6|0)?3:0;break xa}D[t+37|0]=s;D[t+36|0]=u;D[t+35|0]=n;D[t+34|0]=p;D[t+33|0]=l;D[t+32|0]=m;l=G[v|0];D[t+48|0]=(f|0)==(l>>>6|0)?3:0;D[t+42|0]=(f|0)==(l&3)?3:0;D[t+46|0]=(f|0)==(l>>>4&3)?3:0;D[t+44|0]=(f|0)==(l>>>2&3)?3:0;l=G[v+1|0];D[t+56|0]=(f|0)==(l>>>6|0)?3:0;D[t+50|0]=(f|0)==(l&3)?3:0;D[t+54|0]=(f|0)==(l>>>4&3)?3:0;D[t+52|0]=(f|0)==(l>>>2&3)?3:0;l=G[v+2|0];D[t+64|0]=(f|0)==(l>>>6|0)?3:0;D[t+58|0]=(f|0)==(l&3)?3:0;D[t+62|0]=(f|0)==(l>>>4&3)?3:0;D[t+60|0]=(f|0)==(l>>>2&3)?3:0;l=G[v+3|0];D[t+66|0]=(f|0)==(l&3)?3:0;D[t+70|0]=(f|0)==(l>>>4&3)?3:0;D[t+68|0]=(f|0)==(l>>>2&3)?3:0;D[t+72|0]=(f|0)==(l>>>6|0)?3:0;break xa}s=G[u|0];v=G[u+1|0];l=p<<4;x=F[l+12764>>2];m=G[u+2|0];m=(m<<3|m>>>2)&255;n=x+m|0;p=(n|0)>=255?255:n;D[t+126|0]=n>>>0<256?n:(p|0)>0?p:0;n=(v<<3|v>>>2)&255;p=n+x|0;v=(p|0)>=255?255:p;D[t+125|0]=p>>>0<256?p:(v|0)>0?v:0;p=(s<<3|s>>>2)&255;s=p+x|0;v=(s|0)>=255?255:s;D[t+124|0]=s>>>0<256?s:(v|0)>0?v:0;v=F[l+12760>>2];s=v+m|0;u=(s|0)>=255?255:s;D[t+122|0]=s>>>0<256?s:(u|0)>0?u:0;s=n+v|0;u=(s|0)>=255?255:s;D[t+121|0]=s>>>0<256?s:(u|0)>0?u:0;s=p+v|0;v=(s|0)>=255?255:s;D[t+120|0]=s>>>0<256?s:(v|0)>0?v:0;v=F[l+12756>>2];s=v+m|0;u=(s|0)>=255?255:s;D[t+118|0]=s>>>0<256?s:(u|0)>0?u:0;s=n+v|0;u=(s|0)>=255?255:s;D[t+117|0]=s>>>0<256?s:(u|0)>0?u:0;s=p+v|0;v=(s|0)>=255?255:s;D[t+116|0]=s>>>0<256?s:(v|0)>0?v:0;s=m;m=F[l+12752>>2];l=s+m|0;s=(l|0)>=255?255:l;D[t+114|0]=l>>>0<256?l:(s|0)>0?s:0;l=m+n|0;n=(l|0)>=255?255:l;D[t+113|0]=l>>>0<256?l:(n|0)>0?n:0;l=m+p|0;m=(l|0)>=255?255:l;D[t+112|0]=l>>>0<256?l:(m|0)>0?m:0;p=1;f=(t+112|0)+(f<<2)|0;m=G[f|0]<<1;l=G[m+428704|0];D[t+32|0]=l;m=G[m+428705|0];D[t+33|0]=m;s=G[f+1|0]<<1;n=G[s+428704|0];D[t+34|0]=n;s=G[s+428705|0];D[t+35|0]=s;v=G[f+2|0]<<1;f=G[v+428704|0];D[t+36|0]=f;v=G[v+428705|0];D[t+37|0]=v;if((F[(v<<2)+428512>>2]+(F[(s<<2)+428512>>2]+F[(m<<2)+428512>>2]|0)|0)<(F[(f<<2)+428512>>2]+(F[(n<<2)+428512>>2]+F[(l<<2)+428512>>2]|0)|0)){D[t+37|0]=f;D[t+36|0]=v;D[t+35|0]=n;D[t+34|0]=s;D[t+33|0]=l;D[t+32|0]=m;p=2}D[t+72|0]=p;D[t+70|0]=p;D[t+68|0]=p;D[t+66|0]=p;D[t+64|0]=p;D[t+62|0]=p;D[t+60|0]=p;D[t+58|0]=p;D[t+56|0]=p;D[t+54|0]=p;D[t+52|0]=p;D[t+50|0]=p;D[t+48|0]=p;D[t+46|0]=p;D[t+44|0]=p;D[t+42|0]=p}F[k+8>>2]=0;F[k+12>>2]=0;D[k+7|0]=192;p=0;D[k+3|0]=0;D[k+4|0]=0;D[k+5|0]=0;D[k+6|0]=0;D[k+2|0]=1;D[k|0]=66;D[k+1|0]=132;F[t+112>>2]=17;f=t+112|0;Vb(k,t+32|0,f,4);Vb(k,vb,f,4);while(1){f=126-(p<<1)|0;l=k+(f>>>3|0)|0;m=l;n=G[l|0];l=t+42|0;D[m|0]=n|G[G[l+p|0]+207568|0]<<(f&6);f=p|1;m=126-(f<<1)|0;n=k+(m>>>3|0)|0;D[n|0]=G[n|0]|G[G[f+l|0]+207568|0]<<(m&4);p=p+2|0;if((p|0)!=32){continue}break}break p}w=G[u|0];x=G[u+1|0];u=G[u+2|0];D[t+127|0]=255;D[t+123|0]=255;D[t+119|0]=255;D[t+115|0]=255;m=p<<4;y=F[m+12764>>2];p=(u<<3|u>>>2)&255;u=y+p|0;O=(u|0)>=255?255:u;D[t+126|0]=u>>>0<256?u:(O|0)>0?O:0;u=(x<<3|x>>>2)&255;x=u+y|0;O=(x|0)>=255?255:x;D[t+125|0]=x>>>0<256?x:(O|0)>0?O:0;x=(w<<3|w>>>2)&255;w=x+y|0;y=(w|0)>=255?255:w;D[t+124|0]=w>>>0<256?w:(y|0)>0?y:0;y=F[m+12760>>2];w=y+p|0;O=(w|0)>=255?255:w;D[t+122|0]=w>>>0<256?w:(O|0)>0?O:0;w=u+y|0;O=(w|0)>=255?255:w;D[t+121|0]=w>>>0<256?w:(O|0)>0?O:0;w=x+y|0;y=(w|0)>=255?255:w;D[t+120|0]=w>>>0<256?w:(y|0)>0?y:0;y=F[m+12756>>2];w=y+p|0;O=(w|0)>=255?255:w;D[t+118|0]=w>>>0<256?w:(O|0)>0?O:0;w=u+y|0;O=(w|0)>=255?255:w;D[t+117|0]=w>>>0<256?w:(O|0)>0?O:0;w=x+y|0;y=(w|0)>=255?255:w;D[t+116|0]=w>>>0<256?w:(y|0)>0?y:0;y=p;p=F[m+12752>>2];m=y+p|0;w=(m|0)>=255?255:m;D[t+114|0]=m>>>0<256?m:(w|0)>0?w:0;m=p+u|0;u=(m|0)>=255?255:m;D[t+113|0]=m>>>0<256?m:(u|0)>0?u:0;m=p+x|0;p=(m|0)>=255?255:m;D[t+112|0]=m>>>0<256?m:(p|0)>0?p:0;u=t+112|0;f=u+(f<<2)|0;m=G[f|0];D[t+32|0]=m;p=G[f+1|0];D[t+34|0]=p;f=G[f+2|0];D[t+36|0]=f;u=u+(l<<2)|0;x=G[u|0];D[t+33|0]=x;w=G[u+1|0];D[t+35|0]=w;u=G[u+2|0];D[t+37|0]=u;y=u+(w+x|0)|0;O=f+(m+p|0)|0;if(y>>>0>>0){D[t+37|0]=f;D[t+36|0]=u;D[t+35|0]=p;D[t+34|0]=w;D[t+33|0]=m;D[t+32|0]=x}za:{if(!q){D[t+73|0]=0;D[t+71|0]=0;D[t+69|0]=0;D[t+67|0]=0;D[t+65|0]=0;D[t+63|0]=0;D[t+61|0]=0;D[t+59|0]=0;D[t+57|0]=0;D[t+55|0]=0;D[t+53|0]=0;D[t+51|0]=0;D[t+49|0]=0;D[t+47|0]=0;D[t+45|0]=0;D[t+43|0]=0;D[t+38|0]=255;D[t+39|0]=255;break za}m=n+L(H[k+2>>1],11)|0;f=G[m+9|0];x=G[m+8|0];p=s+(H[k>>1]<<3)|0;n=G[p+4|0]<<4;p=G[p+1|0];p=p<<3|p>>>2;s=F[n+12764>>2]+p|0;u=(s|0)>=255?255:s;F[t+108>>2]=s>>>0<256?s:(u|0)>0?u:0;s=p+F[n+12760>>2]|0;u=(s|0)>=255?255:s;F[t+104>>2]=s>>>0<256?s:(u|0)>0?u:0;s=p+F[n+12756>>2]|0;u=(s|0)>=255?255:s;F[t+100>>2]=s>>>0<256?s:(u|0)>0?u:0;n=p+F[n+12752>>2]|0;p=(n|0)>=255?255:n;F[t+96>>2]=n>>>0<256?n:(p|0)>0?p:0;n=t+96|0;D[t+38|0]=F[n+(x<<2)>>2];D[t+39|0]=F[n+(f<<2)>>2];n=G[m|0];D[t+49|0]=(f|0)==(n>>>6|0);D[t+43|0]=(f|0)==(n&3);D[t+47|0]=(f|0)==(n>>>4&3);D[t+45|0]=(f|0)==(n>>>2&3);n=G[m+1|0];D[t+57|0]=(f|0)==(n>>>6|0);D[t+51|0]=(f|0)==(n&3);D[t+55|0]=(f|0)==(n>>>4&3);D[t+53|0]=(f|0)==(n>>>2&3);n=G[m+2|0];D[t+65|0]=(f|0)==(n>>>6|0);D[t+59|0]=(f|0)==(n&3);D[t+63|0]=(f|0)==(n>>>4&3);D[t+61|0]=(f|0)==(n>>>2&3);m=G[m+3|0];D[t+73|0]=(f|0)==(m>>>6|0);D[t+67|0]=(f|0)==(m&3);D[t+71|0]=(f|0)==(m>>>4&3);D[t+69|0]=(f|0)==(m>>>2&3)}f=y>>>0>>0;m=G[v|0];D[t+48|0]=f^(l|0)==(m>>>6|0);D[t+42|0]=f^(l|0)==(m&3);D[t+46|0]=f^(l|0)==(m>>>4&3);D[t+44|0]=f^(l|0)==(m>>>2&3);m=G[v+1|0];D[t+56|0]=f^(l|0)==(m>>>6|0);D[t+50|0]=f^(l|0)==(m&3);D[t+54|0]=f^(l|0)==(m>>>4&3);D[t+52|0]=f^(l|0)==(m>>>2&3);m=G[v+2|0];D[t+64|0]=f^(l|0)==(m>>>6|0);D[t+58|0]=f^(l|0)==(m&3);D[t+62|0]=f^(l|0)==(m>>>4&3);D[t+60|0]=f^(l|0)==(m>>>2&3);m=G[v+3|0];D[t+72|0]=f^(l|0)==(m>>>6|0);D[t+66|0]=f^(l|0)==(m&3);D[t+70|0]=f^(l|0)==(m>>>4&3);D[t+68|0]=f^(l|0)==(m>>>2&3);F[k+12>>2]=0;D[k+11|0]=192;D[k+3|0]=0;D[k+4|0]=0;D[k+5|0]=0;D[k+6|0]=0;D[k+7|0]=0;D[k+8|0]=0;D[k+9|0]=0;D[k+10|0]=0;D[k+2|0]=1;D[k|0]=65;D[k+1|0]=132;f=8;p=17;m=G[t+32|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+33|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+34|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+35|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+36|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+37|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+38|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}f=8;m=G[t+39|0];while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}p=0;while(1){f=127-p|0;l=k+(f>>>3|0)|0;m=l;n=G[l|0];l=t+42|0;D[m|0]=n|G[l+p|0]<<(f&7);f=p|1;m=127-f|0;n=k+(m>>>3|0)|0;D[n|0]=G[n|0]|G[f+l|0]<<(m&6);p=p+2|0;if((p|0)!=32){continue}break}break p}n=G[u+1|0];l=G[u+2|0];m=G[u|0];F[k+12>>2]=0;F[k+4>>2]=-1;F[k+8>>2]=0;D[k|0]=252;D[k+1|0]=253;D[k+2|0]=255;D[k+3|0]=255;p=F[((p<<4)+(f<<2)|0)+12752>>2];f=p+(m<<3|m>>>2)|0;m=(f|0)>=255?255:f;f=f>>>0<256?f:(m|0)>0?m:0;m=f<<8|f;l=p+(l<<3|l>>>2)|0;s=(l|0)>=255?255:l;n=p+(n<<3|n>>>2)|0;v=(n|0)>=255?255:n;f=16;p=64;while(1){u=k+(p>>3)|0;y=u;A=G[u|0];u=p&7;D[y|0]=A|m<>>u|0;p=p+u|0;f=f-u|0;if(f){continue}break}f=n>>>0<256?n:(v|0)>0?v:0;m=f<<8|f;f=16;while(1){n=k+(p>>3)|0;u=n;y=G[n|0];n=p&7;D[u|0]=y|m<>>n|0;p=n+p|0;f=f-n|0;if(f){continue}break}f=l>>>0<256?l:(s|0)>0?s:0;m=f<<8|f;f=16;while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}m=x<<8|x;f=16;while(1){l=k+(p>>3)|0;n=l;s=G[l|0];l=p&7;D[n|0]=s|m<>>l|0;p=l+p|0;f=f-l|0;if(f){continue}break}break p}f=L(J+wa|0,h)+b|0;k=G[u+4|0];l=G[v+8|0];m=G[v+9|0];if((l|0)!=(m|0)){Aa:{if(!(l|((m|0)!=3|k>>>0<7))){if(G[v+10|0]==2){break Aa}}m=L(F[((l<<4)+(m<<2)|0)+432544>>2],10);n=k<<5;k=m+L(n+G[u+2|0]|0,60)<<2;l=m+L(n+G[u+1|0]|0,60)<<2;m=m+L(n+G[u|0]|0,60)<<2;p=H[k+207846>>1]+(H[l+269286>>1]+H[m+207846>>1]|0)|0;s=H[k+207842>>1]+(H[l+269282>>1]+H[m+207842>>1]|0)|0;n=p>>>0>>0;y=k;A=n;u=H[k+207850>>1]+(H[l+269290>>1]+H[m+207850>>1]|0)|0;n=n?p:s;p=u>>>0>>0;A=p?2:A;s=H[k+207854>>1]+(H[l+269294>>1]+H[m+207854>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?3:A;u=H[k+207858>>1]+(H[l+269298>>1]+H[m+207858>>1]|0)|0;n=p?s:n;p=u>>>0>>0;A=p?4:A;s=H[k+207862>>1]+(H[l+269302>>1]+H[m+207862>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?5:A;u=H[k+207866>>1]+(H[l+269306>>1]+H[m+207866>>1]|0)|0;n=p?s:n;p=u>>>0>>0;A=p?6:A;s=H[k+207870>>1]+(H[l+269310>>1]+H[m+207870>>1]|0)|0;n=p?u:n;p=s>>>0>>0;A=p?7:A;u=H[k+207874>>1]+(H[l+269314>>1]+H[m+207874>>1]|0)|0;n=p?s:n;p=u>>>0>>0;n=H[k+207878>>1]+(H[l+269318>>1]+H[m+207878>>1]|0)>>>0<(p?u:n)>>>0?9:p?8:A;k=n<<2;p=y+k|0;l=k+l|0;s=G[l+269281|0]<<5;D[f+2|0]=G[p+207841|0]|s;l=G[l+269280|0]<<5;D[f|0]=l|G[p+207840|0];m=k+m|0;D[f+3|0]=(s|G[m+207841|0]<<11)>>>8;D[f+1|0]=(l|G[m+207840|0]<<10)>>>8;if((n|0)!=6){l=G[v|0];m=G[v+1|0];n=G[v+2|0];k=k+330720|0;p=G[v+3|0];D[f+7|0]=G[k+(p>>>2&3)|0]<<2|G[k+(p&3)|0]|G[k+(p>>>4&3)|0]<<4|G[k+(p>>>6|0)|0]<<6;D[f+6|0]=G[k+(n&3)|0]|G[k+(n>>>2&3)|0]<<2|G[k+(n>>>4&3)|0]<<4|G[k+(n>>>6|0)|0]<<6;D[f+5|0]=G[k+(m&3)|0]|G[k+(m>>>2&3)|0]<<2|G[k+(m>>>4&3)|0]<<4|G[k+(m>>>6|0)|0]<<6;D[f+4|0]=G[k+(l&3)|0]|G[k+(l>>>2&3)|0]<<2|G[k+(l>>>4&3)|0]<<4|G[k+(l>>>6|0)|0]<<6;break p}D[f+4|0]=G[v|0];D[f+5|0]=G[v+1|0];D[f+6|0]=G[v+2|0];D[f+7|0]=G[v+3|0];break p}p=k<<4;l=F[p+12752>>2];k=G[u|0];s=(k<<3|k>>>2)&255;k=l+s|0;m=(k|0)>=255?255:k;x=G[(((k>>>0<256?k:(m|0)>0?m:0)&255)<<1)+431521|0];k=G[u+1|0];w=(k<<3|k>>>2)&255;k=w+l|0;m=(k|0)>=255?255:k;n=l;l=G[u+2|0];u=(l<<3|l>>>2)&255;l=n+u|0;n=(l|0)>=255?255:l;k=G[(((k>>>0<256?k:(m|0)>0?m:0)&255)<<1)+431521|0]<<5;D[f|0]=k|G[(((l>>>0<256?l:(n|0)>0?n:0)&255)<<1)+431521|0];D[f+1|0]=(k|x<<10)>>>8;l=F[p+12764>>2];k=l+s|0;m=(k|0)>=255?255:k;p=G[(((k>>>0<256?k:(m|0)>0?m:0)&255)<<1)+431521|0];k=l+w|0;m=(k|0)>=255?255:k;l=l+u|0;n=(l|0)>=255?255:l;k=G[(((k>>>0<256?k:(m|0)>0?m:0)&255)<<1)+432033|0]<<5;D[f+2|0]=k|G[(((l>>>0<256?l:(n|0)>0?n:0)&255)<<1)+431521|0];D[f+3|0]=(k|p<<11)>>>8;D[f+4|0]=G[v|0];D[f+5|0]=G[v+1|0];D[f+6|0]=G[v+2|0];D[f+7|0]=G[v+3|0];break p}l=F[((k<<4)+(l<<2)|0)+12752>>2];m=G[u|0];k=l+(m<<3|m>>>2)|0;m=(k|0)>=255?255:k;p=(k>>>0<256?k:(m|0)>0?m:0)<<1;s=G[p+429984|0];k=G[u+1|0];k=l+(k<<3|k>>>2)|0;m=(k|0)>=255?255:k;n=G[u+2|0];l=l+(n<<3|n>>>2)|0;n=(l|0)>=255?255:l;k=(k>>>0<256?k:(m|0)>0?m:0)<<1;m=G[k+430496|0]<<5;l=(l>>>0<256?l:(n|0)>0?n:0)<<1;D[f|0]=m|G[l+429984|0];D[f+1|0]=(m|s<<10)>>>8;m=G[p+429985|0];l=G[l+429985|0];k=G[k+430497|0];D[f+4|0]=85;D[f+5|0]=85;D[f+6|0]=85;D[f+7|0]=85;k=k<<5;D[f+2|0]=k|l;D[f+3|0]=(k|m<<11)>>>8;break p}f=G[u+4|0]<<4;s=F[f+12764>>2];k=G[u|0];k=(k<<3|k>>>2)&255;l=s+k|0;x=(l|0)>=255?255:l;n=G[u+1|0];n=(n<<3|n>>>2)&255;p=n+s|0;w=(p|0)>=255?255:p;y=s;s=G[u+2|0];s=(s<<3|s>>>2)&255;u=y+s|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l<<4&61440;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l&16128;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+38>>1]=p|(l>>>8|0)+l>>>4&1008;u=F[f+12760>>2];l=u+k|0;x=(l|0)>=255?255:l;p=n+u|0;w=(p|0)>=255?255:p;u=s+u|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l<<4&61440;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l&16128;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+36>>1]=p|(l>>>8|0)+l>>>4&1008;u=F[f+12756>>2];l=u+k|0;x=(l|0)>=255?255:l;p=n+u|0;w=(p|0)>=255?255:p;u=s+u|0;y=(u|0)>=255?255:u;l=L((l>>>0<256?l:(x|0)>0?x:0)&255,15)+128|0;A=(l>>>8|0)+l<<4&61440;l=L((p>>>0<256?p:(w|0)>0?w:0)&255,15)+128|0;p=A|(l>>>8|0)+l&16128;l=L((u>>>0<256?u:(y|0)>0?y:0)&255,15)+128|0;E[t+34>>1]=p|(l>>>8|0)+l>>>4&1008;l=F[f+12752>>2];f=l+k|0;p=(f|0)>=255?255:f;k=l+n|0;n=(k|0)>=255?255:k;l=l+s|0;s=(l|0)>=255?255:l;f=L((f>>>0<256?f:(p|0)>0?p:0)&255,15)+128|0;p=(f>>>8|0)+f<<4&61440;f=L((k>>>0<256?k:(n|0)>0?n:0)&255,15)+128|0;k=p|(f>>>8|0)+f&16128;f=L((l>>>0<256?l:(s|0)>0?s:0)&255,15)+128|0;E[t+32>>1]=k|(f>>>8|0)+f>>>4&1008;if(!oa){break p}f=J<<2;k=o-f|0;u=(k|0)>=4?4:k;x=m&-2;w=m&1;f=(f+ca<<1)+b|0;l=0;while(1){Ba:{if(!u){break Ba}k=G[l+v|0];p=0;s=0;if((m|0)!=1){while(1){n=p<<1;y=n+f|0;E[y>>1]=H[(t+32|0)+((k>>>n&3)<<1)>>1]|H[y>>1]&15;n=n|2;y=n+f|0;E[y>>1]=H[(t+32|0)+((k>>>n&3)<<1)>>1]|H[y>>1]&15;p=p+2|0;s=s+2|0;if((x|0)!=(s|0)){continue}break}}if(!w){break Ba}n=p<<1;p=n+f|0;E[p>>1]=H[(t+32|0)+((k>>>n&3)<<1)>>1]|H[p>>1]&15}f=f+da|0;l=l+1|0;if((ha|0)!=(l|0)){continue}break}break p}Sc(L(J+wa|0,h)+b|0,u,v);break p}k=L(J+wa|0,h)+b|0;F[k+4>>2]=F[k+4>>2]&2147450878|32768;n=n+L(H[k+2>>1],11)|0;O=G[n+10|0];l=s+(H[k>>1]<<3)|0;f=G[l+4|0]<<4;l=G[l+1|0];l=l<<3|l>>>2;m=F[f+12764>>2]+l|0;p=(m|0)>=255?255:m;x=m>>>0<256?m:(p|0)>0?p:0;F[t+124>>2]=x;m=l+F[f+12760>>2]|0;p=(m|0)>=255?255:m;w=m>>>0<256?m:(p|0)>0?p:0;F[t+120>>2]=w;m=l+F[f+12756>>2]|0;p=(m|0)>=255?255:m;y=m>>>0<256?m:(p|0)>0?p:0;F[t+116>>2]=y;f=l+F[f+12752>>2]|0;l=(f|0)>=255?255:f;f=f>>>0<256?f:(l|0)>0?l:0;F[t+112>>2]=f;p=G[n+8|0];l=F[(t+112|0)+(p<<2)>>2];Ca:{Da:{Ea:{if((O|0)==1){break Ea}m=G[n+9|0];m=m>>>0

    >>0?p:m;while(1){if((m|0)==(p|0)){break Ea}p=p+1|0;if(F[(t+112|0)+(p<<2)>>2]==(l|0)){continue}break}l=-1;break Da}if((l|0)>249){break Ca}}s=G[v+9|0];m=G[v+8|0];S=G[v+10|0];A=G[u+4|0];p=G[u|0];O=G[u+1|0];Q=G[u+2|0];Ha=x>>>0>=256?-1:x;D[t+111|0]=Ha;Sa=w>>>0>=256?-1:w;D[t+107|0]=Sa;Ia=y>>>0>=256?-1:y;D[t+103|0]=Ia;ba=f>>>0>=256?-1:f;D[t+99|0]=ba;u=A<<4;f=F[u+12764>>2];x=Q<<3|Q>>>2;w=f+x|0;Ja=w>>>0<256?w:(w^-1)>>31;D[t+110|0]=Ja;w=O<<3|O>>>2;y=w+f|0;Xa=y>>>0<256?y:(y^-1)>>31;D[t+109|0]=Xa;y=p<<3|p>>>2;f=y+f|0;Za=f>>>0<256?f:(f^-1)>>31;D[t+108|0]=Za;f=F[u+12760>>2];p=f+x|0;_a=p>>>0<256?p:(p^-1)>>31;D[t+106|0]=_a;p=f+w|0;Da=p>>>0<256?p:(p^-1)>>31;D[t+105|0]=Da;f=f+y|0;$a=f>>>0<256?f:(f^-1)>>31;D[t+104|0]=$a;f=F[u+12756>>2];p=f+x|0;ab=p>>>0<256?p:(p^-1)>>31;D[t+102|0]=ab;p=f+w|0;bb=p>>>0<256?p:(p^-1)>>31;D[t+101|0]=bb;f=f+y|0;cb=f>>>0<256?f:(f^-1)>>31;D[t+100|0]=cb;f=F[u+12752>>2];p=f+x|0;db=p>>>0<256?p:(p^-1)>>31;D[t+98|0]=db;p=f+w|0;Ua=p>>>0<256?p:(p^-1)>>31;D[t+97|0]=Ua;f=f+y|0;Va=f>>>0<256?f:(f^-1)>>31;D[t+96|0]=Va;Fa:{Ga:{Ha:{if(S>>>0<2){break Ha}S=m>>>0>s>>>0?m:s;p=(t+96|0)+(m<<2)|0;f=m;while(1){if((f|0)==(S|0)){break Ha}O=G[p|0];f=f+1|0;Q=(t+96|0)+(f<<2)|0;if(!((O|0)!=G[Q|0]|G[p+1|0]!=G[Q+1|0])&G[p+2|0]==G[Q+2|0]){continue}break}if((l|0)<0){Ia:{if(!O){break Ia}f=(t+96|0)+(s<<2)|0;l=G[f|0];if((l|0)==255){break Ia}m=G[p+1|0];if(!m){break Ia}s=G[f+1|0];if((s|0)==255){break Ia}p=G[p+2|0];if(!p){break Ia}f=G[f+2|0];if((f|0)==255){break Ia}eb=G[(G[n+8|0]<<2)+za|0];if(!eb){break Ia}fb=G[(G[n+9|0]<<2)+za|0];if((fb|0)==255){break Ia}F[t+28>>2]=L(Ha&255,3);F[t+16>>2]=L(ba&255,3);F[t+20>>2]=L(Ia&255,3);F[t+24>>2]=L(Sa&255,3);F[t+32>>2]=((Ua&255)+(Va&255)|0)+(db&255);F[t+36>>2]=((bb&255)+(cb&255)|0)+(ab&255);F[t+40>>2]=((Da&255)+($a&255)|0)+(_a&255);F[t+44>>2]=((Xa&255)+(Za&255)|0)+(Ja&255);Y=M(M(f>>>0)*M(.003921568859368563));ia=M(M(s>>>0)*M(.003921568859368563));P=M(M(l>>>0)*M(.003921568859368563));_=M(M(p>>>0)*M(.003921568859368563));la=M(M(m>>>0)*M(.003921568859368563));na=M(M(O>>>0)*M(.003921568859368563));ea=t+32|0;f=ea;m=G[v|0];gb=F[(f|(m&3)<<2)>>2];Pa=t+16|0;l=Pa;p=G[n|0];hb=F[(l|(p&3)<<2)>>2];s=gb-hb|0;ib=F[(f|m&12)>>2];jb=F[(l|p&12)>>2];u=ib-jb|0;w=(s|0)>(u|0)?s:u;kb=F[(f|m>>>2&12)>>2];lb=F[(l|p>>>2&12)>>2];x=kb-lb|0;w=(w|0)>(x|0)?w:x;mb=F[(f|m>>>4&12)>>2];nb=F[(l|p>>>4&12)>>2];m=mb-nb|0;O=(m|0)<(w|0)?w:m;p=G[v+1|0];ob=F[(f|(p&3)<<2)>>2];w=G[n+1|0];pb=F[(l|(w&3)<<2)>>2];y=ob-pb|0;Q=(y|0)<(O|0)?O:y;qb=F[(f|p&12)>>2];rb=F[(l|w&12)>>2];O=qb-rb|0;S=(O|0)<(Q|0)?Q:O;sb=F[(f|p>>>2&12)>>2];tb=F[(l|w>>>2&12)>>2];Q=sb-tb|0;S=(Q|0)<(S|0)?S:Q;zb=F[(f|p>>>4&12)>>2];Ab=F[(l|w>>>4&12)>>2];p=zb-Ab|0;ka=(p|0)<(S|0)?S:p;w=G[v+2|0];Bb=F[(f|(w&3)<<2)>>2];S=G[n+2|0];Cb=F[(l|(S&3)<<2)>>2];A=Bb-Cb|0;qa=(A|0)<(ka|0)?ka:A;Db=F[(w&12|f)>>2];Eb=F[(S&12|l)>>2];ka=Db-Eb|0;fa=(ka|0)<(qa|0)?qa:ka;Fb=F[(w>>>2&12|f)>>2];Gb=F[(S>>>2&12|l)>>2];qa=Fb-Gb|0;fa=(fa|0)>(qa|0)?fa:qa;Hb=F[(w>>>4&12|f)>>2];Ib=F[(S>>>4&12|l)>>2];w=Hb-Ib|0;fa=(w|0)<(fa|0)?fa:w;S=G[v+3|0];Sb=F[(f|(S&3)<<2)>>2];f=G[n+3|0];Tb=F[(l|(f&3)<<2)>>2];l=Sb-Tb|0;ya=(l|0)<(fa|0)?fa:l;Ub=F[(S&12|ea)>>2];Wb=F[(f&12|Pa)>>2];fa=Ub-Wb|0;xb=(fa|0)<(ya|0)?ya:fa;Xb=F[(S>>>2&12|ea)>>2];Zb=F[(f>>>2&12|Pa)>>2];ya=Xb-Zb|0;xb=(ya|0)<(xb|0)?xb:ya;ea=F[(S>>>4&12|ea)>>2];Pa=F[(f>>>4&12|Pa)>>2];f=ea-Pa|0;s=(s|0)<(u|0)?s:u;s=(s|0)<(x|0)?s:x;m=(m|0)>(s|0)?s:m;m=(m|0)<(y|0)?m:y;m=(m|0)<(O|0)?m:O;m=(m|0)<(Q|0)?m:Q;m=(m|0)<(p|0)?m:p;m=(m|0)<(A|0)?m:A;m=(m|0)<(ka|0)?m:ka;m=(m|0)<(qa|0)?m:qa;m=(m|0)<(w|0)?m:w;l=(l|0)>(m|0)?m:l;l=(l|0)<(fa|0)?l:fa;l=(l|0)<(ya|0)?l:ya;xb=((f|0)<(xb|0)?xb:f)-((f|0)>(l|0)?l:f)|0;f=gb+hb|0;l=ib+jb|0;p=(f|0)>(l|0)?f:l;m=kb+lb|0;s=(m|0)<(p|0)?p:m;p=mb+nb|0;u=(p|0)<(s|0)?s:p;s=ob+pb|0;x=(s|0)<(u|0)?u:s;u=qb+rb|0;w=(u|0)<(x|0)?x:u;x=sb+tb|0;y=(w|0)>(x|0)?w:x;w=zb+Ab|0;O=(w|0)<(y|0)?y:w;y=Bb+Cb|0;Q=(y|0)<(O|0)?O:y;O=Db+Eb|0;S=(O|0)<(Q|0)?Q:O;Q=Fb+Gb|0;A=(Q|0)<(S|0)?S:Q;S=Hb+Ib|0;ka=(S|0)<(A|0)?A:S;A=Sb+Tb|0;qa=(A|0)<(ka|0)?ka:A;ka=Ub+Wb|0;fa=(ka|0)<(qa|0)?qa:ka;qa=Xb+Zb|0;ya=(fa|0)>(qa|0)?fa:qa;fa=ea+Pa|0;f=(f|0)<(l|0)?f:l;f=(f|0)<(m|0)?f:m;f=(f|0)<(p|0)?f:p;f=(f|0)<(s|0)?f:s;f=(f|0)<(u|0)?f:u;f=(f|0)<(x|0)?f:x;f=(f|0)<(w|0)?f:w;f=(f|0)<(y|0)?f:y;f=(f|0)<(O|0)?f:O;f=(f|0)<(Q|0)?f:Q;f=(f|0)<(S|0)?f:S;f=(f|0)<(A|0)?f:A;f=(f|0)<(ka|0)?f:ka;f=(f|0)<(qa|0)?f:qa;Ja:{if((xb|0)<=(((fa|0)<(ya|0)?ya:fa)-((f|0)<(fa|0)?f:fa)|0)){T=P;W=ia;X=Y;P=na;ia=la;Y=_;break Ja}T=na;W=la;X=_}la=M(M(fb>>>0)*M(.003921568859368563));_=M(M(eb>>>0)*M(.003921568859368563));break Ga}m=0;s=0;x=0;l=0;p=0;while(1){u=p>>>2|0;w=G[u+v|0];f=(t+32|0)+(p<<2)|0;y=G[n+u|0];u=p<<1&6;y=G[((y>>>u&3)<<2)+za|0];D[f+3|0]=y;u=t+96|(w>>>u&3)<<2;w=G[u+2|0];D[f+2|0]=w;O=G[u+1|0];D[f+1|0]=O;A=f;f=G[u|0];D[A|0]=f;l=l+y|0;x=w+x|0;s=s+O|0;m=f+m|0;p=p+1|0;if((p|0)!=16){continue}break}ia=M(s>>>0);P=M(ia*M(.00024509805371053517));Lb=M(0);Mb=M(0);T=M(m>>>0);Y=M(T*M(.00024509805371053517));Ka:{if(YM(1))){break Ka}Mb=M(1)}W=M(x>>>0);Y=M(W*M(.00024509805371053517));La:{if(PM(1))){break La}Lb=M(1)}X=M(l>>>0);P=M(X*M(.00024509805371053517));Nb=M(0);_=M(0);Ma:{if(YM(1))){break Ma}_=M(1)}_b=_;Ob=M(X*M(.0625));Pb=M(W*M(.0625));Qb=M(ia*M(.0625));Rb=M(T*M(.0625));Na:{if(PM(1))){break Na}Nb=M(1)}T=M(M(G[t+34|0])-Pb);P=M(M(G[t+35|0])-Ob);la=M(T*P);W=M(M(G[t+33|0])-Qb);na=M(W*P);ia=M(W*T);X=M(M(G[t+32|0])-Rb);Ba=M(X*P);Ka=M(X*T);Fa=M(X*W);Ga=M(P*P);Jb=M(T*T);_=M(X*X);Kb=M(W*W);Y=M(Ga+M(Jb+M(_+Kb)));if(Y!=M(0)){Y=M(M(1)/M(U(Y)));P=M(P*Y);W=M(W*Y);X=M(X*Y);T=M(T*Y)}_=M(M(M(Ba*P)+M(M(Ka*T)+M(M(_*X)+M(Fa*W))))+M(0));Y=M(M(M(na*P)+M(M(ia*T)+M(M(Fa*X)+M(Kb*W))))+M(0));ia=M(M(M(la*P)+M(M(Jb*T)+M(M(Ka*X)+M(ia*W))))+M(0));T=M(M(M(Ga*P)+M(M(la*T)+M(M(Ba*X)+M(na*W))))+M(0));l=1;while(1){f=(t+32|0)+(l<<2)|0;na=M(M(G[f+2|0])-Pb);Ba=M(M(G[f+3|0])-Ob);Jb=M(na*Ba);Ka=M(M(G[f+1|0])-Qb);Kb=M(Ka*Ba);Fa=M(M(G[f|0])-Rb);$b=M(Fa*Ba);la=T;X=ia;P=_;W=Y;Ga=M(M(T*T)+M(M(X*X)+M(M(P*P)+M(W*W))));if(Ga!=M(0)){Ga=M(M(1)/M(U(Ga)));la=M(T*Ga);X=M(X*Ga);W=M(W*Ga);P=M(P*Ga)}T=M(T+M(M(M(Ba*Ba)*la)+M(M(Jb*X)+M(M($b*P)+M(Kb*W)))));Ga=M(M(na*na)*X);Ba=M(Fa*na);na=M(Ka*na);ia=M(ia+M(M(Jb*la)+M(Ga+M(M(Ba*P)+M(na*W)))));Ga=M(na*X);na=M(Fa*Ka);Y=M(Y+M(M(Kb*la)+M(Ga+M(M(na*P)+M(M(Ka*Ka)*W)))));_=M(_+M(M($b*la)+M(M(Ba*X)+M(M(M(Fa*Fa)*P)+M(na*W)))));l=l+1|0;if((l|0)!=16){continue}break}P=M(M(T*T)+M(M(ia*ia)+M(M(_*_)+M(Y*Y))));if(P!=M(0)){P=M(M(1)/M(U(P)));T=M(T*P);ia=M(ia*P);_=M(_*P);Y=M(Y*P);P=M(M(T*T)+M(M(ia*ia)+M(M(_*_)+M(Y*Y))))}if(PX?X:P;l=l+1|0;if((l|0)!=16){continue}break}la=M(X*M(.003921568859368563));na=M(ia*la);P=M(Lb+M(Y*la));Ba=M(0);Ka=M(0);X=M(Mb+M(_*la));Oa:{if(XM(1))){break Oa}Ka=M(1)}la=M(T*la);X=M(_b+na);Pa:{if(PM(1))){break Pa}Ba=M(1)}P=_;_=M(W*M(.003921568859368563));W=M(P*_);P=M(Nb+la);na=M(0);Fa=M(0);Qa:{if(XM(1))){break Qa}Fa=M(1)}X=M(Y*_);Y=M(Mb+W);Ra:{if(PM(1))){break Ra}na=M(1)}la=M(ia*_);W=M(Lb+X);ia=M(0);P=M(0);Sa:{if(YM(1))){break Sa}P=M(1)}Y=M(T*_);T=M(_b+la);Ta:{if(WM(1))){break Ta}ia=M(1)}W=M(Nb+Y);_=M(0);Y=M(0);Ua:{if(TM(1))){break Ua}Y=M(1)}Va:{if(WM(1))){break Va}_=M(1)}if(!(_>>0)*M(.003921568859368563));Y=M(M(G[p+2|0])*M(.003921568859368563));ia=M(M(G[p+1|0])*M(.003921568859368563));f=(t+96|0)+(s<<2)|0;X=M(M(G[f+2|0])*M(.003921568859368563));W=M(M(G[f+1|0])*M(.003921568859368563));T=M(M(G[f|0])*M(.003921568859368563));la=M(M(l|0)*M(.003921568859368563));_=la;break Ga}if((l|0)>=0){break Fa}_=M(M(G[(G[n+8|0]<<2)+za|0])*M(.003921568859368563));la=M(M(G[(G[n+9|0]<<2)+za|0])*M(.003921568859368563));f=(t+96|0)+(m<<2)|0;T=M(M(G[f|0])*M(.003921568859368563));P=T;W=M(M(G[f+1|0])*M(.003921568859368563));ia=W;X=M(M(G[f+2|0])*M(.003921568859368563));Y=X}W=M(M(W*M(15))+M(.5));Wa:{if(M(N(W))>>0<256?f:(f^-1)>>31;p=l<<20&15728640;T=M(M(T*M(15))+M(.5));Xa:{if(M(N(T))>>0<256?f:(f^-1)>>31;p=p|m<<24&251658240;T=M(M(X*M(15))+M(.5));Ya:{if(M(N(T))>>0<256?f:(f^-1)>>31;p=p|w<<16&983040;T=M(M(la*M(7))+M(.5));Za:{if(M(N(T))>>0<256?f:(f^-1)>>31;u=p|s<<28&1879048192;P=M(M(P*M(15))+M(.5));_a:{if(M(N(P))>>0<256?f:(f^-1)>>31;u=u|p<<8&3840;P=M(M(ia*M(15))+M(.5));$a:{if(M(N(P))>>0<256?f:(f^-1)>>31;u=u|x<<4&240;P=M(M(Y*M(7))+M(.5));ab:{if(M(N(P))>>0<256?f:(f^-1)>>31;u=u|Q<<1&14;P=M(M(_*M(7))+M(.5));bb:{if(M(N(P))>>0<256?f:(f^-1)>>31;F[k+4>>2]=u|f<<12&28672|32768;m=m<<1|(m&248)>>>3;u=(m<<3|(m&252)>>>2)&255;m=p<<1|(p&248)>>>3;y=(m<<3|(m&252)>>>2)&255;u=u-y|0;m=s<<1|1;s=(f<<5|f<<1)&254;p=((m<<4|m)&255)-s|0;f=l<<1|(l&248)>>>3;l=(f<<3|(f&252)>>>2)&255;f=x<<1|(x&248)>>>3;O=(f<<3|(f&252)>>>2)&255;x=l-O|0;f=w<<1|(w&248)>>>3;l=(f<<3|(f&252)>>>2)&255;f=Q<<2|(Q&254)>>>1;Q=(f<<3|(f&252)>>>2)&255;w=l-Q|0;m=((L(u,u)+L(p,p)|0)+L(x,x)|0)+L(w,w)|0;f=m>>>1|0;l=L(m,13)>>>4|0;m=L(m,3)>>>4|0;if(w|(u|x)){F[t+28>>2]=L(p,(Ha&255)-s|0);F[t+16>>2]=L(p,(ba&255)-s|0);F[t+20>>2]=L(p,(Ia&255)-s|0);F[t+24>>2]=L(p,(Sa&255)-s|0);F[t+32>>2]=(L(x,(Ua&255)-O|0)+L(u,(Va&255)-y|0)|0)+L(w,(db&255)-Q|0);F[t+36>>2]=(L(x,(bb&255)-O|0)+L(u,(cb&255)-y|0)|0)+L(w,(ab&255)-Q|0);F[t+40>>2]=(L(x,(Da&255)-O|0)+L(u,($a&255)-y|0)|0)+L(w,(_a&255)-Q|0);F[t+44>>2]=(L(x,(Xa&255)-O|0)+L(u,(Za&255)-y|0)|0)+L(w,(Ja&255)-Q|0);y=t+16|0;p=y;u=G[n|0];s=t+32|0;x=G[v|0];w=F[(p|u&12)>>2]+F[(s|x&12)>>2]|0;A=(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<2;w=F[(p|(u&3)<<2)>>2]+F[(s|(x&3)<<2)>>2]|0;A=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0));w=F[(p|u>>>2&12)>>2]+F[(s|x>>>2&12)>>2]|0;u=F[(p|u>>>4&12)>>2]+F[(s|x>>>4&12)>>2]|0;D[k|0]=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<4|(((u|0)>=(l|0))+((f|0)<=(u|0))|0)+((m|0)<=(u|0))<<6;u=G[n+1|0];x=G[v+1|0];w=F[(p|u&12)>>2]+F[(s|x&12)>>2]|0;A=(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<2;w=F[(p|(u&3)<<2)>>2]+F[(s|(x&3)<<2)>>2]|0;A=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0));w=F[(p|u>>>2&12)>>2]+F[(s|x>>>2&12)>>2]|0;u=F[(p|u>>>4&12)>>2]+F[(s|x>>>4&12)>>2]|0;D[k+1|0]=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<4|(((u|0)>=(l|0))+((f|0)<=(u|0))|0)+((m|0)<=(u|0))<<6;u=G[n+2|0];x=G[v+2|0];w=F[(p|u&12)>>2]+F[(s|x&12)>>2]|0;A=(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<2;w=F[((u&3)<<2|p)>>2]+F[((x&3)<<2|s)>>2]|0;A=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0));w=F[(u>>>2&12|p)>>2]+F[(x>>>2&12|s)>>2]|0;u=F[(u>>>4&12|p)>>2]+F[(x>>>4&12|s)>>2]|0;D[k+2|0]=A|(((w|0)>=(l|0))+((f|0)<=(w|0))|0)+((m|0)<=(w|0))<<4|(((u|0)>=(l|0))+((f|0)<=(u|0))|0)+((m|0)<=(u|0))<<6;u=k;k=G[n+3|0];n=G[v+3|0];p=F[(p|k&12)>>2]+F[(s|n&12)>>2]|0;A=(((p|0)>=(l|0))+((f|0)<=(p|0))|0)+((m|0)<=(p|0))<<2;p=F[((k&3)<<2|y)>>2]+F[((n&3)<<2|s)>>2]|0;A=A|(((p|0)>=(l|0))+((f|0)<=(p|0))|0)+((m|0)<=(p|0));p=F[(k>>>2&12|y)>>2]+F[(n>>>2&12|s)>>2]|0;k=F[(k>>>4&12|y)>>2]+F[(n>>>4&12|s)>>2]|0;D[u+3|0]=A|(((p|0)>=(l|0))+((f|0)<=(p|0))|0)+((m|0)<=(p|0))<<4|(((k|0)>=(l|0))+((f|0)<=(k|0))|0)+((k|0)>=(m|0))<<6;break p}v=L(p,G[t+103|0]-s|0);F[t+36>>2]=(((v|0)>=(l|0))+((f|0)<=(v|0))|0)+((m|0)<=(v|0));v=L(p,G[t+107|0]-s|0);F[t+40>>2]=(((v|0)>=(l|0))+((f|0)<=(v|0))|0)+((m|0)<=(v|0));v=L(p,G[t+111|0]-s|0);F[t+44>>2]=(((v|0)>=(l|0))+((f|0)<=(v|0))|0)+((m|0)<=(v|0));u=l;l=L(p,(ba&255)-s|0);F[t+32>>2]=(((u|0)<=(l|0))+((f|0)<=(l|0))|0)+((l|0)>=(m|0));f=t+32|0;l=G[n|0];D[k|0]=F[(f|l&12)>>2]<<2|F[(f|(l&3)<<2)>>2]|F[(f|l>>>2&12)>>2]<<4|F[(f|l>>>4&12)>>2]<<6;l=G[n+1|0];D[k+1|0]=F[(f|l&12)>>2]<<2|F[(f|(l&3)<<2)>>2]|F[(f|l>>>2&12)>>2]<<4|F[(f|l>>>4&12)>>2]<<6;l=G[n+2|0];D[k+2|0]=F[(f|l&12)>>2]<<2|F[((l&3)<<2|f)>>2]|F[(l>>>2&12|f)>>2]<<4|F[(l>>>4&12|f)>>2]<<6;l=k;k=G[n+3|0];D[l+3|0]=F[(f|k&12)>>2]<<2|F[((k&3)<<2|f)>>2]|F[(k>>>2&12|f)>>2]<<4|F[(k>>>4&12|f)>>2]<<6;break p}n=F[(u+(m<<2)|0)+12752>>2];f=n+w|0;m=(f|0)>=255?255:f;v=f>>>0<256?f:(m|0)>0?m:0;f=(L(v,15)+128>>>0)/255|0;m=n+y|0;p=(m|0)>=255?255:m;u=m>>>0<256?m:(p|0)>0?p:0;m=(L(u,15)+128>>>0)/255|0;n=n+x|0;p=(n|0)>=255?255:n;n=n>>>0<256?n:(p|0)>0?p:0;p=(L(n,7)+128>>>0)/255|0;x=l<<1;s=G[x+433120|0];cb:{if(l>>>0<3){break cb}w=p<<2|p>>>1;w=(w<<3|w>>>2)-n|0;y=L(w,w);w=(s<<5|s<<1)-l|0;y=y+(L(w,w)<<1)|0;w=m<<1|m>>>3;w=(w<<3|w>>>2)-u|0;A=L(w,w);w=f<<1|f>>>3;w=(w<<3|w>>>2)-v|0;ka=A+L(w,w)|0;w=y+ka|0;if(!w){break cb}O=v<<1;y=G[O+434657|0];Q=y<<1|y>>>3;A=L(Q<<3|Q>>>2,3);O=G[O+434656|0];Q=O<<1|O>>>3;v=(A+L(Q<<3|Q>>>2,5)>>>3|0)-v|0;A=L(v,v);Q=u<<1;v=G[Q+434657|0];ba=v<<1|v>>>3;ea=L(ba<<3|ba>>>2,3);Q=G[Q+434656|0];ba=Q<<1|Q>>>3;u=(ea+L(ba<<3|ba>>>2,5)>>>3|0)-u|0;A=A+L(u,u)|0;ba=n<<1;u=G[ba+434145|0];S=u<<1|u>>>3;ea=L(S<<3|S>>>2,3);ba=G[ba+434144|0];S=ba<<2|ba>>>1;S=(ea+L(S<<3|S>>>2,5)>>>3|0)-n|0;ea=A+L(S,S)|0;qa=G[x+432609|0];S=qa<<1|1;A=L(S<<4|S,3);S=G[x+432608|0];A=(A+L(S<<5|S<<1,5)>>>3|0)-l|0;A=ea+(L(A,A)<<1)|0;Pa=A>>>0>>0;ea=A;A=(L(n,15)+128>>>0)/255|0;fa=A<<1|A>>>3;n=(fa<<3|fa>>>2)-n|0;fa=ka+L(n,n)|0;n=G[x+433632|0];x=n<<1|1;l=(x<<4|x)-l|0;l=fa+(L(l,l)<<1)|0;if(!(Pa&ea>>>0>>0)){if(l>>>0<=w>>>0){F[k>>2]=-1;F[k+4>>2]=n<<28&1879048192|(A<<16&983040|(f<<20&15728640|m<<24&251658240))|32768;break p}F[k>>2]=0;F[k+4>>2]=p<<1&14|(f<<4&240|(s<<12&28672|m<<8&3840))|32768;break p}F[k>>2]=1431655765;F[k+4>>2]=qa<<28&1879048192|(S<<12&28672|(u<<16&983040|(y<<20&15728640|(v<<24&251658240|(ba<<1&14|(Q<<8&3840|O<<4&240))))))|32768;break p}F[k>>2]=0;F[k+4>>2]=p<<1&14|(f<<4&240|(s<<12&28672|m<<8&3840))|32768;break p}Sc(k,u,v);break p}f=L(J+wa|0,h)+b|0;E[f+2>>1]=p;E[f>>1]=ta;break p}while(1){db:{if(!n){break db}f=G[v+x|0];p=0;k=0;if((m|0)!=1){while(1){w=t+32|0;D[((p<<2)+l|0)+3|0]=F[(w|(f>>>(p<<1)&3)<<2)>>2];y=p|1;D[((y<<2)+l|0)+3|0]=F[(w|(f>>>(y<<1)&3)<<2)>>2];p=p+2|0;k=k+2|0;if((s|0)!=(k|0)){continue}break}}if(!u){break db}D[((p<<2)+l|0)+3|0]=F[(t+32|(f>>>(p<<1)&3)<<2)>>2]}l=l+ma|0;x=x+1|0;if((ha|0)!=(x|0)){continue}break}break p}f=G[u+4|0];p=G[u|0];n=G[u+1|0];k=G[u+2|0];D[t+43|0]=255;D[t+39|0]=255;D[t+35|0]=255;f=f<<4;s=F[f+12764>>2];k=(k<<3|k>>>2)&255;l=s+k|0;u=(l|0)>=255?255:l;D[t+46|0]=l>>>0<256?l:(u|0)>0?u:0;l=(n<<3|n>>>2)&255;n=l+s|0;u=(n|0)>=255?255:n;D[t+45|0]=n>>>0<256?n:(u|0)>0?u:0;n=(p<<3|p>>>2)&255;p=n+s|0;s=(p|0)>=255?255:p;D[t+44|0]=p>>>0<256?p:(s|0)>0?s:0;s=F[f+12760>>2];p=s+k|0;u=(p|0)>=255?255:p;D[t+42|0]=p>>>0<256?p:(u|0)>0?u:0;p=l+s|0;u=(p|0)>=255?255:p;D[t+41|0]=p>>>0<256?p:(u|0)>0?u:0;p=n+s|0;s=(p|0)>=255?255:p;D[t+40|0]=p>>>0<256?p:(s|0)>0?s:0;s=F[f+12756>>2];p=s+k|0;u=(p|0)>=255?255:p;D[t+38|0]=p>>>0<256?p:(u|0)>0?u:0;p=l+s|0;u=(p|0)>=255?255:p;D[t+37|0]=p>>>0<256?p:(u|0)>0?u:0;p=n+s|0;s=(p|0)>=255?255:p;D[t+36|0]=p>>>0<256?p:(s|0)>0?s:0;p=k;k=F[f+12752>>2];f=p+k|0;p=(f|0)>=255?255:f;D[t+34|0]=f>>>0<256?f:(p|0)>0?p:0;f=k+l|0;l=(f|0)>=255?255:f;D[t+33|0]=f>>>0<256?f:(l|0)>0?l:0;f=k+n|0;k=(f|0)>=255?255:f;D[t+32|0]=f>>>0<256?f:(k|0)>0?k:0;if(!oa){break p}f=J<<2;k=o-f|0;s=(k|0)>=4?4:k;k=(f+ca<<2)+b|0;n=0;while(1){if(s){u=G[n+v|0];p=0;while(1){f=(p<<2)+k|0;l=t+32|(u>>>(p<<1)&3)<<2;D[f|0]=G[l|0];D[f+1|0]=G[l+1|0];D[f+2|0]=G[l+2|0];p=p+1|0;if((m|0)!=(p|0)){continue}break}}k=k+ma|0;n=n+1|0;if((ha|0)!=(n|0)){continue}break}break p}f=G[u+4|0];p=G[u|0];n=G[u+1|0];k=G[u+2|0];D[t+43|0]=255;D[t+39|0]=255;D[t+35|0]=255;f=f<<4;s=F[f+12764>>2];k=(k<<3|k>>>2)&255;l=s+k|0;u=(l|0)>=255?255:l;D[t+46|0]=l>>>0<256?l:(u|0)>0?u:0;l=(n<<3|n>>>2)&255;n=l+s|0;u=(n|0)>=255?255:n;D[t+45|0]=n>>>0<256?n:(u|0)>0?u:0;n=(p<<3|p>>>2)&255;p=n+s|0;s=(p|0)>=255?255:p;D[t+44|0]=p>>>0<256?p:(s|0)>0?s:0;s=F[f+12760>>2];p=s+k|0;u=(p|0)>=255?255:p;D[t+42|0]=p>>>0<256?p:(u|0)>0?u:0;p=l+s|0;u=(p|0)>=255?255:p;D[t+41|0]=p>>>0<256?p:(u|0)>0?u:0;p=n+s|0;s=(p|0)>=255?255:p;D[t+40|0]=p>>>0<256?p:(s|0)>0?s:0;s=F[f+12756>>2];p=s+k|0;u=(p|0)>=255?255:p;D[t+38|0]=p>>>0<256?p:(u|0)>0?u:0;p=l+s|0;u=(p|0)>=255?255:p;D[t+37|0]=p>>>0<256?p:(u|0)>0?u:0;p=n+s|0;s=(p|0)>=255?255:p;D[t+36|0]=p>>>0<256?p:(s|0)>0?s:0;p=k;k=F[f+12752>>2];f=p+k|0;p=(f|0)>=255?255:f;D[t+34|0]=f>>>0<256?f:(p|0)>0?p:0;f=k+l|0;l=(f|0)>=255?255:f;D[t+33|0]=f>>>0<256?f:(l|0)>0?l:0;f=k+n|0;k=(f|0)>=255?255:f;D[t+32|0]=f>>>0<256?f:(k|0)>0?k:0;if(!oa){break p}f=J<<2;k=o-f|0;s=(k|0)>=4?4:k;k=(f+ca<<2)+b|0;n=0;while(1){if(s){u=G[n+v|0];p=0;while(1){f=(p<<2)+k|0;l=t+32|(u>>>(p<<1)&3)<<2;D[f|0]=G[l|0];D[f+1|0]=G[l+1|0];l=G[l+2|0];D[f+3|0]=255;D[f+2|0]=l;p=p+1|0;if((m|0)!=(p|0)){continue}break}}k=k+ma|0;n=n+1|0;if((ha|0)!=(n|0)){continue}break}}K=K>>>2|0;V=V-4|0;J=J+1|0;if((J|0)!=(c|0)){continue}break}sa=sa-4|0;B=B+1|0;Na=B>>>0>=d>>>0;if((d|0)!=(B|0)){continue}break}}if(Aa|!Na){break d}eb:{fb:{switch(g-6|0){case 0:g=b;i=d;f=0;e=0;ua=0;J=0;v=0;u=0;K=Ea-160|0;Ea=K;j=c;p=c-1|0;if(p){a=p;while(1){f=f+1|0;b=a>>>0>1;a=a>>>1|0;if(b){continue}break}}C=i-1|0;gb:{hb:{if(C){a=C;while(1){e=e+1|0;b=a>>>0>1;a=a>>>1|0;if(b){continue}break}if((i|0)<=0){break gb}v=e>>>0>f>>>0?f:e;u=v<<1;V=-1<>2]=b;d=c+(K+32|0)|0;a=F[b+(p<<2)>>2];F[d>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;c=c+(K+96|0)|0;h=a&30;F[c>>2]=(L((h+(a>>>5&31)|0)+(a>>>10&31)+(h>>>4)|0,255)>>>0)/31;a=F[b>>2];F[d+16>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;h=a&30;F[c+16>>2]=(L((h+(a>>>5&31)|0)+(a>>>10&31)+(h>>>4)|0,255)>>>0)/31;a=F[b+ka>>2];F[d+32>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;b=a&30;F[c+32>>2]=(L((b+(a>>>5&31)|0)+(a>>>10&31)+(b>>>4)|0,255)>>>0)/31;f=f+1|0;if((f|0)!=3){continue}break}e=F[K+32>>2];d=F[K+96>>2];if((j|0)>0){qa=H[((ua&255)<<1)+396320>>1]|H[(ua>>>7&33554430)+396320>>1]<<16;fa=ua>>>v<>2];c=F[K+40>>2];h=F[K+120>>2];b=F[K+104>>2];z=F[K+52>>2];a=F[K+36>>2];o=F[K+48>>2];s=F[K+116>>2];f=F[K+100>>2];n=F[K+112>>2];ya=F[K+28>>2];Ma=F[K+24>>2];Oa=F[K+20>>2];while(1){q=e;r=d;d=n;k=f;f=s;e=o;l=a;a=z;$=b;b=h;h=c;c=m;m=(J<<3)+Qa|0;n=qa|H[(pa>>>7&33554430)+396320>>1]<<17|H[((pa&255)<<1)+396320>>1]<<1;ib:{if((i|0)==(j|0)){break ib}o=n&V;n=o|pa>>>v<>>0>>0){break ib}n=o|fa}Ha=(n<<3)+g|0;F[Ha+4>>2]=F[(J<<2)+yb>>2];n=F[m>>2];o=n>>>25&112;n=G[(n>>>19&31)+398112|0]+(G[(n>>>11&31)+398112|0]+G[(n>>>3&31)+398112|0]|0)<<4;F[K+12>>2]=F[o+396832>>2]+n;F[K+8>>2]=n+F[o+396836>>2];F[K+4>>2]=n+F[o+396844>>2];F[K>>2]=n+F[o+396840>>2];n=G[m+5|0];o=G[m+7|0];x=n&240|o>>>4;s=d+f|0;z=L(s,6);za=z+(k+r<<1)|0;R=F[K+(G[x+396960|0]<<2)>>2]-za<<4;ta=a+e|0;B=L(ta,6);Sa=B+(l+q<<1)|0;Ia=(Sa|0)<(za|0);R=Ia?0-R|0:R;ga=n<<4&240|o&15;w=f+k|0;n=d+r|0;Aa=w+n<<2;o=F[K+(G[ga+396960|0]<<2)>>2]-Aa<<4;A=0-o|0;y=o;Z=a+l|0;o=e+q|0;Ja=Z+o<<2;Xa=(Ja|0)<(Aa|0);ja=Xa?A:y;Ca=(L(k,6)+(n<<1)|0)+L(f,6)|0;n=F[K+(G[ga+397216|0]<<2)>>2]-Ca<<4;Za=(L(l,6)+(o<<1)|0)+L(a,6)|0;_a=(Za|0)<(Ca|0);wa=_a?0-n|0:n;A=L(k,3);ma=L(f,9);ha=L(d,3);da=A+(r+(ma+ha|0)|0)|0;n=F[K+(G[x+397216|0]<<2)>>2]-da<<4;Da=L(l,3);sa=L(a,9);ca=L(e,3);$a=Da+(q+(sa+ca|0)|0)|0;ab=($a|0)<(da|0);r=ab?0-n|0:n;aa=G[m+4|0];oa=G[m+6|0];ra=aa<<4&240|oa&15;xa=s<<3;m=F[K+(G[ra+396960|0]<<2)>>2]-xa<<4;bb=ta<<3;cb=(bb|0)<(xa|0);ta=cb?0-m|0:m;pa=pa+1|0;va=(p&pa)<<2;m=F[va+Oa>>2];n=m&30;q=F[va+Ma>>2];o=q&30;aa=aa&240|oa>>>4;n=(L((n+(m>>>5&31)|0)+(m>>>10&31)+(n>>>4)|0,255)>>>0)/31|0;s=(L((o+(q>>>5&31)|0)+(q>>>10&31)+(o>>>4)|0,255)>>>0)/31|0;y=(z+(n<<1)|0)+(s<<1)|0;o=F[K+(G[aa+396960|0]<<2)>>2]-y<<4;ea=0-o|0;La=o;o=(L(((m>>>26&31)+(m>>>21&31)|0)+(m>>>16&31)|0,255)>>>0)/31|0;z=(L(((q>>>26&31)+(q>>>21&31)|0)+(q>>>16&31)|0,255)>>>0)/31|0;db=(B+(o<<1)|0)+(z<<1)|0;Ua=(db|0)<(y|0);q=Ua?ea:La;m=L(f,12);O=m+(d<<2)|0;B=F[K+(G[ra+397216|0]<<2)>>2]-O<<4;ea=0-B|0;La=B;B=L(a,12);Va=B+(e<<2)|0;ub=(Va|0)<(O|0);oa=ub?ea:La;vb=ma+L(s,3)|0;Q=ha+(vb+n|0)|0;ha=F[K+(G[aa+397216|0]<<2)>>2]-Q<<4;La=sa+L(z,3)|0;wb=ca+(La+o|0)|0;eb=(wb|0)<(Q|0);ha=eb?0-ha|0:ha;Na=w<<3;ca=F[K+(G[ga+397472|0]<<2)>>2]-Na<<4;fb=Z<<3;gb=(fb|0)<(Na|0);ca=gb?0-ca|0:ca;ba=m+(k<<2)|0;k=F[K+(G[x+397472|0]<<2)>>2]-ba<<4;hb=B+(l<<2)|0;ib=(hb|0)<(ba|0);l=ib?0-k|0:k;S=L(w,6)+(b+$<<1)|0;k=F[K+(G[ga+397728|0]<<2)>>2]-S<<4;jb=L(Z,6)+(c+h<<1)|0;kb=(jb|0)<(S|0);ga=kb?0-k|0:k;lb=L(b,3);Z=lb+($+(A+ma|0)|0)|0;k=F[K+(G[x+397728|0]<<2)>>2]-Z<<4;h=h+(sa+Da|0)|0;Da=L(c,3);mb=h+Da|0;nb=(mb|0)<(Z|0);$=nb?0-k|0:k;ma=f<<4;h=F[K+(G[ra+397472|0]<<2)>>2]-ma<<4;ob=a<<4;pb=(ob|0)<(ma|0);x=pb?0-h|0:h;sa=m+(s<<2)|0;h=F[K+(G[aa+397472|0]<<2)>>2]-sa<<4;qb=B+(z<<2)|0;rb=(qb|0)<(sa|0);w=rb?0-h|0:h;A=m+(b<<2)|0;h=F[K+(G[ra+397728|0]<<2)>>2]-A<<4;sb=B+(c<<2)|0;tb=(sb|0)<(A|0);ra=tb?0-h|0:h;k=F[va+ya>>2];h=k&30;m=F[K+(G[aa+397728|0]<<2)>>2];h=(L((h+(k>>>5&31)|0)+(k>>>10&31)+(h>>>4)|0,255)>>>0)/31|0;aa=(vb+h|0)+lb|0;m=m-aa<<4;ea=0-m|0;B=m;m=(L(((k>>>26&31)+(k>>>21&31)|0)+(k>>>16&31)|0,255)>>>0)/31|0;va=Da+(La+m|0)|0;Da=(va|0)<(aa|0);k=Da?ea:B;B=Sa-za|0;B=Ia?0-B|0:B;B=(R|0)>(L(B,13)|0)?12:(R|0)>B<<3?8:((R|0)>(L(B,3)|0))<<2;R=Ja-Aa|0;R=Xa?0-R|0:R;B=B|((ja|0)>(L(R,13)|0)?3:(ja|0)>R<<3?2:(ja|0)>(L(R,3)|0));R=Za-Ca|0;R=_a?0-R|0:R;B=B|((wa|0)>(L(R,13)|0)?768:(wa|0)>R<<3?512:((wa|0)>(L(R,3)|0))<<8);R=$a-da|0;R=ab?0-R|0:R;B=B|((r|0)>(L(R,13)|0)?3072:(r|0)>R<<3?2048:((r|0)>(L(R,3)|0))<<10);r=bb-xa|0;r=cb?0-r|0:r;B=B|((ta|0)>(L(r,13)|0)?48:(ta|0)>r<<3?32:((ta|0)>(L(r,3)|0))<<4);r=db-y|0;r=Ua?0-r|0:r;r=B|((q|0)>(L(r,13)|0)?192:(q|0)>r<<3?128:((q|0)>(L(r,3)|0))<<6);q=Va-O|0;q=ub?0-q|0:q;r=r|((oa|0)>(L(q,13)|0)?12288:(oa|0)>q<<3?8192:((oa|0)>(L(q,3)|0))<<12);q=wb-Q|0;q=eb?0-q|0:q;r=r|((ha|0)>(L(q,13)|0)?49152:(ha|0)>q<<3?32768:((ha|0)>(L(q,3)|0))<<14);q=fb-Na|0;q=gb?0-q|0:q;r=r|((ca|0)>(L(q,13)|0)?196608:(ca|0)>q<<3?131072:((ca|0)>(L(q,3)|0))<<16);q=hb-ba|0;q=ib?0-q|0:q;q=r|((l|0)>(L(q,13)|0)?786432:(l|0)>q<<3?524288:((l|0)>(L(q,3)|0))<<18);l=jb-S|0;l=kb?0-l|0:l;q=q|((ga|0)>(L(l,13)|0)?50331648:(ga|0)>l<<3?33554432:((ga|0)>(L(l,3)|0))<<24);l=mb-Z|0;l=nb?0-l|0:l;q=q|(($|0)>(L(l,13)|0)?201326592:($|0)>l<<3?134217728:(($|0)>(L(l,3)|0))<<26);l=ob-ma|0;l=pb?0-l|0:l;q=q|((x|0)>(L(l,13)|0)?3145728:(x|0)>l<<3?2097152:((x|0)>(L(l,3)|0))<<20);l=qb-sa|0;l=rb?0-l|0:l;q=q|((w|0)>(L(l,13)|0)?12582912:(w|0)>l<<3?8388608:((w|0)>(L(l,3)|0))<<22);l=sb-A|0;l=tb?0-l|0:l;q=q|((ra|0)>(L(l,13)|0)?805306368:(ra|0)>l<<3?536870912:((ra|0)>(L(l,3)|0))<<28);l=va-aa|0;l=Da?0-l|0:l;F[Ha>>2]=q|((k|0)>(L(l,13)|0)?-1073741824:(k|0)>l<<3?-2147483648:((k|0)>(L(l,3)|0))<<30);J=J+1|0;if((j|0)!=(pa|0)){continue}break}F[K+116>>2]=s;F[K+100>>2]=f;F[K+112>>2]=n;F[K+48>>2]=o;F[K+52>>2]=z;F[K+36>>2]=a;F[K+120>>2]=h;F[K+104>>2]=b;F[K+56>>2]=m;F[K+40>>2]=c}F[K+32>>2]=e;F[K+96>>2]=d;ua=ua+1|0;if((i|0)!=(ua|0)){continue}break}}Ea=K+160|0;break eb;case 1:break fb;default:break eb}}j=b;n=d;y=F[ja+4>>2];Xa=F[ja+16>>2];f=0;g=0;R=0;wa=0;ra=0;ta=0;J=Ea-176|0;Ea=J;k=c;p=k-1|0;if(p){c=p;while(1){g=g+1|0;a=c>>>0>1;c=c>>>1|0;if(a){continue}break}}q=n-1|0;jb:{kb:{if(q){c=q;while(1){f=f+1|0;a=c>>>0>1;c=c>>>1|0;if(a){continue}break}if((n|0)<=0){break jb}ra=f>>>0>g>>>0?g:f;ta=ra<<1;ua=-1<>2]=e;a=c+(J+112|0)|0;b=F[e+(p<<2)>>2];lb:{if(b&32768){V=(b>>>5&31)+398112|0;K=(b>>>10&31)+398112|0;$=255;d=(b>>>1&15)+398144|0;break lb}V=(b>>>4&15)+398144|0;K=(b>>>8&15)+398144|0;$=G[(b>>>12&7)+398168|0];d=(b>>>1&7)+398160|0}F[a>>2]=G[d|0]+(G[K|0]+(G[V|0]+$|0)|0);f=b>>>16|0;d=c+(J+48|0)|0;mb:{if((b|0)<0){V=(b>>>21&31)+398112|0;K=(b>>>26&31)+398112|0;c=255;b=(f&31)+398112|0;break mb}V=(b>>>20&15)+398144|0;K=(b>>>24&15)+398144|0;c=G[(b>>>28|0)+398168|0];b=(f&15)+398144|0}F[d>>2]=G[b|0]+(G[K|0]+(G[V|0]+c|0)|0);b=F[e>>2];nb:{if(b&32768){V=(b>>>5&31)+398112|0;K=(b>>>10&31)+398112|0;$=255;c=(b>>>1&15)+398144|0;break nb}V=(b>>>4&15)+398144|0;K=(b>>>8&15)+398144|0;$=G[(b>>>12&7)+398168|0];c=(b>>>1&7)+398160|0}F[a+16>>2]=G[c|0]+(G[K|0]+(G[V|0]+$|0)|0);f=b>>>16|0;ob:{if((b|0)<0){V=(b>>>21&31)+398112|0;K=(b>>>26&31)+398112|0;c=255;b=(f&31)+398112|0;break ob}V=(b>>>20&15)+398144|0;K=(b>>>24&15)+398144|0;c=G[(b>>>28|0)+398168|0];b=(f&15)+398144|0}F[d+16>>2]=G[b|0]+(G[K|0]+(G[V|0]+c|0)|0);c=F[e+_a>>2];pb:{if(c&32768){f=(c>>>1&15)+398144|0;V=(c>>>10&31)+398112|0;K=255;b=(c>>>5&31)+398112|0;break pb}f=(c>>>1&7)+398160|0;V=(c>>>8&15)+398144|0;K=G[(c>>>12&7)+398168|0];b=(c>>>4&15)+398144|0}F[a+32>>2]=G[f|0]+(G[V|0]+(G[b|0]+K|0)|0);a=c>>>16|0;qb:{if((c|0)<0){f=(a&31)+398112|0;b=(c>>>21&31)+398112|0;a=(c>>>26&31)+398112|0;c=255;break qb}f=(a&15)+398144|0;b=(c>>>20&15)+398144|0;a=(c>>>24&15)+398144|0;c=G[(c>>>28|0)+398168|0]}F[d+32>>2]=G[f|0]+(G[a|0]+(c+G[b|0]|0)|0);g=g+1|0;if((g|0)!=3){continue}break}g=F[J+48>>2];f=F[J+112>>2];rb:{if((k|0)<=0){b=g;a=f;break rb}Da=H[((R&255)<<1)+396320>>1]|H[(R>>>7&33554430)+396320>>1]<<16;$a=R>>>ra<>2];m=F[J+56>>2];c=F[J+136>>2];l=F[J+120>>2];o=F[J+68>>2];V=F[J+52>>2];C=F[J+64>>2];z=F[J+132>>2];K=F[J+116>>2];s=F[J+128>>2];bb=F[J+44>>2];cb=F[J+40>>2];db=F[J+36>>2];while(1){a=s;d=z;b=C;e=o;h=c;i=$;ja=(wa<<3)+Qa|0;c=ab+(ga<<2)|0;z=H[c>>1];aa=H[c+2>>1];c=Da|H[(ga>>>7&33554430)+396320>>1]<<17|H[((ga&255)<<1)+396320>>1]<<1;sb:{if((k|0)==(n|0)){break sb}o=c&ua;c=o|ga>>>ra<>>0>n>>>0){break sb}c=o|$a}o=(c<<3)+j|0;F[o+4>>2]=F[(wa<<2)+yb>>2];c=F[ja>>2];s=c>>>25&112;c=G[(c>>>19&31)+398112|0]+(G[(c>>>11&31)+398112|0]+G[(c>>>3&31)+398112|0]|0)<<4;C=F[s+396844>>2]+c|0;C=(C|0)>=12240?12240:C;F[J+28>>2]=(C|0)>0?C:0;C=c+F[s+396840>>2]|0;C=(C|0)>=12240?12240:C;F[J+24>>2]=(C|0)>0?C:0;C=c+F[s+396836>>2]|0;C=(C|0)>=12240?12240:C;F[J+20>>2]=(C|0)>0?C:0;c=c+F[s+396832>>2]|0;c=(c|0)>=12240?12240:c;F[J+16>>2]=(c|0)>0?c:0;s=z<<3;c=G[(s+y|0)+4|0]<<4;s=G[G[s+Za|0]+398112|0]<<4;z=F[c+397996>>2]+s|0;z=(z|0)>=4080?4080:z;F[J+12>>2]=(z|0)>0?z:0;z=s+F[c+397992>>2]|0;z=(z|0)>=4080?4080:z;F[J+8>>2]=(z|0)>0?z:0;z=s+F[c+397988>>2]|0;z=(z|0)>=4080?4080:z;F[J+4>>2]=(z|0)>0?z:0;c=s+F[c+397984>>2]|0;c=(c|0)>=4080?4080:c;F[J>>2]=(c|0)>0?c:0;ga=ga+1|0;pa=(p&ga)<<2;c=F[pa+db>>2];tb:{if(c&32768){C=(c>>>10&31)+398112|0;v=255;z=(c>>>5&31)+398112|0;s=(c>>>1&15)+398144|0;break tb}C=(c>>>8&15)+398144|0;v=G[(c>>>12&7)+398168|0];z=(c>>>4&15)+398144|0;s=(c>>>1&7)+398160|0}$=c>>>16|0;B=G[z|0];oa=G[C|0];Ca=G[s|0];ub:{if((c|0)<0){$=($&31)+398112|0;z=(c>>>21&31)+398112|0;C=(c>>>26&31)+398112|0;c=255;break ub}$=($&15)+398144|0;z=(c>>>20&15)+398144|0;C=(c>>>24&15)+398144|0;c=G[(c>>>28|0)+398168|0]}ha=G[z|0];C=G[C|0];ma=G[$|0];s=F[pa+cb>>2];vb:{if(s&32768){$=(s>>>5&31)+398112|0;u=(s>>>10&31)+398112|0;x=255;z=(s>>>1&15)+398144|0;break vb}$=(s>>>4&15)+398144|0;u=(s>>>8&15)+398144|0;x=G[(s>>>12&7)+398168|0];z=(s>>>1&7)+398160|0}v=v+B|0;B=c+ha|0;c=s>>>16|0;ha=G[$|0]+x|0;ca=G[u|0];z=G[z|0];wb:{if((s|0)<0){$=(c&31)+398112|0;u=(s>>>21&31)+398112|0;x=(s>>>26&31)+398112|0;c=255;break wb}$=(c&15)+398144|0;u=(s>>>20&15)+398144|0;x=(s>>>24&15)+398144|0;c=G[(s>>>28|0)+398168|0]}s=L(aa,11);da=v+oa|0;C=C+B|0;sa=ca+ha|0;xa=G[x|0]+(c+G[u|0]|0)|0;va=G[$|0];v=F[pa+bb>>2];xb:{if(v&32768){u=(v>>>10&31)+398112|0;x=255;O=(v>>>1&15)+398144|0;$=(v>>>5&31)+398112|0;break xb}u=(v>>>8&15)+398144|0;x=G[(v>>>12&7)+398168|0];O=(v>>>1&7)+398160|0;$=(v>>>4&15)+398144|0}Q=v>>>16|0;pa=o;aa=s+Xa|0;o=G[aa|0];c=J+16|0;s=G[ja+4|0];Z=a+d|0;ya=L(Z,6);Na=ya+(f+K<<1)|0;B=F[(J|o&12)>>2]+(F[(c|s&12)>>2]-Na|0)<<4;Ma=b+e|0;Oa=L(Ma,6);Ua=Oa+(g+V<<1)|0;Va=(Ua|0)<(Na|0);B=Va?0-B|0:B;ba=d+K|0;w=a+f|0;S=ba+w<<2;oa=F[(J|(o&3)<<2)>>2]+(F[(c|(s&3)<<2)>>2]-S|0)<<4;A=e+V|0;za=b+g|0;ub=A+za<<2;vb=(ub|0)<(S|0);oa=vb?0-oa|0:oa;ha=G[aa+1|0];ca=G[ja+5|0];ka=(L(K,6)+(w<<1)|0)+L(d,6)|0;w=F[(J|(ha&3)<<2)>>2]+(F[(c|(ca&3)<<2)>>2]-ka|0)<<4;La=(L(V,6)+(za<<1)|0)+L(e,6)|0;wb=(La|0)<(ka|0);w=wb?0-w|0:w;Ia=L(K,3);ea=f;za=L(d,9);f=L(a,3);qa=Ia+(ea+(za+f|0)|0)|0;Aa=F[(J|ha&12)>>2]+(F[(c|ca&12)>>2]-qa|0)<<4;Ja=L(V,3);ea=g;g=L(e,9);Ha=L(b,3);eb=Ja+(ea+(g+Ha|0)|0)|0;fb=(eb|0)<(qa|0);Aa=fb?0-Aa|0:Aa;fa=Z<<3;Z=F[(J|o>>>2&12)>>2]+(F[(c|s>>>2&12)>>2]-fa|0)<<4;gb=Ma<<3;hb=(gb|0)<(fa|0);Z=hb?0-Z|0:Z;ea=F[(c|s>>>4&12)>>2];s=da+Ca|0;z=z+sa|0;ya=(ya+(s<<1)|0)+(z<<1)|0;o=F[(J|o>>>4&12)>>2]+(ea-ya|0)<<4;sa=0-o|0;da=o;C=C+ma|0;o=va+xa|0;ib=(Oa+(C<<1)|0)+(o<<1)|0;jb=(ib|0)<(ya|0);Ca=jb?sa:da;ma=L(d,12);Ma=ma+(a<<2)|0;da=F[(J|ha>>>2&12)>>2]+(F[(c|ca>>>2&12)>>2]-Ma|0)<<4;ea=0-da|0;sa=da;da=L(e,12);kb=da+(b<<2)|0;lb=(kb|0)<(Ma|0);sa=lb?ea:sa;mb=L(z,3);Oa=f+((mb+za|0)+s|0)|0;f=F[(J|ha>>>4&12)>>2]+(F[(c|ca>>>4&12)>>2]-Oa|0)<<4;Pa=0-f|0;ea=f;f=g+L(o,3)|0;nb=Ha+(f+C|0)|0;ob=(nb|0)<(Oa|0);ha=ob?Pa:ea;ca=G[aa+2|0];xa=G[ja+6|0];Ha=ba<<3;va=F[(J|(ca&3)<<2)>>2]+(F[(c|(xa&3)<<2)>>2]-Ha|0)<<4;pb=A<<3;qb=(pb|0)<(Ha|0);va=qb?0-va|0:va;Sa=ma+(K<<2)|0;K=F[(J|ca&12)>>2]+(F[(c|xa&12)>>2]-Sa|0)<<4;rb=da+(V<<2)|0;sb=(rb|0)<(Sa|0);V=sb?0-K|0:K;K=G[aa+3|0];ja=G[ja+7|0];ba=L(ba,6)+(h+l<<1)|0;aa=F[(J|(K&3)<<2)>>2]+(F[(c|(ja&3)<<2)>>2]-ba|0)<<4;tb=L(A,6)+(i+m<<1)|0;zb=(tb|0)<(ba|0);aa=zb?0-aa|0:aa;Ab=L(h,3);A=Ab+((za+Ia|0)+l|0)|0;l=F[(J|K&12)>>2]+(F[(c|ja&12)>>2]-A|0)<<4;m=(g+Ja|0)+m|0;g=L(i,3);Bb=m+g|0;Cb=(Bb|0)<(A|0);l=Cb?0-l|0:l;Ia=d<<4;m=F[(J|ca>>>2&12)>>2]+(F[(c|xa>>>2&12)>>2]-Ia|0)<<4;Db=e<<4;Eb=(Db|0)<(Ia|0);m=Eb?0-m|0:m;ea=F[(c|xa>>>4&12)>>2];xa=ma+(z<<2)|0;ca=F[(J|ca>>>4&12)>>2]+(ea-xa|0)<<4;Fb=da+(o<<2)|0;Gb=(Fb|0)<(xa|0);ca=Gb?0-ca|0:ca;Ja=ma+(h<<2)|0;ma=F[(J|K>>>2&12)>>2]+(F[(c|ja>>>2&12)>>2]-Ja|0)<<4;Hb=da+(i<<2)|0;Ib=(Hb|0)<(Ja|0);ma=Ib?0-ma|0:ma;da=Ua-Na|0;da=Va?0-da|0:da;da=(B|0)>(L(da,13)|0)?12:(B|0)>da<<3?8:((B|0)>(L(da,3)|0))<<2;B=ub-S|0;B=vb?0-B|0:B;da=da|((oa|0)>(L(B,13)|0)?3:(oa|0)>B<<3?2:(oa|0)>(L(B,3)|0));B=La-ka|0;B=wb?0-B|0:B;da=da|((w|0)>(L(B,13)|0)?768:(w|0)>B<<3?512:((w|0)>(L(B,3)|0))<<8);B=eb-qa|0;B=fb?0-B|0:B;da=da|((Aa|0)>(L(B,13)|0)?3072:(Aa|0)>B<<3?2048:((Aa|0)>(L(B,3)|0))<<10);B=gb-fa|0;B=hb?0-B|0:B;Z=da|((Z|0)>(L(B,13)|0)?48:(Z|0)>B<<3?32:((Z|0)>(L(B,3)|0))<<4);B=ib-ya|0;B=jb?0-B|0:B;Z=Z|((Ca|0)>(L(B,13)|0)?192:(Ca|0)>B<<3?128:((Ca|0)>(L(B,3)|0))<<6);B=kb-Ma|0;B=lb?0-B|0:B;Z=Z|((sa|0)>(L(B,13)|0)?12288:(sa|0)>B<<3?8192:((sa|0)>(L(B,3)|0))<<12);B=nb-Oa|0;B=ob?0-B|0:B;Z=Z|((ha|0)>(L(B,13)|0)?49152:(ha|0)>B<<3?32768:((ha|0)>(L(B,3)|0))<<14);B=pb-Ha|0;B=qb?0-B|0:B;Z=Z|((va|0)>(L(B,13)|0)?196608:(va|0)>B<<3?131072:((va|0)>(L(B,3)|0))<<16);B=rb-Sa|0;B=sb?0-B|0:B;Z=Z|((V|0)>(L(B,13)|0)?786432:(V|0)>B<<3?524288:((V|0)>(L(B,3)|0))<<18);V=tb-ba|0;V=zb?0-V|0:V;Z=Z|((aa|0)>(L(V,13)|0)?50331648:(aa|0)>V<<3?33554432:((aa|0)>(L(V,3)|0))<<24);V=Bb-A|0;V=Cb?0-V|0:V;V=Z|((l|0)>(L(V,13)|0)?201326592:(l|0)>V<<3?134217728:((l|0)>(L(V,3)|0))<<26);l=Db-Ia|0;l=Eb?0-l|0:l;m=V|((m|0)>(L(l,13)|0)?3145728:(m|0)>l<<3?2097152:((m|0)>(L(l,3)|0))<<20);l=Fb-xa|0;l=Gb?0-l|0:l;m=m|((ca|0)>(L(l,13)|0)?12582912:(ca|0)>l<<3?8388608:((ca|0)>(L(l,3)|0))<<22);l=Hb-Ja|0;l=Ib?0-l|0:l;aa=m|((ma|0)>(L(l,13)|0)?805306368:(ma|0)>l<<3?536870912:((ma|0)>(L(l,3)|0))<<28);l=F[(J|K>>>4&12)>>2];m=F[(c|ja>>>4&12)>>2];c=G[O|0]+(G[u|0]+(G[$|0]+x|0)|0)|0;K=Ab+(za+(mb+c|0)|0)|0;l=l+(m-K|0)<<4;u=0-l|0;m=l;V=g;Z=f;yb:{if((v|0)<0){l=(v>>>21&31)+398112|0;g=(v>>>26&31)+398112|0;f=255;$=(Q&31)+398112|0;break yb}l=(v>>>20&15)+398144|0;g=(v>>>24&15)+398144|0;f=G[(v>>>28|0)+398168|0];$=(Q&15)+398144|0}$=G[$|0]+(G[g|0]+(G[l|0]+f|0)|0)|0;g=V+(Z+$|0)|0;l=(g|0)<(K|0);f=l?u:m;g=g-K|0;g=l?0-g|0:g;F[pa>>2]=((f|0)>(L(g,13)|0)?-1073741824:(f|0)>g<<3?-2147483648:((f|0)>(L(g,3)|0))<<30)|aa;wa=wa+1|0;m=i;l=h;V=e;K=d;f=a;g=b;if((k|0)!=(ga|0)){continue}break}F[J+132>>2]=z;F[J+116>>2]=K;F[J+128>>2]=s;F[J+64>>2]=C;F[J+68>>2]=o;F[J+52>>2]=e;F[J+136>>2]=c;F[J+120>>2]=l;F[J+72>>2]=$;F[J+56>>2]=m}F[J+48>>2]=b;F[J+112>>2]=a;R=R+1|0;if((n|0)!=(R|0)){continue}break}}Ea=J+176|0}ac=1;if(!Qa){break d}Ra(Qa)}a=F[t>>2];if(!a){break a}Ra(a)}Ea=t+128|0;return ac}function fc(a,b,c,d,e,f,g,h,i,j,k,l){var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,J=0,K=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0;p=F[a>>2];a:{if(!p|I[a+92>>2]<=b>>>0){break a}b:{if(I[a+44>>2]>=2){if(d>>>0<=5){break b}break a}if(d){break a}}m=F[a+40>>2];if((m>>>0<=1?1:m)>>>0<=c>>>0){break a}ja=a+776|0;c:{if(F[a+52>>2]!=2){m=F[a+88>>2]+L(b,24)|0;fa=m+8|0;p=p+(G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24))|0;break c}if(F[ja+420>>2]!=(b|0)){m=F[a+88>>2]+L(b,24)|0;M=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);U=F[a>>2];p=G[m+8|0]|G[m+9|0]<<8|(G[m+10|0]<<16|G[m+11|0]<<24);fa=F[ja+412>>2];qa=G[m+16|0]|G[m+17|0]<<8|(G[m+18|0]<<16|G[m+19|0]<<24);d:{if((fa|0)!=(qa|0)){if(fa>>>0<=qa>>>0){e:{if(I[ja+416>>2]>=qa>>>0){n=F[ja+408>>2];break e}m=qa;f:{if((m|0)!=(fa+1|0)){break f}s=m-1|0;if(!(!m|s&m)){break f}fa=0;n=0-!m|0;m=n>>>16|0;A=m|n;m=A>>>8|0;ha=m|A;m=ha>>>4|0;q=m|ha;m=q>>>2|0;r=((m|q)&1)<<31;m=n|s;m=(n&65535)<<16|m>>>16|m;m=(A&255)<<24|m>>>8|m;m=(ha&15)<<28|m>>>4|m;m=(q&3)<<30|m>>>2|m;m=(r|m>>>1|m)+1|0;if(qa>>>0>m>>>0){break d}}fa=0;n=nb(F[ja+408>>2],m);if(!n){break d}F[ja+416>>2]=m;F[ja+408>>2]=n;fa=F[ja+412>>2]}Ta(n+fa|0,0,qa-fa|0)}F[ja+412>>2]=qa}if(F[a+52>>2]==2){fa=0;va=F[ja+408>>2];q=-64;x=Ya(160816);if(x){F[x+29556>>2]=0;F[x+29560>>2]=0;F[x+29636>>2]=0;F[x+29620>>2]=0;F[x+29368>>2]=0;F[x+160812>>2]=0;F[x+29652>>2]=0;F[x+29656>>2]=0;F[x+29612>>2]=0;F[x+29616>>2]=0;F[x+29668>>2]=0;F[x+29672>>2]=0;F[x+29628>>2]=134217729;F[x+29576>>2]=0;F[x+29580>>2]=0;F[x+29604>>2]=0;F[x+29608>>2]=0;F[x+29540>>2]=0;F[x+29544>>2]=0;F[x+29596>>2]=0;F[x+29600>>2]=0;F[x+29584>>2]=0;F[x+29588>>2]=0;F[x+29564>>2]=0;ta=qa;n=M+U|0;g:{h:{m=F[x+29540>>2]?1:5;i:{j:{if(p>>>0>>0){ha=va;break j}N=x+29448|0;ba=x+29376|0;Ba=x+4120|0;Ca=x+6176|0;wa=x+26668|0;Da=x+10280|0;Ha=x+16|0;ua=x+29356|0;ra=x+29416|0;pa=x+29488|0;ha=va;while(1){if(((G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24))&-16)==407710288){if(p>>>0<8){break h}s=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);q=-14;if(s>>>0>4294967287){break g}s=s+8|0;M=p>>>0>>0?-72:s;if(M>>>0>4294967176){break i}n=n+M|0;p=p-M|0;if(p>>>0>=m>>>0){continue}break j}F[x+29436>>2]=0;F[x+29372>>2]=m;F[ua+8>>2]=0;F[ua+12>>2]=0;F[ua>>2]=0;F[ua+4>>2]=0;F[ra+8>>2]=0;F[ra+12>>2]=0;F[ra>>2]=0;F[ra+4>>2]=0;F[x+10280>>2]=201326604;F[x+29592>>2]=0;F[x+29440>>2]=0;F[x+29444>>2]=0;F[x+29432>>2]=3;F[wa+8>>2]=F[100414];m=F[100413];F[wa>>2]=F[100412];F[wa+4>>2]=m;F[x+12>>2]=Da;F[x+8>>2]=Ba;F[x+4>>2]=Ca;F[x>>2]=Ha;if(!(!ta|!ha)){F[x+29368>>2]=0;F[x+29360>>2]=ha;F[x+29356>>2]=ha;F[x+29364>>2]=ha}v=F[x+29540>>2];if((v?5:9)>>>0>p>>>0){break h}k:{s=v?1:5;q=G[(s+n|0)-1|0];m=q&32;m=(!m+(F[(q>>>4&12)+403136>>2]+(s+F[((q&3)<<2)+403120>>2]|0)|0)|0)+(m>>>5&q>>>0<64)|0;l:{m:{if(m>>>0>4294967176){break m}if(m+3>>>0>p>>>0){break h}q=0;A=0;F[ba>>2]=0;F[ba+4>>2]=0;F[ba+32>>2]=0;F[ba+36>>2]=0;F[ba+24>>2]=0;F[ba+28>>2]=0;F[ba+16>>2]=0;F[ba+20>>2]=0;F[ba+8>>2]=0;F[ba+12>>2]=0;U=m;M=s;n:{if(m>>>0>>0){break n}M=-1;if(!n){break n}m=1;o:{p:{q:{r:{s:{t:{u:{v:{if((v|0)==1){r=n;if(U){break v}M=-72;break u}m=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);if((m|0)!=-47205080){break t}m=s;r=(n+m|0)-1|0}v=G[r|0];M=v&32;M=(!M+(F[(v>>>4&12)+403136>>2]+(F[((v&3)<<2)+403120>>2]+m|0)|0)|0)+(M>>>5&v>>>0<64)|0}if(U>>>0>>0){break o}F[ba+24>>2]=M;M=-14;m=n+s|0;B=G[m-1|0];if(B&8){break o}t=B&32;if(!t){M=-16;m=G[m|0];if(m>>>0>167){break o}q=m&7;m=(m>>>3|0)+10|0;M=m&31;if((m&63)>>>0>=32){z=1<>>32-M}M=m;q=We(q,0,(z&7)<<29|M>>>3,z>>>3|0);m=z+Fa|0;q=q+M|0;A=M>>>0>q>>>0?m+1|0:m;s=s+1|0}r=B>>>6|0;v=B>>>2|0;M=0;switch((B&3)-1|0){case 2:break q;case 1:break r;case 0:break s;default:break p}}M=-10;if((m&-16)!=407710288){break o}M=8;if(U>>>0<8){break o}m=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);F[ba+20>>2]=1;F[ba>>2]=m;F[ba+4>>2]=0;M=0;break n}M=G[n+s|0];s=s+1|0;break p}m=n+s|0;M=G[m|0]|G[m+1|0]<<8;s=s+2|0;break p}m=n+s|0;M=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);s=s+4|0}v=v&1;w:{x:{switch(r-1|0){default:m=-1;r=-1;if(!t){break w}m=G[n+s|0];r=0;break w;case 0:m=n+s|0;m=(G[m|0]|G[m+1|0]<<8)+256|0;r=m>>>0<256;break w;case 1:m=n+s|0;m=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);r=0;break w;case 2:break x}}s=n+s|0;m=G[s|0]|G[s+1|0]<<8|(G[s+2|0]<<16|G[s+3|0]<<24);r=G[s+4|0]|G[s+5|0]<<8|(G[s+6|0]<<16|G[s+7|0]<<24)}F[ba+32>>2]=v;F[ba+28>>2]=M;F[ba>>2]=m;F[ba+4>>2]=r;M=0;F[ba+20>>2]=0;s=t?m:q;F[ba+8>>2]=s;m=t?r:A;F[ba+12>>2]=m;F[ba+16>>2]=!m&s>>>0>=131072|m?131072:s}}m=M;if(m>>>0>4294967176){break m}if(m){break h}y:{if(F[x+29608>>2]!=1){break y}r=F[x+29604>>2];if(!r){break y}z:{if(!F[x+29588>>2]){break z}A=F[r+4>>2]-1|0;q=F[x+29404>>2];s=We(Ze(We(q,0,-2048144761,-1640531535)^374761417,Fa^668265263,23),Fa,668265295,-1028477379);m=Fa+374761393|0;s=s-1640531463|0;m=s>>>0<2654435833?m+1|0:m;v=We(m>>>1^s,m,668265295,-1028477379);s=Fa;m=s>>>29|0;m=We(v^((s&536870911)<<3|v>>>29),m^s,-1640531463,374761393);M=(m^Fa)&A;s=F[r>>2];while(1){v=F[s+(M<<2)>>2];if(!v){break z}A:{if(I[v+8>>2]<8){break A}m=F[v+4>>2];if((G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24))!=-332356553){break A}m=G[m+4|0]|G[m+5|0]<<8|(G[m+6|0]<<16|G[m+7|0]<<24);if((m|0)==(q|0)){break A}M=(A&M)+1|0;if(m){continue}}break}M=F[x+29584>>2];B:{if(!M){break B}s=F[M+27320>>2];q=F[M+27316>>2];C:{D:{m=F[M>>2];if(m){if(!q){break D}Ga[q|0](s,m);Ga[q|0](s,M);break B}if(!q){break C}Ga[q|0](s,M);break B}Ra(m)}Ra(M)}F[x+29584>>2]=0;F[x+29600>>2]=-1;F[x+29588>>2]=v;F[x+29592>>2]=F[x+29404>>2]}}m=F[x+29404>>2];q=-32;if(!(!m|(m|0)==F[x+29592>>2])){break g}E:{if(F[x+29408>>2]){m=F[x+29544>>2];F[x+29548>>2]=!m;if(m){break E}F[x+29480>>2]=2048144761;F[x+29484>>2]=1640531534;F[x+29472>>2]=0;F[x+29476>>2]=0;F[x+29464>>2]=668265295;F[x+29468>>2]=-1028477379;F[x+29456>>2]=-1379879466;F[x+29460>>2]=1625958382;F[x+29448>>2]=0;F[x+29452>>2]=0;F[pa+32>>2]=0;F[pa+36>>2]=0;F[pa+24>>2]=0;F[pa+28>>2]=0;F[pa+16>>2]=0;F[pa+20>>2]=0;F[pa+8>>2]=0;F[pa+12>>2]=0;F[pa>>2]=0;F[pa+4>>2]=0;break E}F[x+29548>>2]=0}xa=ha+ta|0;m=F[ra+4>>2];s=U+F[ra>>2]|0;m=s>>>0>>0?m+1|0:m;F[ra>>2]=s;F[ra+4>>2]=m;p=p-U|0;n=n+U|0;U=ha;while(1){if(p>>>0<3){break h}ya=G[n|0]|G[n+1|0]<<8;s=ya|G[n+2|0]<<16;m=s>>>3|0;za=-20;q=ya>>>1&3;M=q;F:{switch(q-1|0){default:M=m;break;case 2:break l;case 0:break F}}sa=p-3|0;if(sa>>>0>>0){break h}aa=n+3|0;G:{H:{switch(q|0){case 0:q=-70;if(xa-U>>>0>>0){break g}if(!U){m=0;if(!M){break G}q=-74;break g}Va(U,aa,M);m=M;break G;case 1:q=-70;if(xa-U>>>0>>0){break g}if(!U){m=0;if(s>>>0<8){break G}q=-74;break g}Ta(U,G[aa|0],m);break G;case 2:break H;default:break l}}ea=xa-U|0;u=Ea-192|0;Ea=u;m=x+29384|0;p=F[m>>2];m=F[m+4>>2];Aa=!m&p>>>0>33554432|(m|0)!=0;s=-72;I:{if(M>>>0>131071){break I}A=-20;J:{K:{if(M>>>0<3){break K}L:{M:{N:{O:{m=G[aa|0];ia=m&3;switch(ia-1|0){case 0:break L;case 1:break N;case 2:break O;default:break M}}if(F[x+29440>>2]){break N}s=-30;break J}if(M>>>0<5){break K}q=3;p=G[aa|0]|G[aa+1|0]<<8|(G[aa+2|0]<<16|G[aa+3|0]<<24);P:{Q:{R:{S:{m=m>>>2&3;switch(m-2|0){case 1:break Q;case 0:break R;default:break S}}s=(m|0)!=0;n=p>>>4&1023;Y=p>>>14&1023;break P}q=4;n=p>>>4&16383;s=1;Y=p>>>18|0;break P}n=p>>>4&262143;if(n>>>0>131072){break K}s=1;q=5;Y=G[aa+4|0]<<10|p>>>22}v=q+Y|0;if(v>>>0>M>>>0){break K}T:{if(!F[x+29596>>2]|n>>>0<769){break T}m=0;while(1){if(m>>>0>16323){break T}m=m+512|0;continue}}U:{if((ia|0)==3){r=q+aa|0;q=x+29688|0;m=F[x+12>>2];if(!s){J=0;V:{if(G[m+1|0]){s=-72;W:{if(!Y){break W}X:{Y:{Z:{if(Y>>>0>=4){p=G[(r+Y|0)-1|0];s=-1;if(!p){break X}if(Y>>>0<=4294967176){break Z}s=Y;break W}K=G[r|0];_:{switch(Y-2|0){case 1:K=G[r+2|0]<<16|K;case 0:K=(G[r+1|0]<<8)+K|0;break;default:break _}}p=G[(r+Y|0)-1|0];s=-20;if(!p){break W}p=(O(p)-(Y<<3)|0)+9|0;break Y}J=Y-4|0;s=r+J|0;K=G[s|0]|G[s+1|0]<<8|(G[s+2|0]<<16|G[s+3|0]<<24);p=O(p)-23|0}y=m+4|0;z=n+q|0;t=z-3|0;Q=0-H[m+2>>1]&31;$:{aa:{while(1){ba:{if((J|0)>=4){K=p>>>3|0;o=0;m=p&7;break ba}if(!J){o=z-2|0;J=0;s=r;m=p;break aa}m=p>>>3|0;o=r>>>0>(r+J|0)-m>>>0;K=o?J:m;m=p-(K<<3)|0}J=J-K|0;s=r+J|0;K=G[s|0]|G[s+1|0]<<8|(G[s+2|0]<<16|G[s+3|0]<<24);if(!(!o&q>>>0>>0)){o=z-2|0;if(m>>>0<=32){break aa}p=m;break $}B=y+(K<>>Q<<2)|0;p=H[B>>1];D[q|0]=p;D[q+1|0]=p>>>8;q=G[B+3|0]+q|0;p=G[B+2|0]+m|0;B=y+(K<

    >>Q<<2)|0;m=H[B>>1];D[q|0]=m;D[q+1|0]=m>>>8;q=q+G[B+3|0]|0;p=p+G[B+2|0]|0;if(p>>>0<33){continue}break}o=z-2|0;break $}while(1){ca:{if((J|0)>=4){p=m&7;K=m>>>3|0;m=0;break ca}if(!J){p=m;break $}p=m;w=s;s=m>>>3|0;m=r>>>0>w-s>>>0;K=m?J:s;p=p-(K<<3)|0}J=J-K|0;s=r+J|0;K=G[s|0]|G[s+1|0]<<8|(G[s+2|0]<<16|G[s+3|0]<<24);if(m|o>>>0>>0){break $}t=y+(K<

    >>Q<<2)|0;m=H[t>>1];D[q|0]=m;D[q+1|0]=m>>>8;q=G[t+3|0]+q|0;m=G[t+2|0]+p|0;if(m>>>0<=32){continue}break}p=m}if(o>>>0>=q>>>0){while(1){t=y+(K<

    >>Q<<2)|0;m=H[t>>1];D[q|0]=m;D[q+1|0]=m>>>8;p=G[t+2|0]+p|0;q=G[t+3|0]+q|0;if(q>>>0<=o>>>0){continue}break}}da:{if(q>>>0>=z>>>0){break da}w=q;m=K<

    >>Q|0;q=y+(m<<2)|0;D[w|0]=G[q|0];if(G[q+3|0]==1){p=G[q+2|0]+p|0;break da}if(p>>>0>31){break da}m=G[(y+(m<<2)|0)+2|0]+p|0;p=m>>>0>=32?32:m}s=(r|0)!=(s|0)?-20:(p|0)!=32?-20:n}}m=s;break V}m=Mc(q,n,r,Y,m)}break U}ea:{if(G[m+1|0]){m=Jc(q,n,r,Y,m);break ea}m=Lc(q,n,r,Y,m)}break U}p=x+27308|0;ka=q+aa|0;ga=x+29688|0;t=x+10280|0;if(!s){m=Nc(t,ka,Y,p);if(m>>>0>4294967176){break U}if(m>>>0>>0){m=Mc(ga,n,m+ka|0,Y-m|0,t)}else{m=-72}break U}m=-70;fa:{if(!n){break fa}m=-20;if(!Y){break fa}s=n>>>8|0;q=L(n>>>0<=Y>>>0?15:(Y<<4>>>0)/(n>>>0)|0,24);m=L(s,F[q+400284>>2])+F[q+400280>>2]|0;ga:{if((m>>>3|0)+m>>>0>2]+L(s,F[q+400276>>2])>>>0){S=0;R=0;W=Ea-448|0;Ea=W;m=-44;la=F[t>>2];Q=p;ca=Ta(p+624|0,0,108);o=la&255;ha:{if(o>>>0>12){break ha}Z=p+1244|0;q=Oc(Z,ca,W+8|0,W+12|0,ka,Y,W+16|0);if(q>>>0<=4294967176){B=F[W+12>>2];if(B>>>0>o>>>0){break ha}ma=p+732|0;_=p+680|0;na=B+1|0;y=0;p=o;m=B;while(1){r=y;y=r+1|0;s=p;p=p-1|0;z=m;m=m-1|0;if(!F[ca+(z<<2)>>2]){continue}break}y=1;T=z+1|0;ia:{if(T>>>0<2){break ia}m=0;if(B+(r^-1)>>>0>=3){X=z&-4;while(1){V=y<<2;J=F[V+ca>>2];F[V+_>>2]=R;p=V+4|0;C=F[p+ca>>2];J=J+R|0;F[p+_>>2]=J;p=V+8|0;P=F[p+ca>>2];C=C+J|0;F[p+_>>2]=C;p=V+12|0;J=F[p+ca>>2];w=p+_|0;p=C+P|0;F[w>>2]=p;R=p+J|0;y=y+4|0;S=S+4|0;if((X|0)!=(S|0)){continue}break}}C=z&3;if(!C){break ia}while(1){J=y<<2;p=F[J+ca>>2];F[J+_>>2]=R;y=y+1|0;R=p+R|0;m=m+1|0;if((C|0)!=(m|0)){continue}break}}F[_>>2]=R;S=F[W+8>>2];ja:{if(!S){break ja}y=0;if((S|0)!=1){P=S&-2;p=0;while(1){J=G[y+Z|0];m=_+(J<<2)|0;C=F[m>>2];F[m>>2]=C+1;m=(C<<1)+ma|0;D[m+1|0]=J;D[m|0]=y;C=y|1;J=G[C+Z|0];m=_+(J<<2)|0;X=F[m>>2];F[m>>2]=X+1;m=(X<<1)+ma|0;D[m+1|0]=J;D[m|0]=C;y=y+2|0;p=p+2|0;if((P|0)!=(p|0)){continue}break}}if(!(S&1)){break ja}p=G[y+Z|0];m=_+(p<<2)|0;J=F[m>>2];F[m>>2]=J+1;m=(J<<1)+ma|0;D[m+1|0]=p;D[m|0]=y}y=0;F[_>>2]=0;ka:{if(T>>>0>=2){S=1;P=B+(r^-1)|0;if(P){X=(B^-1)+o|0;C=z&-2;m=0;while(1){p=S<<2;J=F[p+ca>>2];F[p+Q>>2]=y;B=S+1|0;p=B<<2;r=F[p+ca>>2];w=p+Q|0;p=(J<>2]=p;y=p+(r<>2]=y}r=na-z|0;if(T>>>0<2|r>>>0>=(o-r|0)+1>>>0){break ka}J=z&-4;z=z&3;m=r;while(1){C=L(m,52)+Q|0;p=0;K=1;if(P>>>0>=3){while(1){y=K<<2;F[y+C>>2]=F[y+Q>>2]>>>m;B=y+4|0;F[B+C>>2]=F[B+Q>>2]>>>m;B=y+8|0;F[B+C>>2]=F[B+Q>>2]>>>m;B=y+12|0;F[B+C>>2]=F[B+Q>>2]>>>m;K=K+4|0;p=p+4|0;if((J|0)!=(p|0)){continue}break}}y=0;if(z){while(1){p=K<<2;F[p+C>>2]=F[p+Q>>2]>>>m;K=K+1|0;y=y+1|0;if((z|0)!=(y|0)){continue}break}}m=m+1|0;if((s|0)!=(m|0)){continue}break}break ka}r=na-z|0}F[W+432>>2]=F[Q+48>>2];m=F[Q+44>>2];F[W+424>>2]=F[Q+40>>2];F[W+428>>2]=m;m=F[Q+36>>2];F[W+416>>2]=F[Q+32>>2];F[W+420>>2]=m;m=F[Q+28>>2];F[W+408>>2]=F[Q+24>>2];F[W+412>>2]=m;m=F[Q+20>>2];F[W+400>>2]=F[Q+16>>2];F[W+404>>2]=m;m=F[Q+4>>2];F[W+384>>2]=F[Q>>2];F[W+388>>2]=m;m=F[Q+12>>2];F[W+392>>2]=F[Q+8>>2];F[W+396>>2]=m;if(R){X=Q+676|0;_=t+4|0;P=na-o|0;ca=0;while(1){p=(ca<<1)+ma|0;m=G[p+1|0];oa=na-m|0;w=o-oa|0;V=1<>2];la:{if(r>>>0<=w>>>0){m=P+oa|0;B=(m|0)<=1?1:m;s=B<<2;T=F[s+X>>2];z=L(oa,52)+Q|0;F[W- -64>>2]=F[z+48>>2];m=F[z+44>>2];F[W+56>>2]=F[z+40>>2];F[W+60>>2]=m;m=F[z+36>>2];F[W+48>>2]=F[z+32>>2];F[W+52>>2]=m;m=F[z+28>>2];F[W+40>>2]=F[z+24>>2];F[W+44>>2]=m;m=F[z+20>>2];F[W+32>>2]=F[z+16>>2];F[W+36>>2]=m;m=F[z+12>>2];F[W+24>>2]=F[z+8>>2];F[W+28>>2]=m;m=F[z+4>>2];F[W+16>>2]=F[z>>2];F[W+20>>2]=m;da=_+(p<<2)|0;ma:{if(B>>>0<2){break ma}z=F[s+(W+16|0)>>2];if(!z){break ma}$=Z|oa<<16&16711680|16777216;m=0;y=0;if(z>>>0>=8){B=z&-8;K=0;while(1){S=y<<2;s=S+da|0;E[s>>1]=$;J=$>>>16|0;E[s+2>>1]=J;s=(S|4)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|8)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|12)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|16)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|20)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|24)+da|0;E[s>>1]=$;E[s+2>>1]=J;s=(S|28)+da|0;E[s>>1]=$;E[s+2>>1]=J;y=y+8|0;K=K+8|0;if((B|0)!=(K|0)){continue}break}}B=z&7;if(!B){break ma}while(1){s=(y<<2)+da|0;E[s>>1]=$;E[s+2>>1]=$>>>16;y=y+1|0;m=m+1|0;if((B|0)!=(m|0)){continue}break}}if((R|0)!=(T|0)){J=R-T|0;y=(T<<1)+ma|0;m=0;while(1){z=y+(m<<1)|0;s=G[z+1|0];S=na-s|0;B=(W+16|0)+(s<<2)|0;K=F[B>>2];T=K+(1<>1]=z;E[s+2>>1]=z>>>16;K=K+1|0;if(T>>>0>K>>>0){continue}break}F[B>>2]=T;m=m+1|0;if((J|0)!=(m|0)){continue}break}}S=p+V|0;break la}S=p+V|0;if(p>>>0>=S>>>0){break la}z=Z|oa<<16&16711680|16777216;if(w>>>0<=2){B=V&7;m=0;while(1){s=_+(p<<2)|0;E[s>>1]=z;E[s+2>>1]=z>>>16;p=p+1|0;m=m+1|0;if((B|0)!=(m|0)){continue}break}}if(w>>>0<3){break la}while(1){s=_+(p<<2)|0;E[s>>1]=z;m=z>>>16|0;E[s+2>>1]=m;E[s+4>>1]=z;E[s+6>>1]=m;E[s+8>>1]=z;E[s+10>>1]=m;E[s+12>>1]=z;E[s+14>>1]=m;E[s+16>>1]=z;E[s+18>>1]=m;E[s+20>>1]=z;E[s+22>>1]=m;E[s+24>>1]=z;E[s+26>>1]=m;E[s+28>>1]=z;E[s+30>>1]=m;p=p+8|0;if((p|0)!=(S|0)){continue}break}}F[C>>2]=S;ca=ca+1|0;if((R|0)!=(ca|0)){continue}break}}F[t>>2]=la&-16777216|o<<16|o|256}m=q}Ea=W+448|0;if(m>>>0>4294967176){break fa}p=-72;if(m>>>0>=Y>>>0){break ga}m=Jc(ga,n,m+ka|0,Y-m|0,t);break fa}m=Nc(t,ka,Y,p);if(m>>>0>4294967176){break fa}p=-72;if(m>>>0>=Y>>>0){break ga}p=Lc(ga,n,m+ka|0,Y-m|0,t)}m=p}}if(m>>>0>4294967176){break K}F[x+29568>>2]=n;F[x+29440>>2]=1;m=x+29688|0;F[x+29552>>2]=m;if((ia|0)==2){F[x+12>>2]=x+10280}m=m+n|0;D[m|0]=0;D[m+1|0]=0;D[m+2|0]=0;D[m+3|0]=0;D[m+4|0]=0;D[m+5|0]=0;D[m+6|0]=0;D[m+7|0]=0;D[m+24|0]=0;D[m+25|0]=0;D[m+26|0]=0;D[m+27|0]=0;D[m+28|0]=0;D[m+29|0]=0;D[m+30|0]=0;D[m+31|0]=0;D[m+16|0]=0;D[m+17|0]=0;D[m+18|0]=0;D[m+19|0]=0;D[m+20|0]=0;D[m+21|0]=0;D[m+22|0]=0;D[m+23|0]=0;D[m+8|0]=0;D[m+9|0]=0;D[m+10|0]=0;D[m+11|0]=0;D[m+12|0]=0;D[m+13|0]=0;D[m+14|0]=0;D[m+15|0]=0;s=v;break J}n=2;na:{oa:{switch((m>>>2&3)-1|0){default:n=1;p=m>>>3|0;break na;case 0:p=(G[aa|0]|G[aa+1|0]<<8)>>>4|0;break na;case 2:break oa}}n=3;p=(G[aa|0]|G[aa+1|0]<<8|G[aa+2|0]<<16)>>>4|0}s=n+p|0;if(s+32>>>0>M>>>0){if(s>>>0>M>>>0){break K}m=Va(x+29688|0,n+aa|0,p);F[x+29568>>2]=p;F[x+29552>>2]=m;m=m+p|0;D[m+24|0]=0;D[m+25|0]=0;D[m+26|0]=0;D[m+27|0]=0;D[m+28|0]=0;D[m+29|0]=0;D[m+30|0]=0;D[m+31|0]=0;D[m+16|0]=0;D[m+17|0]=0;D[m+18|0]=0;D[m+19|0]=0;D[m+20|0]=0;D[m+21|0]=0;D[m+22|0]=0;D[m+23|0]=0;D[m+8|0]=0;D[m+9|0]=0;D[m+10|0]=0;D[m+11|0]=0;D[m+12|0]=0;D[m+13|0]=0;D[m+14|0]=0;D[m+15|0]=0;D[m|0]=0;D[m+1|0]=0;D[m+2|0]=0;D[m+3|0]=0;D[m+4|0]=0;D[m+5|0]=0;D[m+6|0]=0;D[m+7|0]=0;break J}F[x+29568>>2]=p;F[x+29552>>2]=n+aa;break J}n=2;pa:{qa:{switch((m>>>2&3)-1|0){default:n=1;p=m>>>3|0;break pa;case 0:p=(G[aa|0]|G[aa+1|0]<<8)>>>4|0;break pa;case 2:break qa}}if(M>>>0<4){break K}m=G[aa|0]|G[aa+1|0]<<8|G[aa+2|0]<<16;if(m>>>0>2097167){break K}n=3;p=m>>>4|0}m=Ta(x+29688|0,G[n+aa|0],p+32|0);F[x+29568>>2]=p;F[x+29552>>2]=m;A=n+1|0}s=A}if(s>>>0>4294967176){break I}n=F[x+29596>>2];B=s+aa|0;q=-72;r=M-s|0;A=r;ra:{sa:{if(!r){break sa}p=G[B|0];if(!p){F[u+40>>2]=0;m=(r|0)==1?1:-72;break ra}m=p<<24>>24;s=B+1|0;ta:{if((m|0)>=0){break ta}if((m|0)==-1){if((A|0)<3){break sa}p=(G[B+1|0]|G[B+2|0]<<8)+32512|0;s=B+3|0;break ta}if((A|0)<2){break sa}p=(G[B+1|0]|p<<8)-32768|0;s=B+2|0}m=s;F[u+40>>2]=p;s=m+1|0;t=A+B|0;if(s>>>0>t>>>0){break sa}q=-20;v=G[m|0];A=x+27308|0;m=Ob(x+16|0,x,v>>>6|0,35,9,s,t-s|0,401360,401504,401664,F[x+29444>>2],F[x+29596>>2],p,A);if(m>>>0>4294967176){break sa}s=m+s|0;m=Ob(x+4120|0,x+8|0,v>>>4&3,31,8,s,t-s|0,400656,400784,402192,F[x+29444>>2],F[x+29596>>2],p,A);if(m>>>0>4294967176){break sa}s=m+s|0;m=Ob(x+6176|0,x+4|0,v>>>2&3,52,9,s,t-s|0,400912,401136,402464,F[x+29444>>2],F[x+29596>>2],p,A);if(m>>>0>4294967176){break sa}q=(m+s|0)-B|0}m=q}if(m>>>0>4294967176){s=m;break I}$=F[u+40>>2];if(!U){s=-70;if(($|0)>0){break I}}p=r-m|0;R=m+B|0;ua:{va:{wa:{if(!n){s=x+29384|0;n=F[s>>2];if(!F[s+4>>2]&n>>>0<16777217|($|0)<=4){break va}s=F[x+8>>2];n=s+8|0;A=F[s+4>>2];q=0;s=0;while(1){q=(G[(n+(s<<3)|0)+2|0]>22)+q|0;s=s+1|0;if(!(s>>>A|0)){continue}break}F[x+29596>>2]=0;if(q<<8-A>>>0<20){break ua}break wa}F[x+29596>>2]=0}q=F[x+29552>>2];F[u+188>>2]=q;ka=U+ea|0;na=F[x+29568>>2]+q|0;n=U;if($){da=F[x+29368>>2];oa=F[x+29364>>2];B=F[x+29360>>2];F[x+29444>>2]=1;F[u+96>>2]=F[x+26676>>2];z=x+26668|0;q=z;s=F[q+4>>2];F[u+88>>2]=F[q>>2];F[u+92>>2]=s;F[u+104>>2]=da;F[u+100>>2]=B;ea=n-B|0;F[u+108>>2]=ea;s=-20;if((m|0)==(r|0)){break I}F[u+56>>2]=R;F[u+60>>2]=R+4;xa:{if(p>>>0>=4){n=p-4|0;m=R+n|0;F[u+52>>2]=m;q=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);F[u+44>>2]=q;if(q>>>0<16777216){break I}m=O(q>>>24|0)-23|0;F[u+48>>2]=m;if(p>>>0<=4294967176){break xa}break I}F[u+52>>2]=R;q=G[R|0];F[u+44>>2]=q;ya:{switch(p-2|0){case 1:q=G[R+2|0]<<16|q;case 0:q=(G[R+1|0]<<8)+q|0;F[u+44>>2]=q;break;default:break ya}}m=G[(p+R|0)-1|0];if(!m){break I}m=(O(m)-(p<<3)|0)+9|0;F[u+48>>2]=m;n=0}A=F[x>>2];p=F[A+4>>2];m=p+m|0;F[u+48>>2]=m;V=F[(p<<2)+402992>>2]&q>>>0-m;F[u+64>>2]=V;za:{if(m>>>0>32){break za}Aa:{if((n|0)>=4){n=n-(m>>>3|0)|0;F[u+52>>2]=R+n;m=m&7;break Aa}if(!n){n=0;break za}p=m>>>3|0;p=(n+R|0)-p>>>0>>0?n:p;n=n-p|0;F[u+52>>2]=R+n;m=m-(p<<3)|0}F[u+48>>2]=m;p=n+R|0;q=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[u+44>>2]=q}v=($|0)<4;X=A+8|0;F[u+68>>2]=X;A=F[x+8>>2];p=F[A+4>>2];m=p+m|0;F[u+48>>2]=m;t=F[(p<<2)+402992>>2]&q>>>0-m;F[u+72>>2]=t;Ba:{if(m>>>0>32){break Ba}Ca:{if((n|0)>=4){n=n-(m>>>3|0)|0;F[u+52>>2]=R+n;m=m&7;break Ca}if(!n){n=0;break Ba}p=m>>>3|0;p=(n+R|0)-p>>>0>>0?n:p;n=n-p|0;F[u+52>>2]=R+n;m=m-(p<<3)|0}F[u+48>>2]=m;p=n+R|0;q=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[u+44>>2]=q}w=v?$:4;P=A+8|0;F[u+76>>2]=P;v=F[x+4>>2];p=F[v+4>>2];m=p+m|0;F[u+48>>2]=m;A=0;T=F[(p<<2)+402992>>2]&q>>>0-m;F[u+80>>2]=T;Da:{Ea:{if(m>>>0>=33){F[u+84>>2]=v+8;break Ea}Fa:{if((n|0)>=4){p=m&7;F[u+48>>2]=p;o=n-(m>>>3|0)|0;m=R+o|0;F[u+52>>2]=m;q=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);F[u+84>>2]=v+8;F[u+44>>2]=q;m=p;break Fa}if(!n){F[u+84>>2]=v+8;o=0;break Fa}q=m;m=m>>>3|0;p=(n+R|0)-m>>>0>>0?n:m;m=q-(p<<3)|0;F[u+48>>2]=m;o=n-p|0;p=R+o|0;F[u+52>>2]=p;q=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[u+84>>2]=v+8;F[u+44>>2]=q;if(m>>>0>32){break Ea}}Q=(w|0)>0?w:0;C=v+8|0;r=F[u+92>>2];v=F[u+88>>2];while(1){Ga:{Ha:{if((o|0)>=4){n=m&7;F[u+48>>2]=n;o=o-(m>>>3|0)|0;m=R+o|0;F[u+52>>2]=m;q=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);break Ha}if(!o){o=0;n=m;break Ga}p=m;m=m>>>3|0;m=(o+R|0)-m>>>0>>0?o:m;n=p-(m<<3)|0;F[u+48>>2]=n;o=o-m|0;m=R+o|0;F[u+52>>2]=m;q=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24)}F[u+44>>2]=q}if((A|0)==(Q|0)){m=n;A=Q;break Da}m=X+(V<<3)|0;ga=F[m>>2];m=F[m+4>>2];K=m;J=(m&65535)<<16|ga>>>16;ia=J&255;m=C+(T<<3)|0;_=F[m>>2];m=F[m+4>>2];y=(m&65535)<<16|_>>>16;la=y&255;p=P+(t<<3)|0;ca=F[p>>2];V=F[p+4>>2];p=(V&65535)<<16|ca>>>16;ma=p&255;Ia:{Ja:{Ka:{if(ma>>>0>=2){S=o+R|0;if(!(!Aa|ma>>>0<25)){T=32-n|0;p=T>>>0>>0?T:ma;Z=ma-p|0;t=q<>>0-p<>>0>32){break La}Ma:{if((o|0)>=4){o=o-(n>>>3|0)|0;F[u+52>>2]=R+o;n=n&7;break Ma}if(!o){o=0;break La}p=n>>>3|0;p=S-p>>>0>>0?o:p;o=o-p|0;F[u+52>>2]=R+o;n=n-(p<<3)|0}F[u+48>>2]=n;p=o+R|0;q=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[u+44>>2]=q}p=t+V|0;if(T>>>0>=ma>>>0){break Ka}p=(q<>>0-Z|0)+p|0;n=n+Z|0;break Ka}p=V+(q<>>0-p|0)|0;t=n+ma|0;if(t>>>0>32){n=t;break Ka}if((o|0)>=4){n=t&7;F[u+48>>2]=n;o=o-(t>>>3|0)|0;q=R+o|0;F[u+52>>2]=q;q=G[q|0]|G[q+1|0]<<8|(G[q+2|0]<<16|G[q+3|0]<<24);F[u+44>>2]=q;break Ka}if(!o){o=0;n=t;break Ka}n=t>>>3|0;n=S-n>>>0>>0?o:n;o=o-n|0;q=R+o|0;F[u+52>>2]=q;q=G[q|0]|G[q+1|0]<<8|(G[q+2|0]<<16|G[q+3|0]<<24);F[u+44>>2]=q;n=t-(n<<3)|0;break Ka}if(!ma){p=r;if(!K){break Ja}break Ia}t=n+1|0;F[u+48>>2]=t;T=V+(!K+(q<>>31|0)|0)|0;if((T|0)==3){p=v-1|0;p=!p+p|0;n=t;break Ka}p=F[((T<<2)+u|0)+88>>2];p=!p+p|0;n=t;if((T|0)==1){break Ja}}F[u+96>>2]=r}F[u+88>>2]=p;F[u+92>>2]=v;r=v;v=p}t=ia+la|0;p=m;Na:{if(!(_&16711680)){m=n;break Na}m=n+la|0;F[u+48>>2]=m;p=(q<>>0-y|0)+p|0}Oa:{if(t>>>0<20|m>>>0>32){break Oa}Pa:{if((o|0)>=4){o=o-(m>>>3|0)|0;F[u+52>>2]=R+o;m=m&7;break Pa}if(!o){o=0;break Oa}n=m>>>3|0;n=(o+R|0)-n>>>0>>0?o:n;o=o-n|0;F[u+52>>2]=R+o;m=m-(n<<3)|0}n=o+R|0;q=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);F[u+44>>2]=q}y=_>>>24|0;t=ga>>>24|0;if(ga&16711680){K=(q<>>0-J|0)+K|0;m=m+ia|0}Qa:{if(m>>>0>32){break Qa}Ra:{if((o|0)>=4){o=o-(m>>>3|0)|0;F[u+52>>2]=R+o;m=m&7;break Ra}if(!o){o=0;break Qa}n=m>>>3|0;n=(o+R|0)-n>>>0>>0?o:n;o=o-n|0;F[u+52>>2]=R+o;m=m-(n<<3)|0}n=o+R|0;q=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);F[u+44>>2]=q}J=(u+112|0)+(A<<4)|0;n=K+ea|0;ea=n+p|0;F[u+108>>2]=ea;m=m+t|0;V=(F[(t<<2)+402992>>2]&q>>>0-m)+(ga&65535)|0;F[u+64>>2]=V;m=m+y|0;T=(F[(y<<2)+402992>>2]&q>>>0-m)+(_&65535)|0;F[u+80>>2]=T;y=(n+(n>>>0>>0?da:B)|0)-v|0;Sa:{if(m>>>0>32){break Sa}Ta:{if((o|0)>=4){o=o-(m>>>3|0)|0;F[u+52>>2]=R+o;m=m&7;break Ta}if(!o){o=0;break Sa}n=m>>>3|0;n=(o+R|0)-n>>>0>>0?o:n;o=o-n|0;F[u+52>>2]=R+o;m=m-(n<<3)|0}n=o+R|0;q=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);F[u+44>>2]=q}n=ca>>>24|0;m=n+m|0;F[u+48>>2]=m;t=(F[(n<<2)+402992>>2]&q>>>0-m)+(ca&65535)|0;F[u+72>>2]=t;F[J+12>>2]=y;F[J+8>>2]=v;F[J+4>>2]=p;F[J>>2]=K;A=A+1|0;if(m>>>0<=32){continue}break}}if((w|0)>(A|0)){break I}}y=ka-32|0;n=U;Ua:{while(1){if(m>>>0>=33){if((A|0)<($|0)){break I}break Ua}o=F[u+52>>2];ea=F[u+60>>2];Va:{if(o>>>0>=ea>>>0){p=m&7;F[u+48>>2]=p;o=o-(m>>>3|0)|0;F[u+52>>2]=o;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);break Va}q=F[u+56>>2];if((q|0)==(o|0)){p=m;break Va}p=m>>>3|0;p=q>>>0>o-p>>>0?o-q|0:p;o=o-p|0;F[u+52>>2]=o;p=m-(p<<3)|0;F[u+48>>2]=p;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24)}if((A|0)>=($|0)){break Ua}m=F[u+68>>2]+(F[u+64>>2]<<3)|0;ia=F[m>>2];m=F[m+4>>2];K=m;Q=(m&65535)<<16|ia>>>16;P=Q&255;m=F[u+84>>2]+(F[u+80>>2]<<3)|0;la=F[m>>2];m=F[m+4>>2];t=(m&65535)<<16|la>>>16;C=t&255;q=F[u+76>>2]+(F[u+72>>2]<<3)|0;S=F[q>>2];T=F[q+4>>2];q=(T&65535)<<16|S>>>16;Z=q&255;Wa:{if(Z>>>0>=2){Xa:{if(!(!Aa|Z>>>0<25)){J=32-p|0;q=J>>>0>>0?J:Z;X=Z-q|0;V=F[u+44>>2];v=V<

    >>0-q<>>0>32){break Ya}Za:{if(o>>>0>=ea>>>0){o=o-(q>>>3|0)|0;F[u+52>>2]=o;q=q&7;break Za}r=F[u+56>>2];if((r|0)==(o|0)){break Ya}p=q>>>3|0;p=r>>>0>o-p>>>0?o-r|0:p;o=o-p|0;F[u+52>>2]=o;q=q-(p<<3)|0}F[u+48>>2]=q;V=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);F[u+44>>2]=V}v=v+T|0;if(J>>>0>=Z>>>0){break Xa}v=(V<>>0-X|0)+v|0;q=q+X|0;break Xa}v=T+(F[u+44>>2]<

    >>0-q|0)|0;p=p+Z|0;if(p>>>0>32){q=p;break Xa}if(o>>>0>=ea>>>0){q=p&7;F[u+48>>2]=q;o=o-(p>>>3|0)|0;F[u+52>>2]=o;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);break Xa}r=F[u+56>>2];if((r|0)==(o|0)){q=p;break Xa}q=p>>>3|0;q=r>>>0>o-q>>>0?o-r|0:q;o=o-q|0;F[u+52>>2]=o;q=p-(q<<3)|0;F[u+48>>2]=q;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24)}r=F[u+88>>2];p=F[u+92>>2];F[u+88>>2]=v;F[u+92>>2]=r;F[u+96>>2]=p;break Wa}if(!Z){if(K){v=F[u+88>>2];q=p;break Wa}v=F[u+92>>2];F[u+92>>2]=F[u+88>>2];F[u+88>>2]=v;q=p;break Wa}q=p+1|0;F[u+48>>2]=q;r=T+!K+(F[u+44>>2]<

    >>31)|0;_a:{$a:{if((r|0)==3){p=F[u+88>>2]-1|0;v=!p+p|0;break $a}p=F[((r<<2)+u|0)+88>>2];v=!p+p|0;if((r|0)==1){break _a}}F[u+96>>2]=F[u+92>>2]}F[u+92>>2]=F[u+88>>2];F[u+88>>2]=v}p=m;if(la&16711680){p=(F[u+44>>2]<>>0-t|0)+m|0;q=q+C|0}ab:{if(C+P>>>0<20|q>>>0>32){break ab}bb:{if(o>>>0>=ea>>>0){o=o-(q>>>3|0)|0;F[u+52>>2]=o;q=q&7;break bb}r=F[u+56>>2];if((r|0)==(o|0)){break ab}m=q>>>3|0;m=r>>>0>o-m>>>0?o-r|0:m;o=o-m|0;F[u+52>>2]=o;q=q-(m<<3)|0}F[u+48>>2]=q;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24)}if(ia&16711680){K=(F[u+44>>2]<>>0-Q|0)+K|0;q=q+P|0}Q=la>>>24|0;t=ia>>>24|0;cb:{if(q>>>0>32){break cb}db:{if(o>>>0>=ea>>>0){o=o-(q>>>3|0)|0;F[u+52>>2]=o;q=q&7;break db}r=F[u+56>>2];if((r|0)==(o|0)){break cb}m=q>>>3|0;m=r>>>0>o-m>>>0?o-r|0:m;o=o-m|0;F[u+52>>2]=o;q=q-(m<<3)|0}F[u+48>>2]=q;F[u+44>>2]=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24)}J=F[u+108>>2]+K|0;F[u+108>>2]=J+p;m=F[u+44>>2];q=q+t|0;F[u+64>>2]=(F[(t<<2)+402992>>2]&m>>>0-q)+(ia&65535);q=q+Q|0;F[u+80>>2]=(F[(Q<<2)+402992>>2]&m>>>0-q)+(la&65535);Q=F[(u+44|0)+(v>>>0>J>>>0?60:56)>>2];eb:{if(q>>>0>32){break eb}fb:{if(o>>>0>=ea>>>0){o=o-(q>>>3|0)|0;F[u+52>>2]=o;q=q&7;break fb}r=F[u+56>>2];if((r|0)==(o|0)){break eb}m=q>>>3|0;m=r>>>0>o-m>>>0?o-r|0:m;o=o-m|0;F[u+52>>2]=o;q=q-(m<<3)|0}F[u+48>>2]=q;m=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);F[u+44>>2]=m}r=S>>>24|0;q=q+r|0;F[u+48>>2]=q;F[u+72>>2]=(F[(r<<2)+402992>>2]&m>>>0-q)+(S&65535);gb:{hb:{P=F[u+188>>2];T=(u+112|0)+((A&3)<<4)|0;C=F[T>>2];m=P+C|0;ib:{if(m>>>0>na>>>0){break ib}V=F[T+4>>2];r=C+V|0;if(y>>>0>>0){break ib}if(r+32>>>0<=ka-n>>>0){break hb}}m=F[T+12>>2];F[u+32>>2]=F[T+8>>2];F[u+36>>2]=m;m=F[T+4>>2];F[u+24>>2]=F[T>>2];F[u+28>>2]=m;r=Pb(n,ka,u+24|0,u+188|0,na,B,oa,da);break gb}q=n+C|0;X=F[T+8>>2];o=G[P+4|0]|G[P+5|0]<<8|(G[P+6|0]<<16|G[P+7|0]<<24);t=G[P|0]|G[P+1|0]<<8|(G[P+2|0]<<16|G[P+3|0]<<24);D[n|0]=t;D[n+1|0]=t>>>8;D[n+2|0]=t>>>16;D[n+3|0]=t>>>24;D[n+4|0]=o;D[n+5|0]=o>>>8;D[n+6|0]=o>>>16;D[n+7|0]=o>>>24;o=G[P+12|0]|G[P+13|0]<<8|(G[P+14|0]<<16|G[P+15|0]<<24);t=G[P+8|0]|G[P+9|0]<<8|(G[P+10|0]<<16|G[P+11|0]<<24);D[n+8|0]=t;D[n+9|0]=t>>>8;D[n+10|0]=t>>>16;D[n+11|0]=t>>>24;D[n+12|0]=o;D[n+13|0]=o>>>8;D[n+14|0]=o>>>16;D[n+15|0]=o>>>24;jb:{if(C>>>0<17){break jb}o=G[P+20|0]|G[P+21|0]<<8|(G[P+22|0]<<16|G[P+23|0]<<24);t=G[P+16|0]|G[P+17|0]<<8|(G[P+18|0]<<16|G[P+19|0]<<24);D[n+16|0]=t;D[n+17|0]=t>>>8;D[n+18|0]=t>>>16;D[n+19|0]=t>>>24;D[n+20|0]=o;D[n+21|0]=o>>>8;D[n+22|0]=o>>>16;D[n+23|0]=o>>>24;o=G[P+28|0]|G[P+29|0]<<8|(G[P+30|0]<<16|G[P+31|0]<<24);t=G[P+24|0]|G[P+25|0]<<8|(G[P+26|0]<<16|G[P+27|0]<<24);D[n+24|0]=t;D[n+25|0]=t>>>8;D[n+26|0]=t>>>16;D[n+27|0]=t>>>24;D[n+28|0]=o;D[n+29|0]=o>>>8;D[n+30|0]=o>>>16;D[n+31|0]=o>>>24;if((C-16|0)<17){break jb}o=P+16|0;t=n+32|0;while(1){P=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);C=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[t|0]=C;D[t+1|0]=C>>>8;D[t+2|0]=C>>>16;D[t+3|0]=C>>>24;D[t+4|0]=P;D[t+5|0]=P>>>8;D[t+6|0]=P>>>16;D[t+7|0]=P>>>24;P=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);C=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[t+8|0]=C;D[t+9|0]=C>>>8;D[t+10|0]=C>>>16;D[t+11|0]=C>>>24;D[t+12|0]=P;D[t+13|0]=P>>>8;D[t+14|0]=P>>>16;D[t+15|0]=P>>>24;P=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);C=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[t+16|0]=C;D[t+17|0]=C>>>8;D[t+18|0]=C>>>16;D[t+19|0]=C>>>24;D[t+20|0]=P;D[t+21|0]=P>>>8;D[t+22|0]=P>>>16;D[t+23|0]=P>>>24;P=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);C=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[t+24|0]=C;D[t+25|0]=C>>>8;D[t+26|0]=C>>>16;D[t+27|0]=C>>>24;D[t+28|0]=P;D[t+29|0]=P>>>8;D[t+30|0]=P>>>16;D[t+31|0]=P>>>24;o=o+32|0;t=t+32|0;if(t>>>0>>0){continue}break}}o=q-X|0;F[u+188>>2]=m;if(X>>>0>q-B>>>0){if(X>>>0>q-oa>>>0){break I}t=o-B|0;m=t+da|0;if(m+V>>>0<=da>>>0){db(q,m,V);break gb}V=t+V|0;o=B;q=db(q,m,0-t|0)-t|0}if(X>>>0>=16){t=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);m=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24;t=G[o+12|0]|G[o+13|0]<<8|(G[o+14|0]<<16|G[o+15|0]<<24);m=G[o+8|0]|G[o+9|0]<<8|(G[o+10|0]<<16|G[o+11|0]<<24);D[q+8|0]=m;D[q+9|0]=m>>>8;D[q+10|0]=m>>>16;D[q+11|0]=m>>>24;D[q+12|0]=t;D[q+13|0]=t>>>8;D[q+14|0]=t>>>16;D[q+15|0]=t>>>24;if((V|0)<17){break gb}m=q+V|0;q=q+16|0;while(1){C=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);t=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[q|0]=t;D[q+1|0]=t>>>8;D[q+2|0]=t>>>16;D[q+3|0]=t>>>24;D[q+4|0]=C;D[q+5|0]=C>>>8;D[q+6|0]=C>>>16;D[q+7|0]=C>>>24;C=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);t=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[q+8|0]=t;D[q+9|0]=t>>>8;D[q+10|0]=t>>>16;D[q+11|0]=t>>>24;D[q+12|0]=C;D[q+13|0]=C>>>8;D[q+14|0]=C>>>16;D[q+15|0]=C>>>24;C=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);t=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[q+16|0]=t;D[q+17|0]=t>>>8;D[q+18|0]=t>>>16;D[q+19|0]=t>>>24;D[q+20|0]=C;D[q+21|0]=C>>>8;D[q+22|0]=C>>>16;D[q+23|0]=C>>>24;C=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);t=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[q+24|0]=t;D[q+25|0]=t>>>8;D[q+26|0]=t>>>16;D[q+27|0]=t>>>24;D[q+28|0]=C;D[q+29|0]=C>>>8;D[q+30|0]=C>>>16;D[q+31|0]=C>>>24;o=o+32|0;q=q+32|0;if(m>>>0>q>>>0){continue}break}break gb}kb:{if(X>>>0<=7){D[q|0]=G[o|0];D[q+1|0]=G[o+1|0];D[q+2|0]=G[o+2|0];D[q+3|0]=G[o+3|0];m=X<<2;o=F[m+403152>>2]+o|0;t=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24;o=o-F[m+403184>>2]|0;break kb}t=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);m=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24}if(V>>>0<9){break gb}t=q+V|0;m=q+8|0;o=o+8|0;if((m-o|0)<=15){while(1){C=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);q=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[m|0]=q;D[m+1|0]=q>>>8;D[m+2|0]=q>>>16;D[m+3|0]=q>>>24;D[m+4|0]=C;D[m+5|0]=C>>>8;D[m+6|0]=C>>>16;D[m+7|0]=C>>>24;o=o+8|0;m=m+8|0;if(t>>>0>m>>>0){continue}break gb}}P=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);C=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[m|0]=C;D[m+1|0]=C>>>8;D[m+2|0]=C>>>16;D[m+3|0]=C>>>24;D[m+4|0]=P;D[m+5|0]=P>>>8;D[m+6|0]=P>>>16;D[m+7|0]=P>>>24;P=G[o+12|0]|G[o+13|0]<<8|(G[o+14|0]<<16|G[o+15|0]<<24);C=G[o+8|0]|G[o+9|0]<<8|(G[o+10|0]<<16|G[o+11|0]<<24);D[m+8|0]=C;D[m+9|0]=C>>>8;D[m+10|0]=C>>>16;D[m+11|0]=C>>>24;D[m+12|0]=P;D[m+13|0]=P>>>8;D[m+14|0]=P>>>16;D[m+15|0]=P>>>24;if((V|0)<25){break gb}q=q+24|0;while(1){C=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);m=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=C;D[q+5|0]=C>>>8;D[q+6|0]=C>>>16;D[q+7|0]=C>>>24;C=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);m=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[q+8|0]=m;D[q+9|0]=m>>>8;D[q+10|0]=m>>>16;D[q+11|0]=m>>>24;D[q+12|0]=C;D[q+13|0]=C>>>8;D[q+14|0]=C>>>16;D[q+15|0]=C>>>24;C=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);m=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[q+16|0]=m;D[q+17|0]=m>>>8;D[q+18|0]=m>>>16;D[q+19|0]=m>>>24;D[q+20|0]=C;D[q+21|0]=C>>>8;D[q+22|0]=C>>>16;D[q+23|0]=C>>>24;C=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);m=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[q+24|0]=m;D[q+25|0]=m>>>8;D[q+26|0]=m>>>16;D[q+27|0]=m>>>24;D[q+28|0]=C;D[q+29|0]=C>>>8;D[q+30|0]=C>>>16;D[q+31|0]=C>>>24;o=o+32|0;q=q+32|0;if(t>>>0>q>>>0){continue}break}}if(r>>>0<=4294967176){F[T+12>>2]=(J+Q|0)-v;F[T+8>>2]=v;F[T+4>>2]=p;F[T>>2]=K;A=A+1|0;n=n+r|0;m=F[u+48>>2];continue}break}s=r;break I}p=A-w|0;if(($|0)>(p|0)){v=ka-32|0;while(1){lb:{mb:{J=F[u+188>>2];t=(u+112|0)+((p&3)<<4)|0;Q=F[t>>2];m=J+Q|0;nb:{if(m>>>0>na>>>0){break nb}r=F[t+4>>2];A=Q+r|0;if(v>>>0>>0){break nb}if(A+32>>>0<=ka-n>>>0){break mb}}m=F[t+12>>2];F[u+16>>2]=F[t+8>>2];F[u+20>>2]=m;m=F[t+4>>2];F[u+8>>2]=F[t>>2];F[u+12>>2]=m;A=Pb(n,ka,u+8|0,u+188|0,na,B,oa,da);break lb}q=n+Q|0;y=F[t+8>>2];o=G[J+4|0]|G[J+5|0]<<8|(G[J+6|0]<<16|G[J+7|0]<<24);t=G[J|0]|G[J+1|0]<<8|(G[J+2|0]<<16|G[J+3|0]<<24);D[n|0]=t;D[n+1|0]=t>>>8;D[n+2|0]=t>>>16;D[n+3|0]=t>>>24;D[n+4|0]=o;D[n+5|0]=o>>>8;D[n+6|0]=o>>>16;D[n+7|0]=o>>>24;o=G[J+12|0]|G[J+13|0]<<8|(G[J+14|0]<<16|G[J+15|0]<<24);t=G[J+8|0]|G[J+9|0]<<8|(G[J+10|0]<<16|G[J+11|0]<<24);D[n+8|0]=t;D[n+9|0]=t>>>8;D[n+10|0]=t>>>16;D[n+11|0]=t>>>24;D[n+12|0]=o;D[n+13|0]=o>>>8;D[n+14|0]=o>>>16;D[n+15|0]=o>>>24;ob:{if(Q>>>0<17){break ob}o=G[J+20|0]|G[J+21|0]<<8|(G[J+22|0]<<16|G[J+23|0]<<24);t=G[J+16|0]|G[J+17|0]<<8|(G[J+18|0]<<16|G[J+19|0]<<24);D[n+16|0]=t;D[n+17|0]=t>>>8;D[n+18|0]=t>>>16;D[n+19|0]=t>>>24;D[n+20|0]=o;D[n+21|0]=o>>>8;D[n+22|0]=o>>>16;D[n+23|0]=o>>>24;o=G[J+28|0]|G[J+29|0]<<8|(G[J+30|0]<<16|G[J+31|0]<<24);t=G[J+24|0]|G[J+25|0]<<8|(G[J+26|0]<<16|G[J+27|0]<<24);D[n+24|0]=t;D[n+25|0]=t>>>8;D[n+26|0]=t>>>16;D[n+27|0]=t>>>24;D[n+28|0]=o;D[n+29|0]=o>>>8;D[n+30|0]=o>>>16;D[n+31|0]=o>>>24;if((Q-16|0)<17){break ob}o=J+16|0;K=n+32|0;while(1){Q=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);t=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[K|0]=t;D[K+1|0]=t>>>8;D[K+2|0]=t>>>16;D[K+3|0]=t>>>24;D[K+4|0]=Q;D[K+5|0]=Q>>>8;D[K+6|0]=Q>>>16;D[K+7|0]=Q>>>24;Q=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);t=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[K+8|0]=t;D[K+9|0]=t>>>8;D[K+10|0]=t>>>16;D[K+11|0]=t>>>24;D[K+12|0]=Q;D[K+13|0]=Q>>>8;D[K+14|0]=Q>>>16;D[K+15|0]=Q>>>24;Q=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);t=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[K+16|0]=t;D[K+17|0]=t>>>8;D[K+18|0]=t>>>16;D[K+19|0]=t>>>24;D[K+20|0]=Q;D[K+21|0]=Q>>>8;D[K+22|0]=Q>>>16;D[K+23|0]=Q>>>24;Q=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);t=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[K+24|0]=t;D[K+25|0]=t>>>8;D[K+26|0]=t>>>16;D[K+27|0]=t>>>24;D[K+28|0]=Q;D[K+29|0]=Q>>>8;D[K+30|0]=Q>>>16;D[K+31|0]=Q>>>24;o=o+32|0;K=K+32|0;if(K>>>0>>0){continue}break}}o=q-y|0;F[u+188>>2]=m;if(y>>>0>q-B>>>0){if(y>>>0>q-oa>>>0){break I}t=o-B|0;m=t+da|0;if(m+r>>>0<=da>>>0){db(q,m,r);break lb}r=r+t|0;o=B;q=db(q,m,0-t|0)-t|0}if(y>>>0>=16){t=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);m=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24;t=G[o+12|0]|G[o+13|0]<<8|(G[o+14|0]<<16|G[o+15|0]<<24);m=G[o+8|0]|G[o+9|0]<<8|(G[o+10|0]<<16|G[o+11|0]<<24);D[q+8|0]=m;D[q+9|0]=m>>>8;D[q+10|0]=m>>>16;D[q+11|0]=m>>>24;D[q+12|0]=t;D[q+13|0]=t>>>8;D[q+14|0]=t>>>16;D[q+15|0]=t>>>24;if((r|0)<17){break lb}m=q+r|0;q=q+16|0;while(1){t=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);r=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[q|0]=r;D[q+1|0]=r>>>8;D[q+2|0]=r>>>16;D[q+3|0]=r>>>24;D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24;t=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);r=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[q+8|0]=r;D[q+9|0]=r>>>8;D[q+10|0]=r>>>16;D[q+11|0]=r>>>24;D[q+12|0]=t;D[q+13|0]=t>>>8;D[q+14|0]=t>>>16;D[q+15|0]=t>>>24;t=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);r=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[q+16|0]=r;D[q+17|0]=r>>>8;D[q+18|0]=r>>>16;D[q+19|0]=r>>>24;D[q+20|0]=t;D[q+21|0]=t>>>8;D[q+22|0]=t>>>16;D[q+23|0]=t>>>24;t=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);r=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[q+24|0]=r;D[q+25|0]=r>>>8;D[q+26|0]=r>>>16;D[q+27|0]=r>>>24;D[q+28|0]=t;D[q+29|0]=t>>>8;D[q+30|0]=t>>>16;D[q+31|0]=t>>>24;o=o+32|0;q=q+32|0;if(m>>>0>q>>>0){continue}break}break lb}pb:{if(y>>>0<=7){D[q|0]=G[o|0];D[q+1|0]=G[o+1|0];D[q+2|0]=G[o+2|0];D[q+3|0]=G[o+3|0];m=y<<2;o=o+F[m+403152>>2]|0;t=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24;o=o-F[m+403184>>2]|0;break pb}t=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);m=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=t;D[q+5|0]=t>>>8;D[q+6|0]=t>>>16;D[q+7|0]=t>>>24}if(r>>>0<9){break lb}t=q+r|0;m=q+8|0;o=o+8|0;if((m-o|0)<=15){while(1){r=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);q=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[m|0]=q;D[m+1|0]=q>>>8;D[m+2|0]=q>>>16;D[m+3|0]=q>>>24;D[m+4|0]=r;D[m+5|0]=r>>>8;D[m+6|0]=r>>>16;D[m+7|0]=r>>>24;o=o+8|0;m=m+8|0;if(t>>>0>m>>>0){continue}break lb}}y=G[o+4|0]|G[o+5|0]<<8|(G[o+6|0]<<16|G[o+7|0]<<24);Q=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);D[m|0]=Q;D[m+1|0]=Q>>>8;D[m+2|0]=Q>>>16;D[m+3|0]=Q>>>24;D[m+4|0]=y;D[m+5|0]=y>>>8;D[m+6|0]=y>>>16;D[m+7|0]=y>>>24;y=G[o+12|0]|G[o+13|0]<<8|(G[o+14|0]<<16|G[o+15|0]<<24);Q=G[o+8|0]|G[o+9|0]<<8|(G[o+10|0]<<16|G[o+11|0]<<24);D[m+8|0]=Q;D[m+9|0]=Q>>>8;D[m+10|0]=Q>>>16;D[m+11|0]=Q>>>24;D[m+12|0]=y;D[m+13|0]=y>>>8;D[m+14|0]=y>>>16;D[m+15|0]=y>>>24;if((r|0)<25){break lb}q=q+24|0;while(1){r=G[o+20|0]|G[o+21|0]<<8|(G[o+22|0]<<16|G[o+23|0]<<24);m=G[o+16|0]|G[o+17|0]<<8|(G[o+18|0]<<16|G[o+19|0]<<24);D[q|0]=m;D[q+1|0]=m>>>8;D[q+2|0]=m>>>16;D[q+3|0]=m>>>24;D[q+4|0]=r;D[q+5|0]=r>>>8;D[q+6|0]=r>>>16;D[q+7|0]=r>>>24;r=G[o+28|0]|G[o+29|0]<<8|(G[o+30|0]<<16|G[o+31|0]<<24);m=G[o+24|0]|G[o+25|0]<<8|(G[o+26|0]<<16|G[o+27|0]<<24);D[q+8|0]=m;D[q+9|0]=m>>>8;D[q+10|0]=m>>>16;D[q+11|0]=m>>>24;D[q+12|0]=r;D[q+13|0]=r>>>8;D[q+14|0]=r>>>16;D[q+15|0]=r>>>24;r=G[o+36|0]|G[o+37|0]<<8|(G[o+38|0]<<16|G[o+39|0]<<24);m=G[o+32|0]|G[o+33|0]<<8|(G[o+34|0]<<16|G[o+35|0]<<24);D[q+16|0]=m;D[q+17|0]=m>>>8;D[q+18|0]=m>>>16;D[q+19|0]=m>>>24;D[q+20|0]=r;D[q+21|0]=r>>>8;D[q+22|0]=r>>>16;D[q+23|0]=r>>>24;r=G[o+44|0]|G[o+45|0]<<8|(G[o+46|0]<<16|G[o+47|0]<<24);m=G[o+40|0]|G[o+41|0]<<8|(G[o+42|0]<<16|G[o+43|0]<<24);D[q+24|0]=m;D[q+25|0]=m>>>8;D[q+26|0]=m>>>16;D[q+27|0]=m>>>24;D[q+28|0]=r;D[q+29|0]=r>>>8;D[q+30|0]=r>>>16;D[q+31|0]=r>>>24;o=o+32|0;q=q+32|0;if(t>>>0>q>>>0){continue}break}}if(A>>>0>4294967176){s=A;break I}n=n+A|0;p=p+1|0;if(($|0)!=(p|0)){continue}break}}m=F[u+92>>2];F[z>>2]=F[u+88>>2];F[z+4>>2]=m;F[z+8>>2]=F[u+96>>2];q=F[u+188>>2]}s=-70;m=na-q|0;if(m>>>0>ka-n>>>0){break I}if(n){m=Va(n,q,m)+m|0}else{m=0}s=m-U|0;break I}F[x+29596>>2]=0}n=p;o=0;s=0;w=Ea-112|0;Ea=w;p=F[x+29552>>2];F[w+92>>2]=p;ca=U+ea|0;ea=F[x+29568>>2]+p|0;qb:{rb:{if(!$){m=U;break rb}ia=F[x+29368>>2];X=F[x+29364>>2];t=F[x+29360>>2];F[x+29444>>2]=1;F[w+76>>2]=F[x+26676>>2];q=x+26668|0;m=F[q+4>>2];F[w+68>>2]=F[q>>2];F[w+72>>2]=m;if(!n){s=-20;break qb}F[w+36>>2]=R;F[w+40>>2]=R+4;sb:{tb:{ub:{if(n>>>0>=4){o=n-4|0;m=R+o|0;F[w+32>>2]=m;m=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);F[w+24>>2]=m;if(m>>>0>=16777216){break ub}s=-20;break qb}F[w+32>>2]=R;m=G[R|0];F[w+24>>2]=m;vb:{switch(n-2|0){case 1:m=G[R+2|0]<<16|m;case 0:m=(G[R+1|0]<<8)+m|0;F[w+24>>2]=m;break;default:break vb}}p=G[(n+R|0)-1|0];if(p){break tb}s=-20;break qb}p=O(m>>>24|0)-23|0;F[w+28>>2]=p;if(n>>>0<=4294967176){break sb}s=-20;break qb}p=(O(p)-(n<<3)|0)+9|0;F[w+28>>2]=p}A=F[x>>2];n=F[A+4>>2];v=p+n|0;F[w+28>>2]=v;F[w+44>>2]=F[(n<<2)+402992>>2]&m>>>0-v;wb:{if(v>>>0>32){break wb}xb:{if((o|0)>=4){o=o-(v>>>3|0)|0;F[w+32>>2]=R+o;v=v&7;break xb}if(!o){o=0;break wb}m=v>>>3|0;m=(o+R|0)-m>>>0>>0?o:m;o=o-m|0;F[w+32>>2]=R+o;v=v-(m<<3)|0}F[w+28>>2]=v;m=o+R|0;m=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);F[w+24>>2]=m}F[w+48>>2]=A+8;n=F[x+8>>2];p=F[n+4>>2];v=p+v|0;F[w+28>>2]=v;F[w+52>>2]=F[(p<<2)+402992>>2]&m>>>0-v;yb:{if(v>>>0>32){break yb}zb:{if((o|0)>=4){o=o-(v>>>3|0)|0;F[w+32>>2]=R+o;v=v&7;break zb}if(!o){o=0;break yb}m=v>>>3|0;m=(o+R|0)-m>>>0>>0?o:m;o=o-m|0;F[w+32>>2]=R+o;v=v-(m<<3)|0}F[w+28>>2]=v;m=o+R|0;m=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);F[w+24>>2]=m}F[w+56>>2]=n+8;A=F[x+4>>2];n=F[A+4>>2];p=v+n|0;F[w+28>>2]=p;F[w+60>>2]=F[(n<<2)+402992>>2]&m>>>0-p;Ab:{if(p>>>0>32){break Ab}n=o+R|0;Bb:{if((o|0)>=4){r=n-(p>>>3|0)|0;F[w+32>>2]=r;p=p&7;break Bb}if(!o){break Ab}m=p>>>3|0;m=n-m>>>0>>0?o:m;r=n-m|0;F[w+32>>2]=r;p=p-(m<<3)|0}F[w+28>>2]=p;F[w+24>>2]=G[r|0]|G[r+1|0]<<8|(G[r+2|0]<<16|G[r+3|0]<<24)}F[w- -64>>2]=A+8;Q=ca-32|0;m=U;while(1){n=F[w+48>>2]+(F[w+44>>2]<<3)|0;V=F[n>>2];n=F[n+4>>2];r=n;z=(n&65535)<<16|V>>>16;P=z&255;n=F[w+64>>2]+(F[w+60>>2]<<3)|0;Z=F[n>>2];v=F[n+4>>2];o=(v&65535)<<16|Z>>>16;C=o&255;n=F[w+56>>2]+(F[w+52>>2]<<3)|0;la=F[n>>2];S=F[n+4>>2];n=(S&65535)<<16|la>>>16;ga=n&255;Cb:{if(ga>>>0>=2){Db:{if(!(!Aa|ga>>>0<25)){J=32-p|0;n=J>>>0>>0?J:ga;T=ga-n|0;y=F[w+24>>2];B=y<

    >>0-n<>>0>32){break Eb}_=F[w+32>>2];Fb:{if(_>>>0>=I[w+40>>2]){p=_-(n>>>3|0)|0;F[w+32>>2]=p;n=n&7;break Fb}A=F[w+36>>2];if((A|0)==(_|0)){break Eb}p=n>>>3|0;A=A>>>0>_-p>>>0?_-A|0:p;p=_-A|0;F[w+32>>2]=p;n=n-(A<<3)|0}F[w+28>>2]=n;y=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[w+24>>2]=y}A=B+S|0;if(J>>>0>=ga>>>0){break Db}A=(y<>>0-T|0)+A|0;n=n+T|0;break Db}A=S+(F[w+24>>2]<

    >>0-n|0)|0;p=p+ga|0;if(p>>>0>32){n=p;break Db}B=F[w+32>>2];if(B>>>0>=I[w+40>>2]){n=p&7;F[w+28>>2]=n;p=B-(p>>>3|0)|0;F[w+32>>2]=p;F[w+24>>2]=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);break Db}n=F[w+36>>2];if((n|0)==(B|0)){n=p;break Db}K=p;p=p>>>3|0;p=n>>>0>B-p>>>0?B-n|0:p;n=K-(p<<3)|0;F[w+28>>2]=n;p=B-p|0;F[w+32>>2]=p;F[w+24>>2]=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24)}B=F[w+68>>2];p=F[w+72>>2];F[w+68>>2]=A;F[w+72>>2]=B;F[w+76>>2]=p;break Cb}if(!ga){if(r){A=F[w+68>>2];n=p;break Cb}A=F[w+72>>2];F[w+72>>2]=F[w+68>>2];F[w+68>>2]=A;n=p;break Cb}n=p+1|0;F[w+28>>2]=n;B=S+!r+(F[w+24>>2]<

    >>31)|0;Gb:{Hb:{if((B|0)==3){p=F[w+68>>2]-1|0;A=!p+p|0;break Hb}p=F[(w+(B<<2)|0)+68>>2];A=!p+p|0;if((B|0)==1){break Gb}}F[w+76>>2]=F[w+72>>2]}F[w+72>>2]=F[w+68>>2];F[w+68>>2]=A}if(Z&16711680){v=(F[w+24>>2]<>>0-o|0)+v|0;n=n+C|0}Ib:{if(C+P>>>0<20|n>>>0>32){break Ib}o=F[w+32>>2];Jb:{if(o>>>0>=I[w+40>>2]){p=o-(n>>>3|0)|0;F[w+32>>2]=p;n=n&7;break Jb}B=F[w+36>>2];if((B|0)==(o|0)){break Ib}p=n>>>3|0;B=B>>>0>o-p>>>0?o-B|0:p;p=o-B|0;F[w+32>>2]=p;n=n-(B<<3)|0}F[w+28>>2]=n;F[w+24>>2]=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24)}if(V&16711680){r=(F[w+24>>2]<>>0-z|0)+r|0;n=n+P|0}z=Z>>>24|0;o=V>>>24|0;Kb:{if(n>>>0>32){break Kb}y=F[w+32>>2];Lb:{if(y>>>0>=I[w+40>>2]){p=y-(n>>>3|0)|0;F[w+32>>2]=p;n=n&7;break Lb}B=F[w+36>>2];if((B|0)==(y|0)){break Kb}p=n>>>3|0;B=B>>>0>y-p>>>0?y-B|0:p;p=y-B|0;F[w+32>>2]=p;n=n-(B<<3)|0}F[w+28>>2]=n;F[w+24>>2]=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24)}p=F[w+24>>2];n=n+o|0;F[w+44>>2]=(F[(o<<2)+402992>>2]&p>>>0-n)+(V&65535);n=n+z|0;F[w+60>>2]=(F[(z<<2)+402992>>2]&p>>>0-n)+(Z&65535);Mb:{if(n>>>0>32){break Mb}o=F[w+32>>2];Nb:{if(o>>>0>=I[w+40>>2]){p=o-(n>>>3|0)|0;F[w+32>>2]=p;n=n&7;break Nb}B=F[w+36>>2];if((B|0)==(o|0)){break Mb}p=n>>>3|0;B=B>>>0>o-p>>>0?o-B|0:p;p=o-B|0;F[w+32>>2]=p;n=n-(B<<3)|0}F[w+28>>2]=n;p=G[p|0]|G[p+1|0]<<8|(G[p+2|0]<<16|G[p+3|0]<<24);F[w+24>>2]=p}B=la>>>24|0;n=n+B|0;F[w+28>>2]=n;F[w+52>>2]=(F[(B<<2)+402992>>2]&p>>>0-n)+(la&65535);F[w+96>>2]=r;F[w+100>>2]=v;F[w+104>>2]=A;Ob:{Pb:{y=F[w+92>>2];B=y+r|0;Qb:{if(B>>>0>ea>>>0){break Qb}o=r+v|0;if(Q>>>0>>0){break Qb}if(o+32>>>0<=ca-m>>>0){break Pb}}p=F[w+108>>2];F[w+16>>2]=F[w+104>>2];F[w+20>>2]=p;p=F[w+100>>2];F[w+8>>2]=F[w+96>>2];F[w+12>>2]=p;o=Pb(m,ca,w+8|0,w+92|0,ea,t,X,ia);break Ob}p=m+r|0;z=G[y+4|0]|G[y+5|0]<<8|(G[y+6|0]<<16|G[y+7|0]<<24);n=G[y|0]|G[y+1|0]<<8|(G[y+2|0]<<16|G[y+3|0]<<24);D[m|0]=n;D[m+1|0]=n>>>8;D[m+2|0]=n>>>16;D[m+3|0]=n>>>24;D[m+4|0]=z;D[m+5|0]=z>>>8;D[m+6|0]=z>>>16;D[m+7|0]=z>>>24;z=G[y+12|0]|G[y+13|0]<<8|(G[y+14|0]<<16|G[y+15|0]<<24);n=G[y+8|0]|G[y+9|0]<<8|(G[y+10|0]<<16|G[y+11|0]<<24);D[m+8|0]=n;D[m+9|0]=n>>>8;D[m+10|0]=n>>>16;D[m+11|0]=n>>>24;D[m+12|0]=z;D[m+13|0]=z>>>8;D[m+14|0]=z>>>16;D[m+15|0]=z>>>24;Rb:{if(r>>>0<17){break Rb}z=G[y+20|0]|G[y+21|0]<<8|(G[y+22|0]<<16|G[y+23|0]<<24);n=G[y+16|0]|G[y+17|0]<<8|(G[y+18|0]<<16|G[y+19|0]<<24);D[m+16|0]=n;D[m+17|0]=n>>>8;D[m+18|0]=n>>>16;D[m+19|0]=n>>>24;D[m+20|0]=z;D[m+21|0]=z>>>8;D[m+22|0]=z>>>16;D[m+23|0]=z>>>24;z=G[y+28|0]|G[y+29|0]<<8|(G[y+30|0]<<16|G[y+31|0]<<24);n=G[y+24|0]|G[y+25|0]<<8|(G[y+26|0]<<16|G[y+27|0]<<24);D[m+24|0]=n;D[m+25|0]=n>>>8;D[m+26|0]=n>>>16;D[m+27|0]=n>>>24;D[m+28|0]=z;D[m+29|0]=z>>>8;D[m+30|0]=z>>>16;D[m+31|0]=z>>>24;if((r-16|0)<17){break Rb}n=y+16|0;r=m+32|0;while(1){y=G[n+20|0]|G[n+21|0]<<8|(G[n+22|0]<<16|G[n+23|0]<<24);z=G[n+16|0]|G[n+17|0]<<8|(G[n+18|0]<<16|G[n+19|0]<<24);D[r|0]=z;D[r+1|0]=z>>>8;D[r+2|0]=z>>>16;D[r+3|0]=z>>>24;D[r+4|0]=y;D[r+5|0]=y>>>8;D[r+6|0]=y>>>16;D[r+7|0]=y>>>24;y=G[n+28|0]|G[n+29|0]<<8|(G[n+30|0]<<16|G[n+31|0]<<24);z=G[n+24|0]|G[n+25|0]<<8|(G[n+26|0]<<16|G[n+27|0]<<24);D[r+8|0]=z;D[r+9|0]=z>>>8;D[r+10|0]=z>>>16;D[r+11|0]=z>>>24;D[r+12|0]=y;D[r+13|0]=y>>>8;D[r+14|0]=y>>>16;D[r+15|0]=y>>>24;y=G[n+36|0]|G[n+37|0]<<8|(G[n+38|0]<<16|G[n+39|0]<<24);z=G[n+32|0]|G[n+33|0]<<8|(G[n+34|0]<<16|G[n+35|0]<<24);D[r+16|0]=z;D[r+17|0]=z>>>8;D[r+18|0]=z>>>16;D[r+19|0]=z>>>24;D[r+20|0]=y;D[r+21|0]=y>>>8;D[r+22|0]=y>>>16;D[r+23|0]=y>>>24;y=G[n+44|0]|G[n+45|0]<<8|(G[n+46|0]<<16|G[n+47|0]<<24);z=G[n+40|0]|G[n+41|0]<<8|(G[n+42|0]<<16|G[n+43|0]<<24);D[r+24|0]=z;D[r+25|0]=z>>>8;D[r+26|0]=z>>>16;D[r+27|0]=z>>>24;D[r+28|0]=y;D[r+29|0]=y>>>8;D[r+30|0]=y>>>16;D[r+31|0]=y>>>24;n=n+32|0;r=r+32|0;if(r>>>0

    >>0){continue}break}}n=p-A|0;F[w+92>>2]=B;if(p-t>>>0>>0){if(p-X>>>0>>0){o=-20;break Ob}r=n-t|0;n=r+ia|0;if(ia>>>0>=n+v>>>0){db(p,n,v);break Ob}p=db(p,n,0-r|0);v=r+v|0;F[w+100>>2]=v;n=t;p=p-r|0}if(A>>>0>=16){r=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);A=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);D[p|0]=A;D[p+1|0]=A>>>8;D[p+2|0]=A>>>16;D[p+3|0]=A>>>24;D[p+4|0]=r;D[p+5|0]=r>>>8;D[p+6|0]=r>>>16;D[p+7|0]=r>>>24;r=G[n+12|0]|G[n+13|0]<<8|(G[n+14|0]<<16|G[n+15|0]<<24);A=G[n+8|0]|G[n+9|0]<<8|(G[n+10|0]<<16|G[n+11|0]<<24);D[p+8|0]=A;D[p+9|0]=A>>>8;D[p+10|0]=A>>>16;D[p+11|0]=A>>>24;D[p+12|0]=r;D[p+13|0]=r>>>8;D[p+14|0]=r>>>16;D[p+15|0]=r>>>24;if((v|0)<17){break Ob}A=p+v|0;r=p+16|0;while(1){v=G[n+20|0]|G[n+21|0]<<8|(G[n+22|0]<<16|G[n+23|0]<<24);p=G[n+16|0]|G[n+17|0]<<8|(G[n+18|0]<<16|G[n+19|0]<<24);D[r|0]=p;D[r+1|0]=p>>>8;D[r+2|0]=p>>>16;D[r+3|0]=p>>>24;D[r+4|0]=v;D[r+5|0]=v>>>8;D[r+6|0]=v>>>16;D[r+7|0]=v>>>24;v=G[n+28|0]|G[n+29|0]<<8|(G[n+30|0]<<16|G[n+31|0]<<24);p=G[n+24|0]|G[n+25|0]<<8|(G[n+26|0]<<16|G[n+27|0]<<24);D[r+8|0]=p;D[r+9|0]=p>>>8;D[r+10|0]=p>>>16;D[r+11|0]=p>>>24;D[r+12|0]=v;D[r+13|0]=v>>>8;D[r+14|0]=v>>>16;D[r+15|0]=v>>>24;v=G[n+36|0]|G[n+37|0]<<8|(G[n+38|0]<<16|G[n+39|0]<<24);p=G[n+32|0]|G[n+33|0]<<8|(G[n+34|0]<<16|G[n+35|0]<<24);D[r+16|0]=p;D[r+17|0]=p>>>8;D[r+18|0]=p>>>16;D[r+19|0]=p>>>24;D[r+20|0]=v;D[r+21|0]=v>>>8;D[r+22|0]=v>>>16;D[r+23|0]=v>>>24;v=G[n+44|0]|G[n+45|0]<<8|(G[n+46|0]<<16|G[n+47|0]<<24);p=G[n+40|0]|G[n+41|0]<<8|(G[n+42|0]<<16|G[n+43|0]<<24);D[r+24|0]=p;D[r+25|0]=p>>>8;D[r+26|0]=p>>>16;D[r+27|0]=p>>>24;D[r+28|0]=v;D[r+29|0]=v>>>8;D[r+30|0]=v>>>16;D[r+31|0]=v>>>24;n=n+32|0;r=r+32|0;if(A>>>0>r>>>0){continue}break}break Ob}Sb:{if(A>>>0<=7){D[p|0]=G[n|0];D[p+1|0]=G[n+1|0];D[p+2|0]=G[n+2|0];D[p+3|0]=G[n+3|0];r=n;n=A<<2;r=r+F[n+403152>>2]|0;A=G[r|0]|G[r+1|0]<<8|(G[r+2|0]<<16|G[r+3|0]<<24);D[p+4|0]=A;D[p+5|0]=A>>>8;D[p+6|0]=A>>>16;D[p+7|0]=A>>>24;n=r-F[n+403184>>2]|0;break Sb}r=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);A=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);D[p|0]=A;D[p+1|0]=A>>>8;D[p+2|0]=A>>>16;D[p+3|0]=A>>>24;D[p+4|0]=r;D[p+5|0]=r>>>8;D[p+6|0]=r>>>16;D[p+7|0]=r>>>24}if(v>>>0<9){break Ob}A=p+v|0;r=p+8|0;n=n+8|0;if((r-n|0)<=15){while(1){v=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);p=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);D[r|0]=p;D[r+1|0]=p>>>8;D[r+2|0]=p>>>16;D[r+3|0]=p>>>24;D[r+4|0]=v;D[r+5|0]=v>>>8;D[r+6|0]=v>>>16;D[r+7|0]=v>>>24;n=n+8|0;r=r+8|0;if(A>>>0>r>>>0){continue}break Ob}}z=G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24);B=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);D[r|0]=B;D[r+1|0]=B>>>8;D[r+2|0]=B>>>16;D[r+3|0]=B>>>24;D[r+4|0]=z;D[r+5|0]=z>>>8;D[r+6|0]=z>>>16;D[r+7|0]=z>>>24;z=G[n+12|0]|G[n+13|0]<<8|(G[n+14|0]<<16|G[n+15|0]<<24);B=G[n+8|0]|G[n+9|0]<<8|(G[n+10|0]<<16|G[n+11|0]<<24);D[r+8|0]=B;D[r+9|0]=B>>>8;D[r+10|0]=B>>>16;D[r+11|0]=B>>>24;D[r+12|0]=z;D[r+13|0]=z>>>8;D[r+14|0]=z>>>16;D[r+15|0]=z>>>24;if((v|0)<25){break Ob}r=p+24|0;while(1){v=G[n+20|0]|G[n+21|0]<<8|(G[n+22|0]<<16|G[n+23|0]<<24);p=G[n+16|0]|G[n+17|0]<<8|(G[n+18|0]<<16|G[n+19|0]<<24);D[r|0]=p;D[r+1|0]=p>>>8;D[r+2|0]=p>>>16;D[r+3|0]=p>>>24;D[r+4|0]=v;D[r+5|0]=v>>>8;D[r+6|0]=v>>>16;D[r+7|0]=v>>>24;v=G[n+28|0]|G[n+29|0]<<8|(G[n+30|0]<<16|G[n+31|0]<<24);p=G[n+24|0]|G[n+25|0]<<8|(G[n+26|0]<<16|G[n+27|0]<<24);D[r+8|0]=p;D[r+9|0]=p>>>8;D[r+10|0]=p>>>16;D[r+11|0]=p>>>24;D[r+12|0]=v;D[r+13|0]=v>>>8;D[r+14|0]=v>>>16;D[r+15|0]=v>>>24;v=G[n+36|0]|G[n+37|0]<<8|(G[n+38|0]<<16|G[n+39|0]<<24);p=G[n+32|0]|G[n+33|0]<<8|(G[n+34|0]<<16|G[n+35|0]<<24);D[r+16|0]=p;D[r+17|0]=p>>>8;D[r+18|0]=p>>>16;D[r+19|0]=p>>>24;D[r+20|0]=v;D[r+21|0]=v>>>8;D[r+22|0]=v>>>16;D[r+23|0]=v>>>24;v=G[n+44|0]|G[n+45|0]<<8|(G[n+46|0]<<16|G[n+47|0]<<24);p=G[n+40|0]|G[n+41|0]<<8|(G[n+42|0]<<16|G[n+43|0]<<24);D[r+24|0]=p;D[r+25|0]=p>>>8;D[r+26|0]=p>>>16;D[r+27|0]=p>>>24;D[r+28|0]=v;D[r+29|0]=v>>>8;D[r+30|0]=v>>>16;D[r+31|0]=v>>>24;n=n+32|0;r=r+32|0;if(A>>>0>r>>>0){continue}break}}n=F[w+28>>2];Tb:{if(n>>>0>32){p=n;break Tb}v=F[w+32>>2];if(v>>>0>=I[w+40>>2]){p=n&7;F[w+28>>2]=p;n=v-(n>>>3|0)|0;F[w+32>>2]=n;F[w+24>>2]=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);break Tb}A=F[w+36>>2];if((A|0)==(v|0)){p=n;break Tb}r=n;p=n>>>3|0;n=A>>>0>v-p>>>0?v-A|0:p;p=r-(n<<3)|0;F[w+28>>2]=p;n=v-n|0;F[w+32>>2]=n;F[w+24>>2]=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24)}A=$-1|0;n=o>>>0<4294967177;$=n?A:$;s=n?s:o;m=m+o|0;if(A?o>>>0<=4294967176:0){continue}break}if(s>>>0>4294967176){break qb}if($){s=-20;break qb}if(p>>>0<=32){if((p|0)!=32){s=-20;break qb}p=F[w+32>>2];if(p>>>0>=I[w+40>>2]){s=-20;break qb}s=-20;if((p|0)!=F[w+36>>2]){break qb}}p=F[w+72>>2];F[q>>2]=F[w+68>>2];F[q+4>>2]=p;F[q+8>>2]=F[w+76>>2];p=F[w+92>>2]}s=-70;n=ea-p|0;if(n>>>0>ca-m>>>0){break qb}if(m){m=Va(m,p,n)+n|0}else{m=0}s=m-U|0}Ea=w+112|0}Ea=u+192|0;m=s;if(m>>>0>4294967176){break m}}if(F[x+29548>>2]){n=U;p=F[N+4>>2];s=F[N>>2]+m|0;p=s>>>0>>0?p+1|0:p;F[N>>2]=s;F[N+4>>2]=p;s=F[N+72>>2];p=s+m|0;Ub:{Vb:{if(p>>>0<=31){if(!n){break Vb}Va((s+N|0)+40|0,n,m);p=F[N+72>>2]+m|0;break Vb}o=m+n|0;if(s){Va(s+(N+40|0)|0,n,32-s|0);A=F[N+72>>2];F[N+72>>2]=0;p=F[N+12>>2];s=F[N+8>>2];q=We(G[N+40|0]|G[N+41|0]<<8|(G[N+42|0]<<16|G[N+43|0]<<24),G[N+44|0]|G[N+45|0]<<8|(G[N+46|0]<<16|G[N+47|0]<<24),668265295,-1028477379);s=s+q|0;p=Fa+p|0;Ka=N,La=We(Ze(s,q>>>0>s>>>0?p+1|0:p,31),Fa,-2048144761,-1640531535),F[Ka+8>>2]=La;F[N+12>>2]=Fa;p=F[N+20>>2];s=F[N+16>>2];q=We(G[N+48|0]|G[N+49|0]<<8|(G[N+50|0]<<16|G[N+51|0]<<24),G[N+52|0]|G[N+53|0]<<8|(G[N+54|0]<<16|G[N+55|0]<<24),668265295,-1028477379);s=s+q|0;p=Fa+p|0;Ka=N,La=We(Ze(s,q>>>0>s>>>0?p+1|0:p,31),Fa,-2048144761,-1640531535),F[Ka+16>>2]=La;F[N+20>>2]=Fa;p=F[N+28>>2];s=F[N+24>>2];q=We(G[N+56|0]|G[N+57|0]<<8|(G[N+58|0]<<16|G[N+59|0]<<24),G[N+60|0]|G[N+61|0]<<8|(G[N+62|0]<<16|G[N+63|0]<<24),668265295,-1028477379);s=s+q|0;p=Fa+p|0;Ka=N,La=We(Ze(s,q>>>0>s>>>0?p+1|0:p,31),Fa,-2048144761,-1640531535),F[Ka+24>>2]=La;F[N+28>>2]=Fa;p=F[N+36>>2];r=F[N+32>>2];s=N- -64|0;q=We(G[s|0]|G[s+1|0]<<8|(G[s+2|0]<<16|G[s+3|0]<<24),G[s+4|0]|G[s+5|0]<<8|(G[s+6|0]<<16|G[s+7|0]<<24),668265295,-1028477379);s=r+q|0;p=Fa+p|0;Ka=N,La=We(Ze(s,q>>>0>s>>>0?p+1|0:p,31),Fa,-2048144761,-1640531535),F[Ka+32>>2]=La;F[N+36>>2]=Fa;n=(n-A|0)+32|0}if(o>>>0>=n+32>>>0){B=o-32|0;p=F[N+32>>2];K=F[N+36>>2];r=F[N+24>>2];J=F[N+28>>2];q=F[N+16>>2];A=F[N+20>>2];z=F[N+8>>2];s=F[N+12>>2];while(1){t=We(G[n+24|0]|G[n+25|0]<<8|(G[n+26|0]<<16|G[n+27|0]<<24),G[n+28|0]|G[n+29|0]<<8|(G[n+30|0]<<16|G[n+31|0]<<24),668265295,-1028477379);v=K+Fa|0;w=v+1|0;u=v;v=p+t|0;p=p>>>0>v>>>0?w:u;p=We(Ze(v,p,31),Fa,-2048144761,-1640531535);K=Fa;t=We(G[n+16|0]|G[n+17|0]<<8|(G[n+18|0]<<16|G[n+19|0]<<24),G[n+20|0]|G[n+21|0]<<8|(G[n+22|0]<<16|G[n+23|0]<<24),668265295,-1028477379);v=J+Fa|0;t=r+t|0;v=r>>>0>t>>>0?v+1|0:v;r=We(Ze(t,v,31),Fa,-2048144761,-1640531535);J=Fa;v=We(G[n+8|0]|G[n+9|0]<<8|(G[n+10|0]<<16|G[n+11|0]<<24),G[n+12|0]|G[n+13|0]<<8|(G[n+14|0]<<16|G[n+15|0]<<24),668265295,-1028477379);A=A+Fa|0;w=A+1|0;u=A;A=q+v|0;q=q>>>0>A>>>0?w:u;q=We(Ze(A,q,31),Fa,-2048144761,-1640531535);A=Fa;v=We(G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24),G[n+4|0]|G[n+5|0]<<8|(G[n+6|0]<<16|G[n+7|0]<<24),668265295,-1028477379);s=s+Fa|0;v=v+z|0;s=z>>>0>v>>>0?s+1|0:s;z=We(Ze(v,s,31),Fa,-2048144761,-1640531535);s=Fa;n=n+32|0;if(B>>>0>=n>>>0){continue}break}F[N+32>>2]=p;F[N+36>>2]=K;F[N+24>>2]=r;F[N+28>>2]=J;F[N+16>>2]=q;F[N+20>>2]=A;F[N+8>>2]=z;F[N+12>>2]=s}if(n>>>0>=o>>>0){break Ub}p=o-n|0;Va(N+40|0,n,p)}F[N+72>>2]=p}}p=sa-M|0;n=M+aa|0;U=m+U|0;if(!(ya&1)){continue}break}q=F[ba>>2];s=F[ba+4>>2];m=U-ha|0;if((q&s)!=-1&((q|0)!=(m|0)|m>>31!=(s|0))){break l}if(F[x+29408>>2]){za=-22;if(p>>>0<4){break l}if(!F[x+29544>>2]){q=N+40|0;y=F[N+72>>2];sa=q+y|0;m=F[N+4>>2];Q=m;X=F[N>>2];Wb:{if(!m&X>>>0>=32|m){m=F[N+20>>2];z=m;o=F[N+16>>2];A=Ze(o,m,7);s=Fa;m=F[N+12>>2];B=m;t=F[N+8>>2];M=Ze(t,m,1);J=A+M|0;A=Fa+s|0;m=F[N+28>>2];r=m;v=F[N+24>>2];s=Ze(v,m,12);P=J+s|0;C=Fa+(J>>>0>>0?A+1|0:A)|0;m=F[N+36>>2];A=m;M=F[N+32>>2];m=Ze(M,m,18);J=P+m|0;s=Fa+(s>>>0>P>>>0?C+1|0:C)|0;m=We(We(Ze(We(t,B,668265295,-1028477379),Fa,31),Fa,-2048144761,-1640531535)^J,Fa^(m>>>0>J>>>0?s+1|0:s),-2048144761,-1640531535);s=m-1028477341|0;m=Fa-((m>>>0<1028477341)+2048144776|0)|0;m=We(We(Ze(We(o,z,668265295,-1028477379),Fa,31),Fa,-2048144761,-1640531535)^s,Fa^m,-2048144761,-1640531535);s=m-1028477341|0;m=Fa-((m>>>0<1028477341)+2048144776|0)|0;m=We(We(Ze(We(v,r,668265295,-1028477379),Fa,31),Fa,-2048144761,-1640531535)^s,Fa^m,-2048144761,-1640531535);s=m-1028477341|0;m=Fa-((m>>>0<1028477341)+2048144776|0)|0;s=We(We(Ze(We(M,A,668265295,-1028477379),Fa,31),Fa,-2048144761,-1640531535)^s,Fa^m,-2048144761,-1640531535);m=s-1028477341|0;s=Fa-((s>>>0<1028477341)+2048144776|0)|0;break Wb}m=F[N+28>>2]+668265263|0;r=m+1|0;s=m;m=F[N+24>>2]+374761413|0;s=m>>>0<374761413?r:s}s=s+Q|0;z=m+X|0;s=z>>>0>>0?s+1|0:s;m=N+48|0;if(sa>>>0>=m>>>0){while(1){s=We(Ze(We(Ze(We(G[q|0]|G[q+1|0]<<8|(G[q+2|0]<<16|G[q+3|0]<<24),G[q+4|0]|G[q+5|0]<<8|(G[q+6|0]<<16|G[q+7|0]<<24),668265295,-1028477379),Fa,31),Fa,-2048144761,-1640531535)^z,s^Fa,27),Fa,-2048144761,-1640531535);z=s-1028477341|0;s=Fa-((s>>>0<1028477341)+2048144776|0)|0;q=m;m=m+8|0;if(sa>>>0>=m>>>0){continue}break}}m=q+4|0;Xb:{if(sa>>>0>>0){m=q;break Xb}q=We(Ze(We(G[q|0]|G[q+1|0]<<8|(G[q+2|0]<<16|G[q+3|0]<<24),0,-2048144761,-1640531535)^z,s^Fa,23),Fa,668265295,-1028477379);s=Fa+374761393|0;z=q-1640531463|0;s=z>>>0<2654435833?s+1|0:s}Yb:{if(m>>>0>=sa>>>0){break Yb}q=y+N|0;M=q+39|0;A=q+40|0;if(A-m&1){z=We(Ze(We(G[m|0],0,374761413,668265263)^z,s^Fa,11),Fa,-2048144761,-1640531535);s=Fa;q=m+1|0}else{q=m}if((m|0)==(M|0)){break Yb}while(1){M=We(G[q+1|0],0,374761413,668265263);m=Fa;z=We(Ze(We(Ze(We(G[q|0],0,374761413,668265263)^z,s^Fa,11),Fa,-2048144761,-1640531535)^M,Fa^m,11),Fa,-2048144761,-1640531535);s=Fa;q=q+2|0;if((A|0)!=(q|0)){continue}break}}q=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);M=We(z^s>>>1,s,668265295,-1028477379);s=Fa;m=s>>>29|0;m=We(M^((s&536870911)<<3|M>>>29),m^s,-1640531463,374761393);if((m^Fa)!=(q|0)){break l}}n=n+4|0;p=p-4|0}m=U-ha|0;if(m>>>0<4294967177){break k}}M=-72;za=m;if((m|0)==-10&Ia){break i}}q=za;break g}Ia=1;ta=ta-m|0;ha=m+ha|0;m=F[x+29540>>2]?1:5;if(p>>>0>=m>>>0){continue}break}}M=-72;if(p){break i}M=ha-va|0}q=M;break g}q=-72}Zb:{if(F[x+29576>>2]|!x){break Zb}s=F[x+29564>>2];M=F[x+29560>>2];U=F[x+29584>>2];_b:{if(!U){break _b}p=F[U+27320>>2];n=F[U+27316>>2];$b:{ac:{m=F[U>>2];if(m){if(!n){break ac}Ga[n|0](p,m);Ga[n|0](p,U);break _b}if(!n){break $b}Ga[n|0](p,U);break _b}Ra(m)}Ra(U)}F[x+29600>>2]=0;F[x+29584>>2]=0;F[x+29588>>2]=0;m=F[x+29616>>2];bc:{if(!m){break bc}if(M){Ga[M|0](s,m);break bc}Ra(m)}F[x+29616>>2]=0;p=F[x+29604>>2];if(p){cc:{dc:{ec:{m=F[p>>2];if(m){if(!M){break ec}Ga[M|0](s,m);Ga[M|0](s,p);break cc}if(!M){break dc}Ga[M|0](s,p);break cc}Ra(m)}Ra(p)}F[x+29604>>2]=0}if(M){Ga[M|0](s,x);break Zb}Ra(x)}}if((q|0)!=(qa|0)|q>>>0>4294967176){break d}}fa=1}if(!fa){break a}F[ja+420>>2]=b}fa=ja+412|0;p=F[ja+408>>2]}m=F[a+32>>2]>>>b|0;n=m>>>0<=1?1:m;U=n+3>>>2|0;m=F[a+28>>2]>>>b|0;m=m>>>0<=1?1:m;q=m+3>>>2|0;fc:{gc:{switch(F[a+156>>2]){case 0:if(!F[a+196>>2]){break a}k=d;d=F[a+40>>2];c=k+L(F[a+44>>2],c+L(d>>>0<=1?1:d,b)|0)|0;if(c>>>0>=I[a+148>>2]){break a}d=b;b=F[a+88>>2]+L(b,24)|0;b=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);c=F[a+144>>2]+L(c,20)|0;k=b+(G[c+4|0]|G[c+5|0]<<8|(G[c+6|0]<<16|G[c+7|0]<<24))|0;l=b+(G[c+12|0]|G[c+13|0]<<8|(G[c+14|0]<<16|G[c+15|0]<<24))|0;b=G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24);if(Ub(a+188|0,g,e,f,F[a>>2],F[a+4>>2],q,U,m,n,d,k,G[c+8|0]|G[c+9|0]<<8|(G[c+10|0]<<16|G[c+11|0]<<24),b?l:0,b,h,G[a+1200|0],G[a+1201|0],i,ja,j)){break fc}break a;case 1:break gc;default:break a}}s=L(q,U)<<4;c=L(s,L(F[a+44>>2],c)+d|0);b=G[fa|0]|G[fa+1|0]<<8|(G[fa+2|0]<<16|G[fa+3|0]<<24);if(c>>>0>=b>>>0|s>>>0>b-c>>>0&b>>>0>=c>>>0){break a}if(!Fb(g,e,f,c+p|0,s,q,U,m,n,0,s,h,G[a+1200|0],i,j,k,l)){break a}}Ja=1}return Ja}function _a(a,b,c,d,e,f,g,h,i,j,k,l,m){var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,K=0,O=0,P=0,Q=0,R=M(0),S=0,T=0,U=M(0),V=0,W=0,X=0,Y=0,Z=0,_=0,$=M(0),aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=M(0),ta=0,ua=0,va=0,wa=0,xa=0,ya=M(0),za=0,Aa=0,Ba=0,Ca=0,Da=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=M(0),Pa=0,Qa=0,Sa=0,Ua=0,Xa=0,Ya=0,_a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,nb=0,ob=0,pb=0,qb=0,rb=0,tb=M(0),vb=M(0),xb=M(0),yb=M(0),zb=M(0),Ab=M(0),Bb=M(0),Cb=M(0),Db=M(0),Eb=0,Fb=0,Hb=0,Ib=M(0),Jb=0,Kb=0;w=Ea-256|0;Ea=w;a:{if(!G[405840]){break a}n=f-21|0;b:{if(j){break b}if(n>>>0<9){j=h;break b}j=b;if((f|0)!=15){break b}j=h+7>>>3|0;n=-6}if(L(b,c)<<4>>>0>e>>>0){break a}if((f&-2)!=6){o=1;if(!c|!b){break a}Na=j<<2;ga=j<<1;Ga=L(g,j);ia=w+216|0;o=0;xa=(f|0)==24;qa=n>>>0<9?k?k:i:k;P=qa;while(1){e=ha<<2;h=qa-e|0;T=(h|0)>=4?4:h;I=(P|0)>=4?4:P;Y=L(e,j);e=L(ha,Ga)+a|0;z=j;i=0;while(1){r=(z|0)>=4?4:z;c:{d:{e:{f:{g:{h:{i:{j:{k:{switch(f|0){case 29:h=w+104|0;k=Za(d,h,0,0);if(k){$a(F[w+208>>2],F[w+212>>2],ia,h,w)}if(T){break j}break e;case 24:case 25:h=w+104|0;n=Za(d,h,0,0);if(n){$a(F[w+208>>2],F[w+212>>2],ia,h,w)}if(T){break i}break f;case 22:h=w+104|0;u=Za(d,h,0,0);if(u){$a(F[w+208>>2],F[w+212>>2],ia,h,w)}if(T){break h}break g;case 18:h=w+104|0;if(!Za(d,h,0,1)){break d}l=(l|0)>0?l:0;k=F[w+208>>2];if((k|0)!=8){$a(k,F[w+212>>2],ia,h,w);if((l|0)!=3){wb(e,l+w|0,4);break c}ub(w+104|0,w,e);break c}h=G[l+ia|0];k=H[196104]|H[196105]<<16;E[e+2>>1]=k;E[e+4>>1]=k>>>16;E[e+6>>1]=H[196106];E[e>>1]=h|3328;break c;case 12:u=w+104|0;if(!Za(d,u,1,0)){break d}k=F[w+208>>2];if((k|0)!=8){C=0;p=Ea-48|0;Ea=p;x=G[u+20|0];D[e+2|0]=0;D[e+3|0]=0;D[e+4|0]=0;D[e+5|0]=0;D[e+6|0]=0;D[e+7|0]=0;D[e+8|0]=0;D[e+9|0]=0;D[e+8|0]=0;D[e+9|0]=0;D[e+10|0]=0;D[e+11|0]=0;D[e+12|0]=0;D[e+13|0]=0;D[e+14|0]=0;D[e+15|0]=0;h=F[(k<<2)+10176>>2];D[e|0]=h;h=h>>>8|0;D[e+1|0]=h;n=F[u>>2];h=h|(G[u+4|0]<<3)-8;D[e+1|0]=h;O=F[L(n,12)+7200>>2];l:{if(F[u+4>>2]==1){n=F[u+12>>2];D[e+2|0]=n>>>3;D[e+1|0]=h|n<<5;n=17;break l}r=F[u+8>>2];h=10;n=13;while(1){q=(n>>3)+e|0;o=q;t=G[q|0];q=n&7;D[o|0]=t|r<>>q|0;n=n+q|0;h=h-q|0;if(h){continue}break}h=(n>>3)+e|0;r=n&7;q=(F[u+12>>2]<<2&60)<>>0>=3){D[h+1|0]=G[h+1|0]|q>>>8}n=n+6|0}if(G[u+20|0]){h=(120-(O<<(x?5:4))>>3)+e|0;D[h|0]=G[h|0]|G[u+16|0]<<6}h=F[u+4>>2];q=F[u+12>>2];F[p+44>>2]=n;F[p+32>>2]=0;F[p+24>>2]=0;F[p+28>>2]=0;F[p+16>>2]=0;F[p+20>>2]=0;s=u+21|0;r=2;v=L((q>>2)+1|0,h);t=v<<1;h=G[k+7072|0];o=F[L(h,12)+7200>>2];m:{n:{k=1497965>>>h&1;if(!k){q=5;r=4;break n}q=3;if(!(1797559>>>h&1)){break n}if(!o|(v|0)<=0){break m}h=0;while(1){k=n>>3;r=k+(p+16|0)|0;q=n&7;C=G[h+s|0]<>>0>8-q>>>0){k=k+p|0;D[k+17|0]=G[k+17|0]|C>>>8}n=n+o|0;h=h+1|0;if((t|0)!=(h|0)){continue}break}break m}B=(r+t|0)/(q|0)|0;if((B|0)<=0){break m}if(!k){n=0;while(1){D[p+12|0]=0;F[p+8>>2]=0;h=L(n,q);if((h|0)<(t|0)){k=h+s|0;h=t-h|0;h=(h|0)>(q|0)?q:h;Va(p+8|0,k,(h|0)<=1?1:h)}Vb(p+16|0,p+8|0,p+44|0,o);n=n+1|0;if((B|0)!=(n|0)){continue}break}break m}h=L(o,3);k=h+7|0;if(!k){break m}S=o+3|0;Q=h+5|0;h=o<<1;K=h+5|0;A=h+3|0;v=-1<>2]=0;r=0;h=0;y=L(q,C);if((y|0)<(t|0)){h=t-y|0;h=(h|0)>(q|0)?q:h;Va(p+8|0,s+y|0,(h|0)<=1?1:h);r=G[p+9|0];h=G[p+10|0];y=G[p+8|0]}else{y=0}W=r&255;r=G[((L(W>>>o|0,5)+(y>>>o|0)|0)+L(h>>>o|0,25)|0)+398192|0];r=v&y|(v&W)<>>3&3)<>>5&3)<>3)|0;V=y;ja=G[y|0];y=n&7;D[V|0]=ja|r<>>y|0;n=n+y|0;h=h-y|0;if(h){continue}break}C=C+1|0;if((B|0)!=(C|0)){continue}break}}h=x?32:16;F[e>>2]=F[e>>2]|F[p+16>>2];F[e+4>>2]=F[e+4>>2]|F[p+20>>2];F[e+8>>2]=F[e+8>>2]|F[p+24>>2];F[e+12>>2]=F[e+12>>2]|F[p+28>>2];n=0;o:{p:{switch(O-1|0){case 0:while(1){k=127-n|0;r=(k>>>3|0)+e|0;o=r;q=G[r|0];r=u+39|0;D[o|0]=q|G[r+n|0]<<(k&7);k=n|1;q=127-k|0;o=(q>>>3|0)+e|0;D[o|0]=G[o|0]|G[k+r|0]<<(q&6);n=n+2|0;if((h|0)!=(n|0)){continue}break};break o;case 1:while(1){k=126-(n<<1)|0;r=(k>>>3|0)+e|0;o=r;q=G[r|0];r=u+39|0;D[o|0]=q|G[G[r+n|0]+207568|0]<<(k&6);k=n|1;q=126-(k<<1)|0;o=(q>>>3|0)+e|0;D[o|0]=G[o|0]|G[G[k+r|0]+207568|0]<<(q&4);n=n+2|0;if((h|0)!=(n|0)){continue}break};break o;case 2:while(1){r=L(n,-3)+125|0;k=(r>>>3|0)+e|0;q=G[G[(n+u|0)+39|0]+10252|0]<<(r&7);D[k|0]=q|G[k|0];if(r>>>0<=119){D[k+1|0]=G[k+1|0]|q>>>8}n=n+1|0;if((h|0)!=(n|0)){continue}break};break o;case 3:while(1){k=(120-(n<<2)>>3)+e|0;o=k;q=G[k|0];k=u+39|0;D[o|0]=q|G[G[k+n|0]+10272|0]<<4;r=n|1;q=(124-(r<<2)>>3)+e|0;D[q|0]=G[q|0]|G[G[k+r|0]+10272|0];n=n+2|0;if((h|0)!=(n|0)){continue}break};break o;case 4:break p;default:break o}}while(1){r=L(n,-5)+123|0;k=(r>>>3|0)+e|0;q=G[G[(n+u|0)+39|0]+10288|0]<<(r&7);D[k|0]=q|G[k|0];if(r>>>0<=119){D[k+1|0]=G[k+1|0]|q>>>8}n=n+1|0;if((h|0)!=(n|0)){continue}break}}Ea=p+48|0;break c}n=G[ia+3|0];r=G[ia+2|0];q=G[ia+1|0];h=G[ia|0];F[e+12>>2]=0;F[e+4>>2]=-1;F[e+8>>2]=0;D[e|0]=252;D[e+1|0]=253;D[e+2|0]=255;D[e+3|0]=255;p=h|h<<8;h=16;k=64;while(1){u=(k>>3)+e|0;o=u;t=G[u|0];u=k&7;D[o|0]=t|p<>>u|0;k=k+u|0;h=h-u|0;if(h){continue}break};p=q|q<<8;h=16;while(1){q=(k>>3)+e|0;o=q;t=G[q|0];q=k&7;D[o|0]=t|p<>>q|0;k=k+q|0;h=h-q|0;if(h){continue}break};p=r|r<<8;h=16;while(1){r=(k>>3)+e|0;o=r;q=G[r|0];r=k&7;D[o|0]=q|p<>>r|0;k=k+r|0;h=h-r|0;if(h){continue}break};p=n|n<<8;h=16;while(1){n=(k>>3)+e|0;o=n;q=G[n|0];n=k&7;D[o|0]=q|p<>>n|0;k=k+n|0;h=h-n|0;if(h){continue}break};break c;case 8:case 9:n=w+104|0;if(!Za(d,n,0,0)){break d}u=0;C=0;t=Ea-48|0;Ea=t;o=Ta(w,0,96);h=F[n+104>>2];s=G[h+7072|0];q:{r:{s:{switch(h|0){case 0:case 5:case 10:case 12:case 14:case 15:case 18:u=G[h+7168|0];F[o>>2]=6;k=(s<<9)+413088|0;U=M(M(G[k+(G[n+21|0]<<1)|0])/M(255));J[t+32>>2]=U;t:{if(h-15>>>0<=2){p=G[k+(G[n+22|0]<<1)|0];J[t+36>>2]=U;J[t+40>>2]=U;U=M(M(p>>>0)/M(255));J[t+16>>2]=U;J[t+20>>2]=U;J[t+24>>2]=U;J[t+44>>2]=M(G[k+(G[n+23|0]<<1)|0])/M(255);u=4;R=M(M(G[k+(G[n+24|0]<<1)|0])/M(255));break t}J[t+36>>2]=M(G[k+(G[n+23|0]<<1)|0])/M(255);J[t+40>>2]=M(G[k+(G[n+25|0]<<1)|0])/M(255);J[t+16>>2]=M(G[k+(G[n+22|0]<<1)|0])/M(255);J[t+20>>2]=M(G[k+(G[n+24|0]<<1)|0])/M(255);J[t+24>>2]=M(G[k+(G[n+26|0]<<1)|0])/M(255);if(h-8>>>0<=6){k=(s<<9)+413088|0;J[t+44>>2]=M(G[k+(G[n+27|0]<<1)|0])/M(255);R=M(M(G[k+(G[n+28|0]<<1)|0])/M(255));break t}F[t+44>>2]=1065353216;R=M(1)}J[t+28>>2]=R;mb(u,7,t+32|0,t+16|0,o+40|0,t+4|0,t+8|0);F[o+52>>2]=F[t+4>>2];if(h-18>>>0<=4294967285){D[o+55|0]=127;D[o+43|0]=127}F[o+64>>2]=F[t+8>>2];F[o+68>>2]=F[t+12>>2];u:{v:{switch(h-5|0){case 9:D[o+8|0]=G[G[n+39|0]+10592|0];D[o+9|0]=G[G[n+40|0]+10592|0];D[o+10|0]=G[G[n+41|0]+10592|0];D[o+11|0]=G[G[n+42|0]+10592|0];D[o+12|0]=G[G[n+43|0]+10592|0];D[o+13|0]=G[G[n+44|0]+10592|0];D[o+14|0]=G[G[n+45|0]+10592|0];D[o+15|0]=G[G[n+46|0]+10592|0];D[o+16|0]=G[G[n+47|0]+10592|0];D[o+17|0]=G[G[n+48|0]+10592|0];D[o+18|0]=G[G[n+49|0]+10592|0];D[o+19|0]=G[G[n+50|0]+10592|0];D[o+20|0]=G[G[n+51|0]+10592|0];D[o+21|0]=G[G[n+52|0]+10592|0];D[o+22|0]=G[G[n+53|0]+10592|0];h=G[n+54|0]+10592|0;break u;case 13:D[o+8|0]=G[G[n+39|0]+10560|0];D[o+9|0]=G[G[n+40|0]+10560|0];D[o+10|0]=G[G[n+41|0]+10560|0];D[o+11|0]=G[G[n+42|0]+10560|0];D[o+12|0]=G[G[n+43|0]+10560|0];D[o+13|0]=G[G[n+44|0]+10560|0];D[o+14|0]=G[G[n+45|0]+10560|0];D[o+15|0]=G[G[n+46|0]+10560|0];D[o+16|0]=G[G[n+47|0]+10560|0];D[o+17|0]=G[G[n+48|0]+10560|0];D[o+18|0]=G[G[n+49|0]+10560|0];D[o+19|0]=G[G[n+50|0]+10560|0];D[o+20|0]=G[G[n+51|0]+10560|0];D[o+21|0]=G[G[n+52|0]+10560|0];D[o+22|0]=G[G[n+53|0]+10560|0];h=G[n+54|0]+10560|0;break u;default:D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];h=n+54|0;break u;case 0:case 7:break v}}D[o+8|0]=G[G[n+39|0]+10596|0];D[o+9|0]=G[G[n+40|0]+10596|0];D[o+10|0]=G[G[n+41|0]+10596|0];D[o+11|0]=G[G[n+42|0]+10596|0];D[o+12|0]=G[G[n+43|0]+10596|0];D[o+13|0]=G[G[n+44|0]+10596|0];D[o+14|0]=G[G[n+45|0]+10596|0];D[o+15|0]=G[G[n+46|0]+10596|0];D[o+16|0]=G[G[n+47|0]+10596|0];D[o+17|0]=G[G[n+48|0]+10596|0];D[o+18|0]=G[G[n+49|0]+10596|0];D[o+19|0]=G[G[n+50|0]+10596|0];D[o+20|0]=G[G[n+51|0]+10596|0];D[o+21|0]=G[G[n+52|0]+10596|0];D[o+22|0]=G[G[n+53|0]+10596|0];h=G[n+54|0]+10596|0}D[o+23|0]=G[h|0];break r;case 1:F[o>>2]=3;J[t+32>>2]=M(G[n+21|0])/M(255);J[t+36>>2]=M(G[n+23|0])/M(255);h=G[n+25|0];F[t+44>>2]=1065353216;J[t+40>>2]=M(h>>>0)/M(255);J[t+16>>2]=M(G[n+22|0])/M(255);J[t+20>>2]=M(G[n+24|0])/M(255);h=G[n+26|0];F[t+28>>2]=1065353216;J[t+24>>2]=M(h>>>0)/M(255);F[t+4>>2]=0;F[t>>2]=0;mb(3,7,t+32|0,t+16|0,t+4|0,t,t+8|0);D[o+42|0]=G[t+6|0];E[o+40>>1]=H[t+4>>1];E[o+44>>1]=H[t+4>>1];D[o+46|0]=G[t+6|0];h=G[t|0];D[o+52|0]=h;D[o+56|0]=h;h=G[t+1|0];D[o+57|0]=h;D[o+53|0]=h;h=G[t+2|0];D[o+58|0]=h;D[o+54|0]=h;h=F[t+8>>2];F[o+64>>2]=h;k=F[t+12>>2];F[o+76>>2]=k;F[o+72>>2]=h;F[o+68>>2]=k;D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0];break r;case 2:F[o>>2]=1;F[o+4>>2]=G[L(F[n+108>>2],6)+5248|0];K=43795755>>>F[n+108>>2]&1;k=1;while(1){s=0;h=n+L(C,6)|0;p=G[h+24|0];$=M(M((p<<4|p)>>>0)/M(255));yb=M($*M(127));U=M(M(yb*M(.5))+M(.5));w:{if(M(N(U))=0?(r|0)>=126?126:r:0;U=M(M(M(((x>>>6&1|x<<1)&253)>>>0)/M(255))-$);U=M(U*U);p=G[h+23|0];sa=M(M((p<<4|p)>>>0)/M(255));zb=M(sa*M(127));R=M(M(zb*M(.5))+M(.5));x:{if(M(N(R))=0?(r|0)>=126?126:r:0;R=M(M(M(((O>>>6&1|O<<1)&253)>>>0)/M(255))-sa);R=M(R*R);p=G[h+22|0];tb=M(M((p<<4|p)>>>0)/M(255));Ab=M(tb*M(127));ya=M(M(Ab*M(.5))+M(.5));y:{if(M(N(ya))=0?(r|0)>=126?126:r:0;ya=M(M(M(((B>>>6&1|B<<1)&253)>>>0)/M(255))-tb);Oa=M(ya*ya);U=M(R+U);p=G[h+21|0];ya=M(M((p<<4|p)>>>0)/M(255));Bb=M(ya*M(127));R=M(M(Bb*M(.5))+M(.5));z:{if(M(N(R))=0?(r|0)>=126?126:r:0;R=M(M(M(((y>>>6&1|y<<1)&253)>>>0)/M(255))-ya);R=M(M(M(R*R)+Oa)+U);p=G[h+26|0];Oa=M(M((p<<4|p)>>>0)/M(255));Cb=M(Oa*M(127));U=M(M(Cb*M(.5))+M(.5));A:{if(M(N(U))=0?(r|0)>=126?126:r:0;U=M(M(M(((S>>>6&1|S<<1)&253)>>>0)/M(255))-Oa);Ib=M(U*U);U=M(1e9);u=0;q=0;p=0;r=0;v=0;vb=R;h=G[h+25|0];xb=M(M((h<<4|h)>>>0)/M(255));Db=M(xb*M(127));R=M(M(Db*M(.5))+M(.5));B:{if(M(N(R))=0?(Q|0)>=126?126:Q:0;R=M(M(M(((h>>>6&1|h<<1)&253)>>>0)/M(255))-xb);R=M(vb+M(M(R*R)+Ib));if(R>>1|0;u=(h&254)>>>1|0;q=(x&254)>>>1|0;r=(B&254)>>>1|0;v=(y&254)>>>1|0;U=R;p=(O&254)>>>1|0}O=0;R=M(M(M(yb+M(-1))*M(.5))+M(.5));C:{if(M(N(R))=127?127:x;R=M(M(M(((h>>>6&1|h<<1)&255)>>>0)/M(255))-$);R=M(R*R);$=M(M(M(zb+M(-1))*M(.5))+M(.5));D:{if(M(N($))=127?127:B;$=M(M(M(((x>>>6&1|x<<1)&255)>>>0)/M(255))-sa);$=M($*$);sa=M(M(M(Ab+M(-1))*M(.5))+M(.5));E:{if(M(N(sa))=127?127:y;sa=M(M(M(((B>>>6&1|B<<1)&255)>>>0)/M(255))-tb);sa=M(sa*sa);R=M($+R);$=M(M(M(Bb+M(-1))*M(.5))+M(.5));F:{if(M(N($))=127?127:S;$=M(M(M(((y>>>6&1|y<<1)&255)>>>0)/M(255))-ya);R=M(M(M($*$)+sa)+R);$=M(M(M(Cb+M(-1))*M(.5))+M(.5));G:{if(M(N($))=127?127:Q;$=M(M(M(((S>>>6&1|S<<1)&255)>>>0)/M(255))-Oa);$=M($*$);vb=R;R=M(M(M(Db+M(-1))*M(.5))+M(.5));H:{if(M(N(R))=127?127:A;R=M(M(M(((Q>>>6&1|Q<<1)&255)>>>0)/M(255))-xb);if(U>M(vb+M(M(R*R)+$))){O=1;s=(S&254)>>>1|0;q=(h&254)>>>1|0;r=(B&254)>>>1|0;v=(y&254)>>>1|0;u=(Q&254)>>>1|0;p=(x&254)>>>1|0}h=C^K;C=1;x=h^1;h=o+(x<<2)|0;D[h+42|0]=u;D[h+41|0]=p;D[h+40|0]=v;D[h+54|0]=s;D[h+53|0]=q;D[h+52|0]=r;F[(o+(x<<3)|0)- -64>>2]=O;h=k;k=0;if(h){continue}break};D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0];break r;case 3:F[o>>2]=2;F[o+4>>2]=G[L(F[n+108>>2],6)+5568|0];C=1;h=(s<<9)+413088|0;s=G[h+(G[n+22|0]<<1)|0];k=o+40|0;p=L(G[(L(F[n+108>>2],6)+5568|0)+4|0],3)+5648|0;u=G[p|0]<<2;r=k+u|0;D[r|0]=(L(G[h+(G[n+21|0]<<1)|0],31)+127>>>0)/255;q=o+52|0;u=u+q|0;D[u|0]=(L(s,31)+127>>>0)/255;s=G[h+(G[n+24|0]<<1)|0];D[r+1|0]=(L(G[h+(G[n+23|0]<<1)|0],31)+127>>>0)/255;D[u+1|0]=(L(s,31)+127>>>0)/255;s=G[h+(G[n+26|0]<<1)|0];D[r+2|0]=(L(G[h+(G[n+25|0]<<1)|0],31)+127>>>0)/255;D[u+2|0]=(L(s,31)+127>>>0)/255;s=G[h+(G[n+28|0]<<1)|0];u=G[p+1|0]<<2;r=u+k|0;D[r|0]=(L(G[h+(G[n+27|0]<<1)|0],31)+127>>>0)/255;u=q+u|0;D[u|0]=(L(s,31)+127>>>0)/255;s=G[h+(G[n+30|0]<<1)|0];D[r+1|0]=(L(G[h+(G[n+29|0]<<1)|0],31)+127>>>0)/255;D[u+1|0]=(L(s,31)+127>>>0)/255;s=G[h+(G[n+32|0]<<1)|0];D[r+2|0]=(L(G[h+(G[n+31|0]<<1)|0],31)+127>>>0)/255;D[u+2|0]=(L(s,31)+127>>>0)/255;r=G[h+(G[n+34|0]<<1)|0];p=G[p+2|0]<<2;k=p+k|0;D[k|0]=(L(G[h+(G[n+33|0]<<1)|0],31)+127>>>0)/255;p=p+q|0;D[p|0]=(L(r,31)+127>>>0)/255;r=G[h+(G[n+36|0]<<1)|0];D[k+1|0]=(L(G[h+(G[n+35|0]<<1)|0],31)+127>>>0)/255;D[p+1|0]=(L(r,31)+127>>>0)/255;r=G[h+(G[n+38|0]<<1)|0];D[k+2|0]=(L(G[h+(G[n+37|0]<<1)|0],31)+127>>>0)/255;D[p+2|0]=(L(r,31)+127>>>0)/255;D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0];break q;case 4:F[o>>2]=3;F[o+4>>2]=G[L(F[n+108>>2],6)+5248|0];k=F[n+108>>2];F[t+44>>2]=1065353216;F[t+28>>2]=1065353216;C=1;h=(s<<9)+413088|0;J[t+32>>2]=M(G[h+(G[n+21|0]<<1)|0])/M(255);J[t+16>>2]=M(G[h+(G[n+22|0]<<1)|0])/M(255);J[t+36>>2]=M(G[h+(G[n+23|0]<<1)|0])/M(255);J[t+20>>2]=M(G[h+(G[n+24|0]<<1)|0])/M(255);J[t+40>>2]=M(G[h+(G[n+25|0]<<1)|0])/M(255);J[t+24>>2]=M(G[h+(G[n+26|0]<<1)|0])/M(255);F[t+8>>2]=0;F[t+12>>2]=0;F[t+4>>2]=0;F[t>>2]=0;q=t+32|0;u=t+16|0;s=t+4|0;v=t+8|0;mb(3,7,q,u,s,t,v);x=o+40|0;k=43795755>>>k&1;O=!k;r=O<<2;p=x+r|0;D[p+2|0]=G[t+6|0];E[p>>1]=H[t+4>>1];B=o+52|0;r=B+r|0;D[r+2|0]=G[t+2|0];E[r>>1]=H[t>>1];D[p+3|0]=127;D[r+3|0]=127;r=o- -64|0;p=r+(O<<3)|0;F[p>>2]=F[t+8>>2];F[p+4>>2]=F[t+12>>2];J[t+32>>2]=M(G[h+(G[n+27|0]<<1)|0])/M(255);J[t+16>>2]=M(G[h+(G[n+28|0]<<1)|0])/M(255);J[t+36>>2]=M(G[h+(G[n+29|0]<<1)|0])/M(255);J[t+20>>2]=M(G[h+(G[n+30|0]<<1)|0])/M(255);J[t+40>>2]=M(G[h+(G[n+31|0]<<1)|0])/M(255);J[t+24>>2]=M(G[h+(G[n+32|0]<<1)|0])/M(255);F[t+8>>2]=0;F[t+12>>2]=0;F[t+4>>2]=0;F[t>>2]=0;mb(3,7,q,u,s,t,v);p=k<<2;h=p+x|0;D[h+2|0]=G[t+6|0];E[h>>1]=H[t+4>>1];p=p+B|0;D[p+2|0]=G[t+2|0];E[p>>1]=H[t>>1];D[h+3|0]=127;D[p+3|0]=127;h=r+(k<<3)|0;F[h>>2]=F[t+8>>2];F[h+4>>2]=F[t+12>>2];D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0];break q;case 6:case 11:case 13:case 17:F[o>>2]=5;F[o+92>>2]=F[n+16>>2]+1&3;I:{J:{if(h-15>>>0<=2){h=(s<<9)+413088|0;k=(L(G[h+(G[n+21|0]<<1)|0],127)+127>>>0)/255|0;D[o+40|0]=k;p=G[h+(G[n+22|0]<<1)|0];D[o+41|0]=k;D[o+42|0]=k;k=(L(p,127)+127>>>0)/255|0;D[o+53|0]=k;D[o+52|0]=k;D[o+54|0]=k;D[o+43|0]=G[h+(G[n+23|0]<<1)|0];D[o+55|0]=G[h+(G[n+24|0]<<1)|0];break J}u=F[n+16>>2];q=u?0:3;k=(s<<9)+413088|0;p=G[k+(G[n+21|0]<<1)|0];r=G[k+(G[n+22|0]<<1)|0];if(u){r=(L(r&255,127)+127>>>0)/255|0;p=(L(p&255,127)+127>>>0)/255|0}u=o+40|0;D[u+q|0]=p;C=o+52|0;D[C+q|0]=r;p=G[k+(G[n+24|0]<<1)|0];q=G[k+(G[n+23|0]<<1)|0];r=F[n+16>>2]==1;k=r?3:1;if(!r){q=(L(q&255,127)+127>>>0)/255|0;p=(L(p&255,127)+127>>>0)/255|0}D[k+u|0]=q;D[k+C|0]=p;k=(s<<9)+413088|0;q=G[k+(G[n+26|0]<<1)|0];k=G[k+(G[n+25|0]<<1)|0];p=F[n+16>>2]==2;r=p?3:2;x=r+u|0;if(!p){q=(L(q&255,127)+127>>>0)/255|0;k=(L(k,127)+127>>>0)/255|0}D[x|0]=k;D[r+C|0]=q;p=255;r=255;if(h-8>>>0<=6){k=(s<<9)+413088|0;r=G[k+(G[n+28|0]<<1)|0];p=G[k+(G[n+27|0]<<1)|0]}k=F[n+16>>2];if(k>>>0<=2){r=(L(r,127)+127>>>0)/255|0;p=(L(p,127)+127>>>0)/255|0}D[k+u|0]=p;D[k+C|0]=r;if((h|0)==13){break I}}D[o+8|0]=G[n+39|0];D[o+24|0]=G[n+40|0];D[o+9|0]=G[n+41|0];D[o+25|0]=G[n+42|0];D[o+10|0]=G[n+43|0];D[o+26|0]=G[n+44|0];D[o+11|0]=G[n+45|0];D[o+27|0]=G[n+46|0];D[o+12|0]=G[n+47|0];D[o+28|0]=G[n+48|0];D[o+13|0]=G[n+49|0];D[o+29|0]=G[n+50|0];D[o+14|0]=G[n+51|0];D[o+30|0]=G[n+52|0];D[o+15|0]=G[n+53|0];D[o+31|0]=G[n+54|0];D[o+16|0]=G[n+55|0];D[o+32|0]=G[n+56|0];D[o+17|0]=G[n+57|0];D[o+33|0]=G[n+58|0];D[o+18|0]=G[n+59|0];D[o+34|0]=G[n+60|0];D[o+19|0]=G[n+61|0];D[o+35|0]=G[n+62|0];D[o+20|0]=G[n+63|0];D[o+36|0]=G[n- -64|0];D[o+21|0]=G[n+65|0];D[o+37|0]=G[n+66|0];D[o+22|0]=G[n+67|0];D[o+38|0]=G[n+68|0];D[o+23|0]=G[n+69|0];D[o+39|0]=G[n+70|0];break r}D[o+8|0]=G[n+39|0]?3:0;D[o+24|0]=G[n+40|0]?3:0;D[o+9|0]=G[n+41|0]?3:0;D[o+25|0]=G[n+42|0]?3:0;D[o+10|0]=G[n+43|0]?3:0;D[o+26|0]=G[n+44|0]?3:0;D[o+11|0]=G[n+45|0]?3:0;D[o+27|0]=G[n+46|0]?3:0;D[o+12|0]=G[n+47|0]?3:0;D[o+28|0]=G[n+48|0]?3:0;D[o+13|0]=G[n+49|0]?3:0;D[o+29|0]=G[n+50|0]?3:0;D[o+14|0]=G[n+51|0]?3:0;D[o+30|0]=G[n+52|0]?3:0;D[o+15|0]=G[n+53|0]?3:0;D[o+31|0]=G[n+54|0]?3:0;D[o+16|0]=G[n+55|0]?3:0;D[o+32|0]=G[n+56|0]?3:0;D[o+17|0]=G[n+57|0]?3:0;D[o+33|0]=G[n+58|0]?3:0;D[o+18|0]=G[n+59|0]?3:0;D[o+34|0]=G[n+60|0]?3:0;D[o+19|0]=G[n+61|0]?3:0;D[o+35|0]=G[n+62|0]?3:0;D[o+20|0]=G[n+63|0]?3:0;D[o+36|0]=G[n- -64|0]?3:0;D[o+21|0]=G[n+65|0]?3:0;D[o+37|0]=G[n+66|0]?3:0;D[o+22|0]=G[n+67|0]?3:0;D[o+38|0]=G[n+68|0]?3:0;D[o+23|0]=G[n+69|0]?3:0;D[o+39|0]=G[n+70|0]?3:0;break r;case 7:F[o>>2]=2;F[o+4>>2]=G[L(F[n+108>>2],6)+5440|0];C=1;h=(s<<9)+413088|0;p=n+21|0;q=F[n+108>>2];r=G[(L(q,6)+5440|0)+4|0];u=r&1;k=p+L(u,6)|0;D[o+40|0]=(L(G[h+(G[k|0]<<1)|0],31)+127>>>0)/255;D[o+52|0]=(L(G[h+(G[k+1|0]<<1)|0],31)+127>>>0)/255;D[o+41|0]=(L(G[h+(G[k+2|0]<<1)|0],31)+127>>>0)/255;D[o+53|0]=(L(G[h+(G[k+3|0]<<1)|0],31)+127>>>0)/255;D[o+42|0]=(L(G[h+(G[k+4|0]<<1)|0],31)+127>>>0)/255;D[o+54|0]=(L(G[h+(G[k+5|0]<<1)|0],31)+127>>>0)/255;k=p+L((r^87040>>>q^-1)&1,6)|0;D[o+44|0]=(L(G[h+(G[k|0]<<1)|0],31)+127>>>0)/255;D[o+56|0]=(L(G[h+(G[k+1|0]<<1)|0],31)+127>>>0)/255;D[o+45|0]=(L(G[h+(G[k+2|0]<<1)|0],31)+127>>>0)/255;D[o+57|0]=(L(G[h+(G[k+3|0]<<1)|0],31)+127>>>0)/255;D[o+46|0]=(L(G[h+(G[k+4|0]<<1)|0],31)+127>>>0)/255;D[o+58|0]=(L(G[h+(G[k+5|0]<<1)|0],31)+127>>>0)/255;k=F[(r<<1&508)+398484>>2];k=p+L(u?1-k|0:k,6)|0;D[o+48|0]=(L(G[h+(G[k|0]<<1)|0],31)+127>>>0)/255;D[o+60|0]=(L(G[h+(G[k+1|0]<<1)|0],31)+127>>>0)/255;D[o+49|0]=(L(G[h+(G[k+2|0]<<1)|0],31)+127>>>0)/255;D[o+61|0]=(L(G[h+(G[k+3|0]<<1)|0],31)+127>>>0)/255;D[o+50|0]=(L(G[h+(G[k+4|0]<<1)|0],31)+127>>>0)/255;D[o+62|0]=(L(G[h+(G[k+5|0]<<1)|0],31)+127>>>0)/255;D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0];break q;case 8:k=(G[n+115|0]<<3)+423840|0;p=(G[n+114|0]<<3)+423840|0;r=(G[n+113|0]<<3)+423840|0;q=(G[n+112|0]<<3)+423840|0;h=H[k+4>>1]+(H[p+4>>1]+(H[r+4>>1]+H[q+4>>1]|0)|0)|0;k=H[k>>1]+(H[p>>1]+(H[r>>1]+H[q>>1]|0)|0)|0;if(!(!k|!h)){F[o>>2]=5;D[o+40|0]=G[((G[n+112|0]<<2)+425888|0)+2|0];D[o+52|0]=G[((G[n+112|0]<<2)+425888|0)+3|0];D[o+41|0]=G[((G[n+113|0]<<2)+425888|0)+2|0];D[o+53|0]=G[((G[n+113|0]<<2)+425888|0)+3|0];D[o+42|0]=G[((G[n+114|0]<<2)+425888|0)+2|0];h=G[((G[n+114|0]<<2)+425888|0)+3|0];F[o+8>>2]=16843009;F[o+12>>2]=16843009;D[o+54|0]=h;F[o+16>>2]=16843009;F[o+20>>2]=16843009;D[o+43|0]=G[n+115|0];D[o+55|0]=G[n+115|0];break r}F[o>>2]=6;k=h>>>0>>0;h=k<<2;D[o+40|0]=G[(h+((G[n+112|0]<<3)+423840|0)|0)+2|0];D[o+52|0]=G[(h+((G[n+112|0]<<3)+423840|0)|0)+3|0];D[o+41|0]=G[(h+((G[n+113|0]<<3)+423840|0)|0)+2|0];D[o+53|0]=G[(h+((G[n+113|0]<<3)+423840|0)|0)+3|0];D[o+42|0]=G[(h+((G[n+114|0]<<3)+423840|0)|0)+2|0];D[o+54|0]=G[(h+((G[n+114|0]<<3)+423840|0)|0)+3|0];D[o+43|0]=G[(h+((G[n+115|0]<<3)+423840|0)|0)+2|0];h=G[(h+((G[n+115|0]<<3)+423840|0)|0)+3|0];F[o+68>>2]=k;F[o+64>>2]=k;D[o+55|0]=h;F[o+8>>2]=84215045;F[o+12>>2]=84215045;F[o+16>>2]=84215045;F[o+20>>2]=84215045;break r;case 9:case 16:break s;default:break q}}F[o>>2]=7;F[o+4>>2]=G[L(F[n+108>>2],6)+5248|0];p=43795755>>>F[n+108>>2]&1;r=h-15>>>0>2;h=(s<<9)+413088|0;s=1;while(1){K:{if(!r){q=u<<2;k=q+n|0;U=M(M(G[h+(G[k+21|0]<<1)|0])/M(255));J[t+32>>2]=U;C=G[h+(G[k+22|0]<<1)|0];J[t+36>>2]=U;J[t+40>>2]=U;U=M(M(C>>>0)/M(255));J[t+16>>2]=U;J[t+20>>2]=U;J[t+24>>2]=U;J[t+44>>2]=M(G[h+(G[k+23|0]<<1)|0])/M(255);k=q|3;break K}q=u<<3;k=q+n|0;J[t+32>>2]=M(G[h+(G[k+21|0]<<1)|0])/M(255);J[t+36>>2]=M(G[h+(G[k+23|0]<<1)|0])/M(255);J[t+40>>2]=M(G[h+(G[k+25|0]<<1)|0])/M(255);J[t+44>>2]=M(G[h+(G[k+27|0]<<1)|0])/M(255);J[t+16>>2]=M(G[h+(G[k+22|0]<<1)|0])/M(255);J[t+20>>2]=M(G[h+(G[k+24|0]<<1)|0])/M(255);J[t+24>>2]=M(G[h+(G[k+26|0]<<1)|0])/M(255);k=q|7}J[t+28>>2]=M(G[(G[(k+n|0)+21|0]<<1)+h|0])/M(255);F[t+8>>2]=0;F[t+12>>2]=0;F[t+4>>2]=0;F[t>>2]=0;mb(4,5,t+32|0,t+16|0,t+4|0,t,t+8|0);k=p^u^1;q=o+(k<<2)|0;F[q+40>>2]=F[t+4>>2];F[q+52>>2]=F[t>>2];k=o+(k<<3)|0;F[k- -64>>2]=F[t+8>>2];F[k+68>>2]=F[t+12>>2];k=s&1;s=0;u=1;if(k){continue}break}D[o+8|0]=G[n+39|0];D[o+9|0]=G[n+40|0];D[o+10|0]=G[n+41|0];D[o+11|0]=G[n+42|0];D[o+12|0]=G[n+43|0];D[o+13|0]=G[n+44|0];D[o+14|0]=G[n+45|0];D[o+15|0]=G[n+46|0];D[o+16|0]=G[n+47|0];D[o+17|0]=G[n+48|0];D[o+18|0]=G[n+49|0];D[o+19|0]=G[n+50|0];D[o+20|0]=G[n+51|0];D[o+21|0]=G[n+52|0];D[o+22|0]=G[n+53|0];D[o+23|0]=G[n+54|0]}C=1}Ea=t+48|0;if(!C){break d}p=Ea-112|0;r=F[w>>2];t=G[r+10128|0];za=r-4|0;k=7872;L:{if(za>>>0<3){break L}h=F[w+4>>2]<<4;k=h+7888|0;if(138>>>r&1){break L}k=h+8912|0}h=F[w+12>>2];F[p+96>>2]=F[w+8>>2];F[p+100>>2]=h;h=F[w+20>>2];F[p+104>>2]=F[w+16>>2];F[p+108>>2]=h;h=F[w+36>>2];F[p+88>>2]=F[w+32>>2];F[p+92>>2]=h;h=F[w+28>>2];F[p+80>>2]=F[w+24>>2];F[p+84>>2]=h;F[p+72>>2]=G[w+48|0]|G[w+49|0]<<8|(G[w+50|0]<<16|G[w+51|0]<<24);h=G[w+44|0]|G[w+45|0]<<8|(G[w+46|0]<<16|G[w+47|0]<<24);F[p+64>>2]=G[w+40|0]|G[w+41|0]<<8|(G[w+42|0]<<16|G[w+43|0]<<24);F[p+68>>2]=h;F[p+56>>2]=G[w+60|0]|G[w+61|0]<<8|(G[w+62|0]<<16|G[w+63|0]<<24);h=G[w+56|0]|G[w+57|0]<<8|(G[w+58|0]<<16|G[w+59|0]<<24);F[p+48>>2]=G[w+52|0]|G[w+53|0]<<8|(G[w+54|0]<<16|G[w+55|0]<<24);F[p+52>>2]=h;h=F[w+84>>2];F[p+32>>2]=F[w+80>>2];F[p+36>>2]=h;h=F[w+76>>2];F[p+24>>2]=F[w+72>>2];F[p+28>>2]=h;h=F[w+68>>2];F[p+16>>2]=F[w+64>>2];F[p+20>>2]=h;F[p+8>>2]=-1;F[p>>2]=-1;F[p+4>>2]=-1;Ha=t>>>0<=1?1:t;W=r&-3;Aa=F[w+88>>2];n=1<>>1|0;h=0;V=G[p+95|0];O=G[p+94|0];B=G[p+93|0];y=G[p+92|0];x=G[p+91|0];X=G[p+90|0];ea=G[p+89|0];_=G[p+88|0];aa=G[p+87|0];fa=G[p+86|0];S=G[p+85|0];Q=G[p+84|0];K=G[p+83|0];ka=G[p+82|0];la=G[p+81|0];ma=G[p+80|0];Z=G[p+111|0];ba=G[p+110|0];v=G[p+109|0];ca=G[p+108|0];da=G[p+107|0];oa=G[p+106|0];ja=G[p+105|0];na=G[p+104|0];ra=G[p+103|0];ua=G[p+102|0];C=G[p+101|0];va=G[p+100|0];Ja=G[p+99|0];Ka=G[p+98|0];La=G[p+97|0];Ba=G[p+96|0];Ca=r&-2;Ma=(Ca|0)!=4;wa=r+10160|0;while(1){o=h<<2;s=o+p|0;if(h){u=F[w+4>>2]+1e4|0;M:{if(!((h|0)!=1|W)){break M}q=F[w+4>>2];u=q+10064|0;if(!((h|0)!=2|W)){break M}u=q+9936|0}ta=G[u|0]}else{ta=0}F[s>>2]=ta;N:{if(G[ta+(p+96|0)|0]&Ia){if(G[k|0]==(h|0)){Ba=n+(Ba^-1|-256)|0;D[p+96|0]=Ba}if(G[k+1|0]==(h|0)){La=n+(La^-1|-256)|0;D[p+97|0]=La}if(G[k+2|0]==(h|0)){Ka=n+(Ka^-1|-256)|0;D[p+98|0]=Ka}if(G[k+3|0]==(h|0)){Ja=n+(Ja^-1|-256)|0;D[p+99|0]=Ja}if(G[k+4|0]==(h|0)){va=n+(va^-1|-256)|0;D[p+100|0]=va}if(G[k+5|0]==(h|0)){C=n+(C^-1|-256)|0;D[p+101|0]=C}if(G[k+6|0]==(h|0)){ua=n+(ua^-1|-256)|0;D[p+102|0]=ua}if(G[k+7|0]==(h|0)){ra=n+(ra^-1|-256)|0;D[p+103|0]=ra}if(G[k+8|0]==(h|0)){na=n+(na^-1|-256)|0;D[p+104|0]=na}if(G[k+9|0]==(h|0)){ja=n+(ja^-1|-256)|0;D[p+105|0]=ja}if(G[k+10|0]==(h|0)){oa=n+(oa^-1|-256)|0;D[p+106|0]=oa}if(G[k+11|0]==(h|0)){da=n+(da^-1|-256)|0;D[p+107|0]=da}if(G[k+12|0]==(h|0)){ca=n+(ca^-1|-256)|0;D[p+108|0]=ca}if(G[k+13|0]==(h|0)){v=n+(v^-1|-256)|0;D[p+109|0]=v}if(G[k+14|0]==(h|0)){ba=n+(ba^-1|-256)|0;D[p+110|0]=ba}if(G[k+15|0]==(h|0)){Z=n+(Z^-1|-256)|0;D[p+111|0]=Z}q=o+(p- -64|0)|0;O:{if((Ca|0)!=4){s=G[q|0]|G[q+1|0]<<8|(G[q+2|0]<<16|G[q+3|0]<<24);u=o+(p+48|0)|0;A=G[u|0]|G[u+1|0]<<8|(G[u+2|0]<<16|G[u+3|0]<<24);D[q|0]=A;D[q+1|0]=A>>>8;D[q+2|0]=A>>>16;D[q+3|0]=A>>>24;D[u|0]=s;D[u+1|0]=s>>>8;D[u+2|0]=s>>>16;D[u+3|0]=s>>>24;if((r|0)!=1){break O}break N}s=G[q|0];u=o+(p+48|0)|0;D[q|0]=G[u|0];D[u|0]=s;s=G[q+1|0];D[q+1|0]=G[u+1|0];D[u+1|0]=s;s=G[q+2|0];D[q+2|0]=G[u+2|0];D[u+2|0]=s}q=(p+16|0)+(h<<3)|0;u=F[q>>2];Jb=q,Kb=Ze(u,F[q+4>>2],32),F[Jb>>2]=Kb;F[q+4>>2]=Fa}if(Ma){break N}q=1<>>1)){break N}if(G[k|0]==(h|0)){ma=q+(ma^-1|-256)|0;D[p+80|0]=ma}if(G[k+1|0]==(h|0)){la=q+(la^-1|-256)|0;D[p+81|0]=la}if(G[k+2|0]==(h|0)){ka=q+(ka^-1|-256)|0;D[p+82|0]=ka}if(G[k+3|0]==(h|0)){K=q+(K^-1|-256)|0;D[p+83|0]=K}if(G[k+4|0]==(h|0)){Q=q+(Q^-1|-256)|0;D[p+84|0]=Q}if(G[k+5|0]==(h|0)){S=q+(S^-1|-256)|0;D[p+85|0]=S}if(G[k+6|0]==(h|0)){fa=q+(fa^-1|-256)|0;D[p+86|0]=fa}if(G[k+7|0]==(h|0)){aa=q+(aa^-1|-256)|0;D[p+87|0]=aa}if(G[k+8|0]==(h|0)){_=q+(_^-1|-256)|0;D[p+88|0]=_}if(G[k+9|0]==(h|0)){ea=q+(ea^-1|-256)|0;D[p+89|0]=ea}if(G[k+10|0]==(h|0)){X=q+(X^-1|-256)|0;D[p+90|0]=X}if(G[k+11|0]==(h|0)){x=q+(x^-1|-256)|0;D[p+91|0]=x}if(G[k+12|0]==(h|0)){y=q+(y^-1|-256)|0;D[p+92|0]=y}if(G[k+13|0]==(h|0)){B=q+(B^-1|-256)|0;D[p+93|0]=B}if(G[k+14|0]==(h|0)){O=q+(O^-1|-256)|0;D[p+94|0]=O}if(G[k+15|0]==(h|0)){V=q+(V^-1|-256)|0;D[p+95|0]=V}q=o+(p- -64|0)|0;u=G[q+3|0];s=q;q=o+(p+48|0)|0;D[s+3|0]=G[q+3|0];D[q+3|0]=u}h=h+1|0;if((Ha|0)!=(h|0)){continue}break};D[e|0]=0;D[e+1|0]=0;D[e+2|0]=0;D[e+3|0]=0;D[e+4|0]=0;D[e+5|0]=0;D[e+6|0]=0;D[e+7|0]=0;D[e+8|0]=0;D[e+9|0]=0;D[e+10|0]=0;D[e+11|0]=0;D[e+12|0]=0;D[e+13|0]=0;D[e+14|0]=0;D[e+15|0]=0;h=0;v=0;n=r+1|0;P:{if(n){k=1<>>3|0)+e|0;o=q;u=G[q|0];q=h&7;D[o|0]=u|k<>>0>q>>>0?q:n;h=h+q|0;k=k>>>q|0;n=n-q|0;if(n){continue}break}v=(r&-2)==4;if(v){k=F[w+92>>2];n=2;while(1){q=(h>>>3|0)+e|0;o=q;u=G[q|0];q=h&7;D[o|0]=u|k<>>0>q>>>0?q:n;h=h+q|0;k=k>>>q|0;n=n-q|0;if(n){continue}break}}if((r|0)==4){k=(h>>>3|0)+e|0;D[k|0]=G[k|0]|F[w+88>>2]<<(h&7);h=h+1|0;break P}if(za>>>0<3){break P}}n=142>>>r&1?6:4;k=F[w+4>>2];while(1){q=(h>>>3|0)+e|0;o=q;u=G[q|0];q=h&7;D[o|0]=u|k<>>0>q>>>0?q:n;h=h+q|0;k=k>>>q|0;n=n-q|0;if(n){continue}break}}O=t>>>0<=1?1:t;B=r>>>0>3?4:3;o=0;u=r+10152|0;C=r+10144|0;while(1){y=(p+48|0)+o|0;S=(p- -64|0)+o|0;q=0;while(1){s=q<<2;Q=(o|0)==3;n=Q?D[u|0]:G[C|0];if(n){k=G[s+S|0];while(1){x=(h>>>3|0)+e|0;K=x;V=G[x|0];x=h&7;D[K|0]=V|k<>>0>x>>>0?x:n;h=h+x|0;k=k>>>x|0;n=n-x|0;if(n){continue}break}}n=Q?D[u|0]:G[C|0];if(n){k=G[s+y|0];while(1){s=(h>>>3|0)+e|0;x=s;K=G[s|0];s=h&7;D[x|0]=K|k<>>0>s>>>0?s:n;h=h+s|0;k=k>>>s|0;n=n-s|0;if(n){continue}break}}q=q+1|0;if((O|0)!=(q|0)){continue}break}o=o+1|0;if((B|0)!=(o|0)){continue}break};if(!(52>>>r&1)){q=t>>>0<=1?1:t;n=0;while(1){k=(h>>>3|0)+e|0;u=(p+16|0)+(n<<3)|0;D[k|0]=G[k|0]|F[u>>2]<<(h&7);k=h+1|0;if((r|0)==1){h=k}else{o=(k>>>3|0)+e|0;D[o|0]=G[o|0]|F[u+4>>2]<<(k&7);h=h+2|0}n=n+1|0;if((q|0)!=(n|0)){continue}break}}C=0;q=F[p+8>>2];u=F[p+4>>2];t=F[p>>2];x=r+10136|0;O=r+10160|0;while(1){k=F[w+88>>2];Q:{if(k){o=p+80|0;n=G[O|0]-k|0;break Q}o=p+96|0;n=G[x|0]}s=C<<2;n=n-((s|0)==(t|0)|(s|0)==(u|0)|(q|0)==(s|0))|0;if(n){k=G[o+s|0];while(1){o=(h>>>3|0)+e|0;y=o;B=G[o|0];o=h&7;D[y|0]=B|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}B=s|1;R:{if(k){o=p+80|0;n=G[O|0]-k|0;break R}o=p+96|0;n=G[x|0]}n=n-((t|0)==(B|0)|(u|0)==(B|0)|(q|0)==(B|0))|0;if(n){k=G[o+B|0];while(1){o=(h>>>3|0)+e|0;y=o;B=G[o|0];o=h&7;D[y|0]=B|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}B=s|2;S:{if(k){o=p+80|0;n=G[O|0]-k|0;break S}o=p+96|0;n=G[x|0]}n=n-((t|0)==(B|0)|(u|0)==(B|0)|(q|0)==(B|0))|0;if(n){k=G[o+B|0];while(1){o=(h>>>3|0)+e|0;y=o;B=G[o|0];o=h&7;D[y|0]=B|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}o=s|3;T:{if(k){n=G[O|0]-k|0;k=p+80|0;break T}n=G[x|0];k=p+96|0}n=n-((o|0)==(t|0)|(o|0)==(u|0)|(o|0)==(q|0))|0;if(n){k=G[k+o|0];while(1){o=(h>>>3|0)+e|0;y=o;s=G[o|0];o=h&7;D[y|0]=s|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}}C=C+1|0;if((C|0)!=4){continue}break};if(v){C=0;s=r+10160|0;v=r+10136|0;while(1){k=F[w+88>>2];U:{if(k){o=p+96|0;n=G[v|0]+k|0;break U}o=p+80|0;n=G[s|0]}r=C<<2;n=n-((r|0)==(t|0)|(r|0)==(u|0)|(q|0)==(r|0))|0;if(n){k=G[o+r|0];while(1){o=(h>>>3|0)+e|0;x=o;y=G[o|0];o=h&7;D[x|0]=y|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}x=r|1;V:{if(k){o=p+96|0;n=G[v|0]+k|0;break V}o=p+80|0;n=G[s|0]}n=n-((t|0)==(x|0)|(u|0)==(x|0)|(q|0)==(x|0))|0;if(n){k=G[o+x|0];while(1){o=(h>>>3|0)+e|0;x=o;y=G[o|0];o=h&7;D[x|0]=y|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}x=r|2;r=r|3;W:{if(k){o=p+96|0;n=G[v|0]+k|0;break W}o=p+80|0;n=G[s|0]}n=n-((t|0)==(x|0)|(u|0)==(x|0)|(q|0)==(x|0))|0;if(n){k=G[o+x|0];while(1){o=(h>>>3|0)+e|0;x=o;y=G[o|0];o=h&7;D[x|0]=y|k<>>0>o>>>0?o:n;h=h+o|0;k=k>>>o|0;n=n-o|0;if(n){continue}break}k=F[w+88>>2]}X:{if(k){n=G[v|0]+k|0;k=p+96|0;break X}n=G[s|0];k=p+80|0}n=n-((r|0)==(t|0)|(r|0)==(u|0)|(q|0)==(r|0))|0;if(n){k=G[k+r|0];while(1){r=(h>>>3|0)+e|0;o=r;x=G[r|0];r=h&7;D[o|0]=x|k<>>0>r>>>0?r:n;h=h+r|0;k=k>>>r|0;n=n-r|0;if(n){continue}break}}C=C+1|0;if((C|0)!=4){continue}break}}break c;case 5:h=w+104|0;if(!Za(d,h,0,1)){break d}m=(m|0)<0?3:m;l=(l|0)>0?l:0;k=F[w+208>>2];if((k|0)!=8){$a(k,F[w+212>>2],ia,h,w);sb(e,l+w|0);sb(e+8|0,m+w|0);break c}h=G[l+ia|0];D[e+2|0]=0;D[e+3|0]=0;D[e+4|0]=0;D[e+5|0]=0;D[e+1|0]=h;D[e|0]=h;D[e+6|0]=0;D[e+7|0]=0;h=G[m+ia|0];D[e+10|0]=0;D[e+11|0]=0;D[e+12|0]=0;D[e+13|0]=0;D[e+9|0]=h;D[e+8|0]=h;D[e+14|0]=0;D[e+15|0]=0;break c;case 4:h=w+104|0;if(!Za(d,h,0,1)){break d}l=(l|0)>0?l:0;k=F[w+208>>2];if((k|0)!=8){$a(k,F[w+212>>2],ia,h,w);sb(e,l+w|0);break c}h=G[l+ia|0];D[e+2|0]=0;D[e+3|0]=0;D[e+4|0]=0;D[e+5|0]=0;D[e+1|0]=h;D[e|0]=h;D[e+6|0]=0;D[e+7|0]=0;break c;case 3:o=0;r=Ea-224|0;Ea=r;q=Za(d,r+72|0,0,1);Y:{if(!q){break Y}k=F[r+176>>2];if((k|0)==8){h=G[r+187|0];k=0;D[e+2|0]=0;D[e+3|0]=0;D[e+4|0]=0;D[e+5|0]=0;D[e+1|0]=h;D[e|0]=h;D[e+6|0]=0;D[e+7|0]=0;p=1;u=170;h=G[r+186|0]<<1;t=G[r+185|0]<<1;C=G[r+184|0]<<1;n=G[h+405857|0]|(G[t+406881|0]<<5|G[C+405857|0]<<11);h=G[h+405856|0]|(G[t+406880|0]<<5|G[C+405856|0]<<11);Z:{if((n|0)==(h|0)){if(!h){u=85;break Z}u=0;n=h-1|0}if(h>>>0>=n>>>0){p=h;k=n;break Z}u=u|85;p=n;k=h}D[e+8|0]=p;h=L(u,16843009);D[e+12|0]=h;D[e+13|0]=h>>>8;D[e+14|0]=h>>>16;D[e+15|0]=h>>>24;D[e+11|0]=k>>>8;D[e+10|0]=k;D[e+9|0]=p>>>8;break Y}h=e+8|0;p=k;k=r+72|0;$a(p,F[r+180>>2],r+184|0,k,r);sb(e,r|3);if(G[r+188|0]){qc(k,h);break Y}if(G[r+189|0]){mc(r+72|0,r,h);break Y}Gb(h,r,0)}Ea=r+224|0;if(q){break c}break a;case 2:o=0;n=Ea-224|0;Ea=n;q=Za(d,n+72|0,0,1);_:{if(!q){break _}h=F[n+176>>2];if((h|0)==8){k=1;r=170;h=G[n+186|0]<<1;u=G[n+185|0]<<1;t=G[n+184|0]<<1;p=G[h+405857|0]|(G[u+406881|0]<<5|G[t+405857|0]<<11);h=G[h+405856|0]|(G[u+406880|0]<<5|G[t+405856|0]<<11);$:{if((p|0)==(h|0)){if(!h){r=85;h=0;break $}r=0;p=h-1|0}if(h>>>0>=p>>>0){k=h;h=p;break $}r=r|85;k=p}D[e+2|0]=h;D[e|0]=k;p=L(r,16843009);D[e+4|0]=p;D[e+5|0]=p>>>8;D[e+6|0]=p>>>16;D[e+7|0]=p>>>24;D[e+3|0]=h>>>8;D[e+1|0]=k>>>8;break _}if(G[n+188|0]){qc(n+72|0,e);break _}k=h;h=n+72|0;$a(k,F[n+180>>2],n+184|0,h,n);if(G[n+189|0]){mc(h,n,e);break _}Gb(e,n,0)}Ea=n+224|0;if(q){break c}break a;case 1:h=w+104|0;if(!Za(d,h,0,1)){break d}k=F[w+208>>2];if((k|0)!=8){$a(k,F[w+212>>2],ia,h,w)}h=w+104|0;ub(h,w,e);tc(h,w,e+8|0);break c;case 0:h=w+104|0;if(!Za(d,h,0,1)){break d}k=F[w+208>>2];if((k|0)!=8){$a(k,F[w+212>>2],ia,h,w)}tc(w+104|0,w,e);break c;case 30:h=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);k=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[e|0]=k;D[e+1|0]=k>>>8;D[e+2|0]=k>>>16;D[e+3|0]=k>>>24;D[e+4|0]=h;D[e+5|0]=h>>>8;D[e+6|0]=h>>>16;D[e+7|0]=h>>>24;h=G[d+12|0]|G[d+13|0]<<8|(G[d+14|0]<<16|G[d+15|0]<<24);k=G[d+8|0]|G[d+9|0]<<8|(G[d+10|0]<<16|G[d+11|0]<<24);D[e+8|0]=k;D[e+9|0]=k>>>8;D[e+10|0]=k>>>16;D[e+11|0]=k>>>24;D[e+12|0]=h;D[e+13|0]=h>>>8;D[e+14|0]=h>>>16;D[e+15|0]=h>>>24;break c;default:if(!(o&1)){break d}break c;case 19:break k}}o=0;l=(l|0)>0?l:0;k=l;m=(m|0)<0?3:m;h=Ea-224|0;Ea=h;p=Za(d,h+72|0,0,1);aa:{if(!p){break aa}n=F[h+176>>2];if((n|0)==8){n=h+184|0;r=G[n+k|0];k=H[196104]|H[196105]<<16;E[e+2>>1]=k;q=k>>>16|0;E[e+4>>1]=q;u=H[196106];E[e+6>>1]=u;E[e>>1]=r|3328;n=G[m+n|0];E[e+10>>1]=k;E[e+12>>1]=q;E[e+14>>1]=u;E[e+8>>1]=n|3328;break aa}q=n;n=h+72|0;$a(q,F[h+180>>2],h+184|0,n,h);ba:{if((k|0)==3){ub(n,h,e);break ba}wb(e,h+k|0,4)}if((m|0)==3){ub(h+72|0,h,e+8|0);break aa}wb(e+8|0,h+m|0,4)}Ea=h+224|0;if(!p){break a}break c}h=i<<2;p=j-h|0;if(!((p|0)>=4?4:p)){break e}n=(h+Y<<1)+a|0;p=0;while(1){o=0;while(1){h=((p<<4)+w|0)+(o<<2)|0;q=G[h|0];u=G[h+1|0];t=(o<<1)+n|0;C=L(G[h+2|0],15)+128|0;C=(C>>>8|0)+C>>>4|0;h=L(G[h+3|0],15)+128|0;D[t|0]=C&240|(h>>>8|0)+h>>>8;h=L(q,15)+128|0;q=(h>>>8|0)+h<<4&61440;h=L(u,15)+128|0;D[t+1|0]=(C|(q|(h>>>8|0)+h&16128))>>>8;o=o+1|0;if((r|0)!=(o|0)){continue}break}n=n+ga|0;p=p+1|0;if((I|0)!=(p|0)){continue}break}break e}h=i<<2;k=j-h|0;if(!((k|0)>=4?4:k)){break f}p=(h+Y<<1)+a|0;k=0;if(!xa){while(1){o=0;while(1){q=(o<<1)+p|0;h=((k<<4)+w|0)+(o<<2)|0;u=L(G[h+1|0],63)+128|0;t=(u>>>8|0)+u>>>3&8160;u=L(G[h+2|0],31)+128|0;h=L(G[h|0],31)+128|0;h=t|(u>>>8|0)+u<<3&260096|(h>>>8|0)+h>>>8;D[q|0]=h;D[q+1|0]=h>>>8;o=o+1|0;if((r|0)!=(o|0)){continue}break}p=p+ga|0;k=k+1|0;if((I|0)!=(k|0)){continue}break f}}while(1){o=0;while(1){q=(o<<1)+p|0;h=((k<<4)+w|0)+(o<<2)|0;u=L(G[h+1|0],63)+128|0;t=(u>>>8|0)+u>>>3&8160;u=L(G[h|0],31)+128|0;h=L(G[h+2|0],31)+128|0;h=t|(u>>>8|0)+u<<3&260096|(h>>>8|0)+h>>>8;D[q|0]=h;D[q+1|0]=h>>>8;o=o+1|0;if((r|0)!=(o|0)){continue}break}p=p+ga|0;k=k+1|0;if((I|0)!=(k|0)){continue}break}break f}h=i<<2;k=j-h|0;if(!((k|0)>=4?4:k)){break g}k=(h+Y<<2)+a|0;h=0;while(1){p=0;while(1){q=p<<2;n=q+k|0;q=q+((h<<4)+w|0)|0;D[n|0]=G[q|0];D[n+1|0]=G[q+1|0];D[n+2|0]=G[q+2|0];D[n+3|0]=G[q+3|0];p=p+1|0;if((r|0)!=(p|0)){continue}break}k=k+Na|0;h=h+1|0;if((I|0)!=(h|0)){continue}break}}if(!u){break d}break c}if(!n){break d}break c}if(k){break c}}o=0;break a}z=z-4|0;e=e+g|0;d=d+16|0;o=1;i=i+1|0;if((i|0)!=(b|0)){continue}break}P=P-4|0;ha=ha+1|0;if((ha|0)!=(c|0)){continue}break}break a}ca:{if((f|0)==7){C=d;s=a;v=Ea-384|0;Ea=v;n=b;o=c;da:{if(!n|!o){break da}if((Xe(n<<2)|0)!=1){break da}if((Xe(o<<2)|0)!=1){break da}F[v+12>>2]=0;F[v+4>>2]=0;F[v+8>>2]=0;a=L(n,o);if(a){Wa(v+4|0,a,(a|0)==1,4);B=F[v+4>>2];b=F[v+8>>2];Ta(B+(b<<2)|0,0,a-b<<2);F[v+8>>2]=a}h=v+344|0;ea:{while(1){i=L(n,p);e=0;while(1){q=e+i|0;a=v+232|0;if(!Za(C+(q<<4)|0,a,0,0)){break ea}b=0;$a(F[v+336>>2],F[v+340>>2],h,a,v+160|0);P=255;j=255;l=255;r=255;k=0;m=0;z=0;d=0;while(1){f=k&255;a=(v+160|0)+(b<<2)|0;c=G[a+3|0];k=c>>>0>>0?f:c;g=m&255;f=G[a+2|0];m=f>>>0>>0?g:f;z=z&255;g=G[a+1|0];z=g>>>0>>0?z:g;d=d&255;a=G[a|0];d=a>>>0>>0?d:a;u=P&255;P=c>>>0>u>>>0?u:c;c=j&255;j=c>>>0>>0?c:f;c=l&255;l=c>>>0>>0?c:g;c=r&255;r=a>>>0>c>>>0?c:a;b=b+1|0;if((b|0)!=16){continue}break}a=(P|0)==255?G[r+201680|0]<<10|G[l+201680|0]<<5|G[j+201936|0]<<1|32768:G[r+201936|0]<<8|G[P+202704|0]<<12|G[l+201936|0]<<4|G[j+202960|0]<<1;F[(q<<2)+B>>2]=k-239>>>0>16?a&65535|(G[m+202448|0]|(G[d+202448|0]<<8|G[k+203216|0]<<12|G[z+202448|0]<<4))<<16:a&65535|(G[m+202192|0]|(G[z+202192|0]<<5|G[d+202192|0]<<10))<<16|-2147483648;e=e+1|0;if((n|0)!=(e|0)){continue}break}p=p+1|0;if((o|0)!=(p|0)){continue}break}d=0;c=0;t=n-1|0;if(t){a=t;while(1){c=c+1|0;b=a>>>0>1;a=a>>>1|0;if(b){continue}break}}ia=o-1|0;fa:{if(ia){a=ia;while(1){d=d+1|0;b=a>>>0>1;a=a>>>1|0;if(b){continue}break}if((o|0)<=0){break ea}S=c>>>0>>0?c:d;Q=S<<1;ua=-1<>2]=b;a=F[b+(t<<2)>>2];ga:{if(a&32768){P=(a>>>1&15)+398144|0;k=(a>>>5&31)+398112|0;j=(a>>>10&31)+398112|0;f=255;break ga}P=(a>>>1&7)+398160|0;k=(a>>>4&15)+398144|0;j=(a>>>8&15)+398144|0;f=G[(a>>>12&7)+398168|0]}e=d+(v+160|0)|0;F[e>>2]=G[P|0]+(G[j|0]+(f+G[k|0]|0)|0);f=a>>>16|0;ha:{if((a|0)<0){P=(f&31)+398112|0;k=(a>>>21&31)+398112|0;j=(a>>>26&31)+398112|0;a=255;break ha}P=(f&15)+398144|0;k=(a>>>20&15)+398144|0;j=(a>>>24&15)+398144|0;a=G[(a>>>28|0)+398168|0]}f=d+(v+96|0)|0;F[f>>2]=G[P|0]+(G[j|0]+(a+G[k|0]|0)|0);a=F[b>>2];ia:{if(a&32768){P=(a>>>1&15)+398144|0;k=(a>>>5&31)+398112|0;j=(a>>>10&31)+398112|0;d=255;break ia}P=(a>>>1&7)+398160|0;k=(a>>>4&15)+398144|0;j=(a>>>8&15)+398144|0;d=G[(a>>>12&7)+398168|0]}F[e+16>>2]=G[P|0]+(G[j|0]+(d+G[k|0]|0)|0);d=a>>>16|0;ja:{if((a|0)<0){P=(d&31)+398112|0;k=(a>>>21&31)+398112|0;j=(a>>>26&31)+398112|0;a=255;break ja}P=(d&15)+398144|0;k=(a>>>20&15)+398144|0;j=(a>>>24&15)+398144|0;a=G[(a>>>28|0)+398168|0]}F[f+16>>2]=G[P|0]+(G[j|0]+(a+G[k|0]|0)|0);b=F[b+Ja>>2];ka:{if(b&32768){P=(b>>>5&31)+398112|0;k=(b>>>10&31)+398112|0;j=255;a=(b>>>1&15)+398144|0;break ka}P=(b>>>4&15)+398144|0;k=(b>>>8&15)+398144|0;j=G[(b>>>12&7)+398168|0];a=(b>>>1&7)+398160|0}F[e+32>>2]=G[a|0]+(G[k|0]+(G[P|0]+j|0)|0);a=b>>>16|0;la:{if((b|0)<0){d=(a&31)+398112|0;P=(b>>>26&31)+398112|0;a=255;b=(b>>>21&31)+398112|0;break la}d=(a&15)+398144|0;P=(b>>>24&15)+398144|0;a=G[(b>>>28|0)+398168|0];b=(b>>>20&15)+398144|0}F[f+32>>2]=G[d|0]+(G[P|0]+(G[b|0]+a|0)|0);c=c+1|0;if((c|0)!=3){continue}break}d=F[v+96>>2];e=F[v+160>>2];ma:{if((n|0)<=0){c=d;b=e;break ma}Ka=H[((y&255)<<1)+396320>>1]|H[(y>>>7&33554430)+396320>>1]<<16;La=y>>>S<>2];r=F[v+104>>2];a=F[v+184>>2];q=F[v+168>>2];k=F[v+116>>2];m=F[v+100>>2];u=F[v+112>>2];j=F[v+180>>2];z=F[v+164>>2];l=F[v+176>>2];Ba=F[v+92>>2];ta=F[v+88>>2];Na=F[v+84>>2];while(1){b=l;f=j;c=u;g=v+232|0;if(Za(C+(ha<<4)|0,g,0,0)){$a(F[v+336>>2],F[v+340>>2],va,g,v+16|0)}g=k;h=a;i=p;a=Ka|H[(P>>>7&33554430)+396320>>1]<<17|H[((P&255)<<1)+396320>>1]<<1;j=a;na:{if((n|0)==(o|0)){break na}a=a&ua;j=a|P>>>S<>>0>o>>>0){break na}j=a|La}Ga=(j<<3)+s|0;F[Ga+4>>2]=F[(ha<<2)+B>>2];P=P+1|0;j=(t&P)<<2;a=F[j+Na>>2];oa:{if(a&32768){u=(a>>>10&31)+398112|0;k=255;l=(a>>>1&15)+398144|0;x=(a>>>5&31)+398112|0;break oa}u=(a>>>8&15)+398144|0;k=G[(a>>>12&7)+398168|0];l=(a>>>1&7)+398160|0;x=(a>>>4&15)+398144|0}p=a>>>16|0;K=G[x|0];u=G[u|0];A=G[l|0];pa:{if((a|0)<0){l=(p&31)+398112|0;p=(a>>>21&31)+398112|0;I=255;a=(a>>>26&31)+398112|0;break pa}l=(p&15)+398144|0;p=(a>>>20&15)+398144|0;I=G[(a>>>28|0)+398168|0];a=(a>>>24&15)+398144|0}p=G[p|0];ga=G[a|0];W=G[l|0];a=F[j+ta>>2];qa:{if(a&32768){x=(a>>>5&31)+398112|0;O=(a>>>10&31)+398112|0;l=255;T=(a>>>1&15)+398144|0;break qa}x=(a>>>4&15)+398144|0;O=(a>>>8&15)+398144|0;l=G[(a>>>12&7)+398168|0];T=(a>>>1&7)+398160|0}K=k+K|0;p=p+I|0;k=a>>>16|0;l=G[x|0]+l|0;I=G[O|0];V=G[T|0];ra:{if((a|0)<0){k=(k&31)+398112|0;x=(a>>>21&31)+398112|0;O=(a>>>26&31)+398112|0;a=255;break ra}k=(k&15)+398144|0;x=(a>>>20&15)+398144|0;O=(a>>>24&15)+398144|0;a=G[(a>>>28|0)+398168|0]}u=u+K|0;X=p+ga|0;l=l+I|0;ea=G[O|0]+(a+G[x|0]|0)|0;k=G[k|0];p=F[j+Ba>>2];sa:{if(p&32768){I=(p>>>1&15)+398144|0;x=(p>>>10&31)+398112|0;O=255;xa=(p>>>5&31)+398112|0;break sa}I=(p>>>1&7)+398160|0;x=(p>>>8&15)+398144|0;O=G[(p>>>12&7)+398168|0];xa=(p>>>4&15)+398144|0}fa=p>>>16|0;j=b+f|0;aa=L(j,6);ka=aa+(e+z<<1)|0;a=(G[v+23|0]+(G[v+22|0]+(G[v+21|0]+G[v+20|0]|0)|0)<<8)-(ka<<4)|0;Z=c+g|0;ba=L(Z,6);qa=ba+(d+m<<1)|0;za=(qa|0)<(ka|0);ga=za?0-a|0:a;K=b+e|0;a=f+z|0;T=K+a|0;Y=(G[v+19|0]+(G[v+18|0]+(G[v+17|0]+G[v+16|0]|0)|0)<<8)-(T<<6)|0;pa=0-Y|0;ja=Y;Y=c+d|0;_=g+m|0;Ha=Y+_<<2;Aa=T<<2;Ia=(Ha|0)<(Aa|0);T=Ia?pa:ja;oa=L(a,6);la=oa+(K<<1)|0;K=(G[v+35|0]+(G[v+34|0]+(G[v+33|0]+G[v+32|0]|0)|0)<<8)-(la<<4)|0;ja=L(_,6);Ca=ja+(Y<<1)|0;Ma=(Ca|0)<(la|0);Y=Ma?0-K|0:K;ca=L(b,3);na=L(z,3);K=L(f,9);ma=e+(ca+(na+K|0)|0)|0;e=(G[v+39|0]+(G[v+38|0]+(G[v+37|0]+G[v+36|0]|0)|0)<<8)-(ma<<4)|0;da=L(g,9);ra=da+L(m,3)|0;wa=L(c,3);Pa=(ra+wa|0)+d|0;Qa=(Pa|0)<(ma|0);d=Qa?0-e|0:e;e=(G[v+27|0]+(G[v+26|0]+(G[v+25|0]+G[v+24|0]|0)|0)<<8)-(j<<7)|0;Sa=Z<<3;Ua=j<<3;Da=(Sa|0)<(Ua|0);e=Da?0-e|0:e;j=l+V|0;l=u+A|0;Z=aa+(j+l<<1)|0;u=(G[v+31|0]+(G[v+30|0]+(G[v+29|0]+G[v+28|0]|0)|0)<<8)-(Z<<4)|0;pa=0-u|0;V=u;k=k+ea|0;u=W+X|0;Xa=ba+(k+u<<1)|0;Ya=(Xa|0)<(Z|0);A=Ya?pa:V;W=L(f,12);ba=W+(b<<2)|0;V=(G[v+43|0]+(G[v+42|0]+(G[v+41|0]+G[v+40|0]|0)|0)<<8)-(ba<<4)|0;X=0-V|0;pa=V;V=L(g,12);_a=V+(c<<2)|0;ab=(_a|0)<(ba|0);X=ab?X:pa;pa=L(j,3);ca=pa+((K+ca|0)+l|0)|0;ea=(G[v+47|0]+(G[v+46|0]+(G[v+45|0]+G[v+44|0]|0)|0)<<8)-(ca<<4)|0;bb=da+L(k,3)|0;wa=bb+(u+wa|0)|0;cb=(wa|0)<(ca|0);ea=cb?0-ea|0:ea;aa=(G[v+51|0]+(G[v+50|0]+(G[v+49|0]+G[v+48|0]|0)|0)<<8)-(a<<7)|0;db=_<<3;eb=a<<3;fb=(db|0)<(eb|0);_=fb?0-aa|0:aa;da=W+(z<<2)|0;a=(G[v+55|0]+(G[v+54|0]+(G[v+53|0]+G[v+52|0]|0)|0)<<8)-(da<<4)|0;gb=V+(m<<2)|0;hb=(gb|0)<(da|0);m=hb?0-a|0:a;oa=oa+(h+q<<1)|0;a=(G[v+67|0]+(G[v+66|0]+(G[v+65|0]+G[v+64|0]|0)|0)<<8)-(oa<<4)|0;ib=ja+(i+r<<1)|0;jb=(ib|0)<(oa|0);z=jb?0-a|0:a;kb=L(h,3);ja=na+(K+(kb+q|0)|0)|0;a=(G[v+71|0]+(G[v+70|0]+(G[v+69|0]+G[v+68|0]|0)|0)<<8)-(ja<<4)|0;lb=L(i,3);nb=lb+(r+ra|0)|0;ob=(nb|0)<(ja|0);r=ob?0-a|0:a;a=G[v+59|0]+(G[v+58|0]+(G[v+57|0]+(G[v+56|0]-f|0)|0)|0)<<8;pb=g<<4;qb=f<<4;rb=(pb|0)<(qb|0);q=rb?0-a|0:a;na=W+(j<<2)|0;a=(G[v+63|0]+(G[v+62|0]+(G[v+61|0]+G[v+60|0]|0)|0)<<8)-(na<<4)|0;Eb=V+(k<<2)|0;Fb=(Eb|0)<(na|0);aa=Fb?0-a|0:a;ra=W+(h<<2)|0;a=(G[v+75|0]+(G[v+74|0]+(G[v+73|0]+G[v+72|0]|0)|0)<<8)-(ra<<4)|0;V=V+(i<<2)|0;Hb=(V|0)<(ra|0);W=Hb?0-a|0:a;a=G[I|0]+(G[x|0]+(G[xa|0]+O|0)|0)|0;O=a+(pa+(K+kb|0)|0)|0;x=(G[v+79|0]+(G[v+78|0]+(G[v+77|0]+G[v+76|0]|0)|0)<<8)-(O<<4)|0;pa=0-x|0;xa=x;ta:{if((p|0)<0){I=(p>>>21&31)+398112|0;x=(p>>>26&31)+398112|0;K=255;p=(fa&31)+398112|0;break ta}I=(p>>>20&15)+398144|0;x=(p>>>24&15)+398144|0;K=G[(p>>>28|0)+398168|0];p=(fa&15)+398144|0}p=G[p|0]+(G[x|0]+(K+G[I|0]|0)|0)|0;K=p+(bb+lb|0)|0;fa=(K|0)<(O|0);x=fa?pa:xa;I=qa-ka|0;I=za?0-I|0:I;qa=(ga|0)>(L(I,13)|0)?12:(ga|0)>I<<3?8:((ga|0)>(L(I,3)|0))<<2;I=Ha-Aa|0;I=Ia?0-I|0:I;T=qa|((T|0)>(L(I,13)|0)?3:(T|0)>I<<3?2:(T|0)>(L(I,3)|0));I=Ca-la|0;I=Ma?0-I|0:I;T=T|((Y|0)>(L(I,13)|0)?768:(Y|0)>I<<3?512:((Y|0)>(L(I,3)|0))<<8);I=Pa-ma|0;I=Qa?0-I|0:I;T=T|((d|0)>(L(I,13)|0)?3072:(d|0)>I<<3?2048:((d|0)>(L(I,3)|0))<<10);d=Sa-Ua|0;d=Da?0-d|0:d;e=T|((e|0)>(L(d,13)|0)?48:(e|0)>d<<3?32:((e|0)>(L(d,3)|0))<<4);d=Xa-Z|0;d=Ya?0-d|0:d;e=e|((A|0)>(L(d,13)|0)?192:(A|0)>d<<3?128:((A|0)>(L(d,3)|0))<<6);d=_a-ba|0;d=ab?0-d|0:d;e=e|((X|0)>(L(d,13)|0)?12288:(X|0)>d<<3?8192:((X|0)>(L(d,3)|0))<<12);d=wa-ca|0;d=cb?0-d|0:d;e=e|((ea|0)>(L(d,13)|0)?49152:(ea|0)>d<<3?32768:((ea|0)>(L(d,3)|0))<<14);d=db-eb|0;d=fb?0-d|0:d;e=e|((_|0)>(L(d,13)|0)?196608:(_|0)>d<<3?131072:((_|0)>(L(d,3)|0))<<16);d=gb-da|0;d=hb?0-d|0:d;e=e|((m|0)>(L(d,13)|0)?786432:(m|0)>d<<3?524288:((m|0)>(L(d,3)|0))<<18);d=ib-oa|0;d=jb?0-d|0:d;e=e|((z|0)>(L(d,13)|0)?50331648:(z|0)>d<<3?33554432:((z|0)>(L(d,3)|0))<<24);d=nb-ja|0;d=ob?0-d|0:d;e=e|((r|0)>(L(d,13)|0)?201326592:(r|0)>d<<3?134217728:((r|0)>(L(d,3)|0))<<26);d=pb-qb|0;d=rb?0-d|0:d;e=e|((q|0)>(L(d,13)|0)?3145728:(q|0)>d<<3?2097152:((q|0)>(L(d,3)|0))<<20);d=Eb-na|0;d=Fb?0-d|0:d;e=e|((aa|0)>(L(d,13)|0)?12582912:(aa|0)>d<<3?8388608:((aa|0)>(L(d,3)|0))<<22);d=V-ra|0;d=Hb?0-d|0:d;e=e|((W|0)>(L(d,13)|0)?805306368:(W|0)>d<<3?536870912:((W|0)>(L(d,3)|0))<<28);d=K-O|0;d=fa?0-d|0:d;F[Ga>>2]=e|((x|0)>(L(d,13)|0)?-1073741824:(x|0)>d<<3?-2147483648:((x|0)>(L(d,3)|0))<<30);ha=ha+1|0;r=i;q=h;m=g;z=f;e=b;d=c;if((n|0)!=(P|0)){continue}break}F[v+180>>2]=j;F[v+164>>2]=z;F[v+176>>2]=l;F[v+112>>2]=u;F[v+116>>2]=k;F[v+100>>2]=m;F[v+184>>2]=a;F[v+168>>2]=h;F[v+120>>2]=p;F[v+104>>2]=r}F[v+96>>2]=c;F[v+160>>2]=b;y=y+1|0;if((o|0)!=(y|0)){continue}break}B=F[v+4>>2]}if(!B){break da}Ra(B)}Ea=v+384|0;break ca}o=d;ia=a;d=0;s=Ea-384|0;Ea=s;h=c;ua:{if(!b|!h){break ua}if((Xe(b<<2)|0)!=1){break ua}if((Xe(h<<2)|0)!=1){break ua}F[s+12>>2]=0;F[s+4>>2]=0;F[s+8>>2]=0;g=b;a=L(h,b);if(a){Wa(s+4|0,a,(a|0)==1,4);C=F[s+4>>2];b=F[s+8>>2];Ta(C+(b<<2)|0,0,a-b<<2);F[s+8>>2]=a}ra=s+344|0;va:{while(1){ua=L(d,g);a=0;while(1){va=a+ua|0;b=s+232|0;if(!Za(o+(va<<4)|0,b,0,0)){break va}$a(F[s+336>>2],F[s+340>>2],ra,b,s+160|0);b=G[s+162|0];c=G[s+166|0];f=b>>>0>c>>>0?b:c;e=G[s+170|0];i=e>>>0>>0?f:e;f=G[s+174|0];j=f>>>0>>0?i:f;i=G[s+178|0];k=i>>>0>>0?j:i;j=G[s+182|0];l=j>>>0>>0?k:j;k=G[s+186|0];m=k>>>0>>0?l:k;l=G[s+190|0];p=l>>>0>>0?m:l;m=G[s+194|0];n=m>>>0

    >>0?p:m;p=G[s+198|0];z=n>>>0>p>>>0?n:p;n=G[s+202|0];r=n>>>0>>0?z:n;z=G[s+206|0];q=r>>>0>z>>>0?r:z;r=G[s+210|0];u=q>>>0>r>>>0?q:r;q=G[s+214|0];t=q>>>0>>0?u:q;u=G[s+218|0];oa=t>>>0>u>>>0?t:u;t=G[s+161|0];v=G[s+165|0];x=t>>>0>v>>>0?t:v;P=G[s+169|0];O=x>>>0>P>>>0?x:P;x=G[s+173|0];B=x>>>0>>0?O:x;O=G[s+177|0];y=B>>>0>O>>>0?B:O;B=G[s+181|0];I=y>>>0>B>>>0?y:B;y=G[s+185|0];ha=y>>>0>>0?I:y;I=G[s+189|0];S=I>>>0>>0?ha:I;ha=G[s+193|0];Q=S>>>0>ha>>>0?S:ha;S=G[s+197|0];K=Q>>>0>S>>>0?Q:S;Q=G[s+201|0];ga=K>>>0>Q>>>0?K:Q;K=G[s+205|0];T=K>>>0>>0?ga:K;ga=G[s+209|0];Y=T>>>0>ga>>>0?T:ga;T=G[s+213|0];A=T>>>0>>0?Y:T;Y=G[s+217|0];ja=A>>>0>Y>>>0?A:Y;A=G[s+160|0];W=G[s+164|0];X=A>>>0>W>>>0?A:W;V=G[s+168|0];ea=X>>>0>V>>>0?X:V;X=G[s+172|0];_=X>>>0>>0?ea:X;ea=G[s+176|0];aa=_>>>0>ea>>>0?_:ea;_=G[s+180|0];fa=_>>>0>>0?aa:_;aa=G[s+184|0];ka=aa>>>0>>0?fa:aa;fa=G[s+188|0];la=fa>>>0>>0?ka:fa;ka=G[s+192|0];ma=ka>>>0>>0?la:ka;la=G[s+196|0];Z=la>>>0>>0?ma:la;ma=G[s+200|0];ba=Z>>>0>ma>>>0?Z:ma;Z=G[s+204|0];ca=Z>>>0>>0?ba:Z;ba=G[s+208|0];da=ba>>>0>>0?ca:ba;ca=G[s+212|0];na=ca>>>0>>0?da:ca;da=G[s+216|0];na=da>>>0>>0?na:da;A=A>>>0>>0?A:W;A=A>>>0>>0?A:V;A=A>>>0>>0?A:X;A=A>>>0>>0?A:ea;A=A>>>0<_>>>0?A:_;A=A>>>0>>0?A:aa;A=A>>>0>>0?A:fa;A=A>>>0>>0?A:ka;A=A>>>0>>0?A:la;A=A>>>0>>0?A:ma;A=A>>>0>>0?A:Z;A=A>>>0>>0?A:ba;A=A>>>0>>0?A:ca;W=A>>>0>>0?A:da;A=G[s+220|0];t=t>>>0>>0?t:v;t=t>>>0

    >>0?t:P;t=t>>>0>>0?t:x;t=t>>>0>>0?t:O;t=t>>>0>>0?t:B;t=t>>>0>>0?t:y;t=t>>>0>>0?t:I;t=t>>>0>>0?t:ha;t=t>>>0>>0?t:S;t=t>>>0>>0?t:Q;t=t>>>0>>0?t:K;t=t>>>0>>0?t:ga;t=t>>>0>>0?t:T;v=t>>>0>>0?t:Y;t=G[s+221|0];b=b>>>0>>0?b:c;b=b>>>0>>0?b:e;b=b>>>0>>0?b:f;b=b>>>0>>0?b:i;b=b>>>0>>0?b:j;b=b>>>0>>0?b:k;b=b>>>0>>0?b:l;b=b>>>0>>0?b:m;b=b>>>0

    >>0?b:p;b=b>>>0>>0?b:n;b=b>>>0>>0?b:z;b=b>>>0>>0?b:r;b=b>>>0>>0?b:q;c=b>>>0>>0?b:u;b=G[s+222|0];F[(va<<2)+C>>2]=G[((A>>>0>W>>>0?W:A)&255)+201680|0]<<10&31744|G[((t>>>0>v>>>0?v:t)&255)+201680|0]<<5|G[((b>>>0>c>>>0?c:b)&255)+201936|0]<<1|(G[((b>>>0>>0?oa:b)&255)+202192|0]|(G[((t>>>0>>0?ja:t)&255)+202192|0]<<5|G[((A>>>0>>0?na:A)&255)+202192|0]<<10))<<16|-2147450880;a=a+1|0;if((g|0)!=(a|0)){continue}break}d=d+1|0;if((h|0)!=(d|0)){continue}break}c=0;b=0;m=g-1|0;if(m){a=m;while(1){b=b+1|0;d=a>>>0>1;a=a>>>1|0;if(d){continue}break}}V=F[s+4>>2];t=h-1|0;wa:{if(t){a=t;while(1){c=c+1|0;d=a>>>0>1;a=a>>>1|0;if(d){continue}break}if((h|0)<=0){break va}O=b>>>0>>0?b:c;B=O<<1;ja=-1<>2]=c;e=d+(s+96|0)|0;a=F[c+(m<<2)>>2];F[e>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;d=d+(s+160|0)|0;i=a&30;F[d>>2]=(L((i+(a>>>5&31)|0)+(a>>>10&31)+(i>>>4)|0,255)>>>0)/31;a=F[c>>2];F[e+16>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;i=a&30;F[d+16>>2]=(L((i+(a>>>5&31)|0)+(a>>>10&31)+(i>>>4)|0,255)>>>0)/31;a=F[c+ra>>2];F[e+32>>2]=(L(((a>>>26&31)+(a>>>21&31)|0)+(a>>>16&31)|0,255)>>>0)/31;c=a&30;F[d+32>>2]=(L((c+(a>>>5&31)|0)+(a>>>10&31)+(c>>>4)|0,255)>>>0)/31;b=b+1|0;if((b|0)!=3){continue}break}c=F[s+96>>2];d=F[s+160>>2];if((g|0)>0){ua=H[((v&255)<<1)+396320>>1]|H[(v>>>7&33554430)+396320>>1]<<16;va=v>>>O<>2];e=F[s+104>>2];n=F[s+184>>2];f=F[s+168>>2];i=F[s+116>>2];b=F[s+100>>2];k=F[s+112>>2];j=F[s+180>>2];a=F[s+164>>2];l=F[s+176>>2];Ja=F[s+92>>2];Ka=F[s+88>>2];La=F[s+84>>2];while(1){q=c;u=d;d=l;z=a;a=j;c=k;r=b;b=i;C=f;f=n;n=e;e=p;i=s+232|0;if(Za(o+(x<<4)|0,i,0,0)){$a(F[s+336>>2],F[s+340>>2],na,i,s+16|0)}i=ua|H[(P>>>7&33554430)+396320>>1]<<17|H[((P&255)<<1)+396320>>1]<<1;j=i;xa:{if((g|0)==(h|0)){break xa}i=i&ja;j=i|P>>>O<>>0>h>>>0){break xa}j=i|va}Ba=(j<<3)+ia|0;F[Ba+4>>2]=F[V+(x<<2)>>2];i=a+d|0;S=L(i,6);X=S+(u+z<<1)|0;j=(G[s+22|0]+(G[s+21|0]+G[s+20|0]|0)<<8)-(X<<4)|0;l=0-j|0;k=j;j=b+c|0;Q=L(j,6);ta=Q+(q+r<<1)|0;Na=(ta|0)<(X|0);y=Na?l:k;k=d+u|0;p=a+z|0;l=k+p|0;I=(G[s+18|0]+(G[s+17|0]+G[s+16|0]|0)<<8)-(l<<6)|0;ha=c+q|0;Y=b+r|0;Ga=ha+Y<<2;xa=l<<2;qa=(Ga|0)<(xa|0);I=qa?0-I|0:I;A=L(p,6);ea=A+(k<<1)|0;k=(G[s+34|0]+(G[s+33|0]+G[s+32|0]|0)<<8)-(ea<<4)|0;W=L(Y,6);za=W+(ha<<1)|0;Ha=(za|0)<(ea|0);ha=Ha?0-k|0:k;_=L(a,9);T=_+L(d,3)|0;ca=L(z,3);aa=u+(T+ca|0)|0;k=(G[s+38|0]+(G[s+37|0]+G[s+36|0]|0)<<8)-(aa<<4)|0;Z=L(b,9);da=Z+L(r,3)|0;ba=L(c,3);Aa=q+(da+ba|0)|0;Ia=(Aa|0)<(aa|0);q=Ia?0-k|0:k;k=(G[s+26|0]+(G[s+25|0]+G[s+24|0]|0)<<8)-(i<<7)|0;Ca=j<<3;Ma=i<<3;wa=(Ca|0)<(Ma|0);u=wa?0-k|0:k;P=P+1|0;fa=(m&P)<<2;k=F[fa+La>>2];l=k&30;i=F[fa+Ka>>2];j=i&30;j=(L((j+(i>>>5&31)|0)+(i>>>10&31)+(j>>>4)|0,255)>>>0)/31|0;l=(L((l+(k>>>5&31)|0)+(k>>>10&31)+(l>>>4)|0,255)>>>0)/31|0;ka=S+(j+l<<1)|0;S=(G[s+30|0]+(G[s+29|0]+G[s+28|0]|0)<<8)-(ka<<4)|0;i=(L(((i>>>26&31)+(i>>>21&31)|0)+(i>>>16&31)|0,255)>>>0)/31|0;k=(L(((k>>>26&31)+(k>>>21&31)|0)+(k>>>16&31)|0,255)>>>0)/31|0;Pa=Q+(i+k<<1)|0;Qa=(Pa|0)<(ka|0);S=Qa?0-S|0:S;Q=L(a,12);la=Q+(d<<2)|0;K=(G[s+42|0]+(G[s+41|0]+G[s+40|0]|0)<<8)-(la<<4)|0;ga=0-K|0;pa=K;K=L(b,12);Sa=K+(c<<2)|0;Ua=(Sa|0)<(la|0);ga=Ua?ga:pa;Da=L(j,3);ma=Da+(l+T|0)|0;T=(G[s+46|0]+(G[s+45|0]+G[s+44|0]|0)<<8)-(ma<<4)|0;Xa=Z+L(i,3)|0;Ya=Xa+(k+ba|0)|0;_a=(Ya|0)<(ma|0);T=_a?0-T|0:T;Z=(G[s+50|0]+(G[s+49|0]+G[s+48|0]|0)<<8)-(p<<7)|0;ab=Y<<3;pa=p<<3;bb=(ab|0)<(pa|0);Y=bb?0-Z|0:Z;Z=Q+(z<<2)|0;p=(G[s+54|0]+(G[s+53|0]+G[s+52|0]|0)<<8)-(Z<<4)|0;cb=K+(r<<2)|0;db=(cb|0)<(Z|0);z=db?0-p|0:p;ba=A+(f+C<<1)|0;p=(G[s+66|0]+(G[s+65|0]+G[s+64|0]|0)<<8)-(ba<<4)|0;eb=W+(e+n<<1)|0;fb=(eb|0)<(ba|0);r=fb?0-p|0:p;gb=L(f,3);ca=ca+(_+(gb+C|0)|0)|0;p=(G[s+70|0]+(G[s+69|0]+G[s+68|0]|0)<<8)-(ca<<4)|0;hb=L(e,3);ib=hb+(n+da|0)|0;jb=(ib|0)<(ca|0);C=jb?0-p|0:p;p=G[s+58|0]+(G[s+57|0]+(G[s+56|0]-a|0)|0)<<8;kb=b<<4;lb=a<<4;nb=(kb|0)<(lb|0);A=nb?0-p|0:p;da=Q+(j<<2)|0;p=(G[s+62|0]+(G[s+61|0]+G[s+60|0]|0)<<8)-(da<<4)|0;ob=K+(i<<2)|0;pb=(ob|0)<(da|0);W=pb?0-p|0:p;oa=Q+(f<<2)|0;p=(G[s+74|0]+(G[s+73|0]+G[s+72|0]|0)<<8)-(oa<<4)|0;qb=K+(e<<2)|0;rb=(qb|0)<(oa|0);Q=rb?0-p|0:p;p=F[fa+Ja>>2];n=p&30;n=(L((n+(p>>>5&31)|0)+(p>>>10&31)+(n>>>4)|0,255)>>>0)/31|0;_=n+(Da+(_+gb|0)|0)|0;K=(G[s+78|0]+(G[s+77|0]+G[s+76|0]|0)<<8)-(_<<4)|0;p=(L(((p>>>26&31)+(p>>>21&31)|0)+(p>>>16&31)|0,255)>>>0)/31|0;fa=Xa+(hb+p|0)|0;Da=(fa|0)<(_|0);K=Da?0-K|0:K;X=ta-X|0;X=Na?0-X|0:X;ta=(y|0)>(L(X,13)|0)?12:(y|0)>X<<3?8:((y|0)>(L(X,3)|0))<<2;y=Ga-xa|0;y=qa?0-y|0:y;qa=ta|((I|0)>(L(y,13)|0)?3:(I|0)>y<<3?2:(I|0)>(L(y,3)|0));y=za-ea|0;y=Ha?0-y|0:y;qa=qa|((ha|0)>(L(y,13)|0)?768:(ha|0)>y<<3?512:((ha|0)>(L(y,3)|0))<<8);y=Aa-aa|0;y=Ia?0-y|0:y;y=qa|((q|0)>(L(y,13)|0)?3072:(q|0)>y<<3?2048:((q|0)>(L(y,3)|0))<<10);q=Ca-Ma|0;q=wa?0-q|0:q;u=y|((u|0)>(L(q,13)|0)?48:(u|0)>q<<3?32:((u|0)>(L(q,3)|0))<<4);q=Pa-ka|0;q=Qa?0-q|0:q;u=u|((S|0)>(L(q,13)|0)?192:(S|0)>q<<3?128:((S|0)>(L(q,3)|0))<<6);q=Sa-la|0;q=Ua?0-q|0:q;u=u|((ga|0)>(L(q,13)|0)?12288:(ga|0)>q<<3?8192:((ga|0)>(L(q,3)|0))<<12);q=Ya-ma|0;q=_a?0-q|0:q;u=u|((T|0)>(L(q,13)|0)?49152:(T|0)>q<<3?32768:((T|0)>(L(q,3)|0))<<14);q=ab-pa|0;q=bb?0-q|0:q;u=u|((Y|0)>(L(q,13)|0)?196608:(Y|0)>q<<3?131072:((Y|0)>(L(q,3)|0))<<16);q=cb-Z|0;q=db?0-q|0:q;q=u|((z|0)>(L(q,13)|0)?786432:(z|0)>q<<3?524288:((z|0)>(L(q,3)|0))<<18);z=eb-ba|0;z=fb?0-z|0:z;q=q|((r|0)>(L(z,13)|0)?50331648:(r|0)>z<<3?33554432:((r|0)>(L(z,3)|0))<<24);z=ib-ca|0;z=jb?0-z|0:z;q=q|((C|0)>(L(z,13)|0)?201326592:(C|0)>z<<3?134217728:((C|0)>(L(z,3)|0))<<26);z=kb-lb|0;z=nb?0-z|0:z;q=q|((A|0)>(L(z,13)|0)?3145728:(A|0)>z<<3?2097152:((A|0)>(L(z,3)|0))<<20);z=ob-da|0;z=pb?0-z|0:z;q=q|((W|0)>(L(z,13)|0)?12582912:(W|0)>z<<3?8388608:((W|0)>(L(z,3)|0))<<22);z=qb-oa|0;z=rb?0-z|0:z;q=q|((Q|0)>(L(z,13)|0)?805306368:(Q|0)>z<<3?536870912:((Q|0)>(L(z,3)|0))<<28);z=fa-_|0;z=Da?0-z|0:z;F[Ba>>2]=q|((K|0)>(L(z,13)|0)?-1073741824:(K|0)>z<<3?-2147483648:((K|0)>(L(z,3)|0))<<30);x=x+1|0;if((g|0)!=(P|0)){continue}break}F[s+128>>2]=k;F[s+192>>2]=l;F[s+196>>2]=j;F[s+132>>2]=i;F[s+200>>2]=n;F[s+136>>2]=p;F[s+176>>2]=l;F[s+180>>2]=j;F[s+164>>2]=a;F[s+112>>2]=k;F[s+116>>2]=i;F[s+100>>2]=b;F[s+184>>2]=n;F[s+168>>2]=f;F[s+120>>2]=p;F[s+104>>2]=e}F[s+96>>2]=c;F[s+160>>2]=d;v=v+1|0;if((h|0)!=(v|0)){continue}break}}a=F[s+4>>2];if(!a){break ua}Ra(a)}Ea=s+384|0}o=1}Ea=w+256|0;return o}function Ld(){var a=0,b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,M=0;if(!G[435168]){t=Ea-112|0;Ea=t;if(!G[405840]){f=Ea-1040|0;Ea=f;while(1){a:{if(!(1497965>>>h&1&(1797559>>>h&1)|898768>>>h&1)){break a}a=L(h,12)+7200|0;j=F[a>>2];k=((F[a+8>>2]<<2)+(F[a+4>>2]<<1)|1)<>>h&1;c=299592>>>h&1;b:{if(!(b|c)){b=k>>>0<=1?1:k;a=0;while(1){d=8;e=0;while(1){c=(d|0)<(j|0);i=c?d:j;d=d-i|0;e=a>>>(c?j-i|0:0)<0){continue}break}F[f+(a<<2)>>2]=e<<8|a;a=a+1|0;if((b|0)!=(a|0)){continue}break}break b}d=h<<3;a=d+7460|0;d=d+7456|0;l=-1<>>0<=1?1:k;i=F[d>>2];m=F[a>>2];c=0;while(1){d=c&l;a=0;e=G[i|0];if((e|0)!=48){a=d>>>e-97<<1&2}e=G[i+1|0];if((e|0)!=48){a=d>>>e-97&1|a}a=a<<1;e=G[i+2|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+3|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+4|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+5|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+6|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+7|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+8|0];if((e|0)!=48){a=d>>>e-97&1|a}e=d&1?511:0;F[f+(c<<2)>>2]=((e^L(m,c>>>j|0)+a)>>>2|e&128)<<8|c;c=c+1|0;if((b|0)!=(c|0)){continue}break}break b}if(!c){b=k>>>0<=1?1:k;i=0;while(1){a=i&l;d=8;e=0;while(1){c=(d|0)<(j|0);m=c?d:j;d=d-m|0;e=a>>>(c?j-m|0:0)<0){continue}break}F[f+(i<<2)>>2]=e<<8|i;i=i+1|0;if((i|0)!=(b|0)){continue}break}break b}b=k>>>0<=1?1:k;i=F[d>>2];m=F[a>>2];c=0;while(1){d=c&l;a=0;e=G[i|0];if((e|0)!=48){a=d>>>e-97<<1&2}e=G[i+1|0];if((e|0)!=48){a=d>>>e-97&1|a}a=a<<1;e=G[i+2|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+3|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+4|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+5|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+6|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+7|0];if((e|0)!=48){a=a|d>>>e-97&1}a=a<<1;e=G[i+8|0];if((e|0)!=48){a=d>>>e-97&1|a}e=d&1?511:0;F[f+(c<<2)>>2]=((e^L(m,c>>>j|0)+a)>>>2|e&128)<<8|c;c=c+1|0;if((b|0)!=(c|0)){continue}break}}a=f+(k<<2)|0;d=a;i=f+1039|0;a=a-f>>2;if(a){a=31-O(a)|0}else{a=0}Ib(f,d,i,a<<1);d=0;if((b|0)!=1){a=b&-2;j=0;while(1){e=(h<<9)+413088|0;c=F[f+(d<<2)>>2];i=e+((c&255)<<1)|0;D[i+1|0]=d;D[i|0]=c>>>8;c=d|1;i=F[f+(c<<2)>>2];e=e+((i&255)<<1)|0;D[e+1|0]=c;D[e|0]=i>>>8;d=d+2|0;j=j+2|0;if((a|0)!=(j|0)){continue}break}}if(!(b&1)){break a}a=F[f+(d<<2)>>2];e=((h<<9)+413088|0)+((a&255)<<1)|0;D[e+1|0]=d;D[e|0]=a>>>8}h=h+1|0;if((h|0)!=21){continue}break}j=0;while(1){b=0;a=65535;while(1){i=L(b,86)+32|0;d=0;while(1){h=(i+L(d,42)>>>6|0)-j|0;k=L(h,h);h=k>>>0<(a&65535)>>>0;k=h?k:a;l=d|1;a=(i+L(l,42)>>>6|0)-j|0;m=L(a,a);a=(k&65535)>>>0>m>>>0;e=a?l:h?d:e;c=a?b:h?b:c;a=a?m:k;d=d+2|0;if((d|0)!=128){continue}break}b=b+1|0;if((b|0)!=128){continue}break}k=(j<<3)+423840|0;D[k+3|0]=e;D[k+2|0]=c;E[k>>1]=a;a=65535;b=0;while(1){h=L(b,86);d=0;while(1){i=((L(d,42)+h|0)+96>>>6|0)-j|0;m=L(i,i);l=m>>>0<(a&65535)>>>0;n=d|1;i=((L(n,42)+h|0)+96>>>6|0)-j|0;i=L(i,i);m=l?m:a;a=i>>>0<(m&65535)>>>0;e=a?n:l?d:e;c=a?b:l?b:c;a=a?i:m;d=d+2|0;if((d|0)!=128){continue}break}b=b+1|0;if((b|0)!=128){continue}break}E[k+4>>1]=a;D[k+7|0]=e;D[k+6|0]=c;j=j+1|0;if((j|0)!=256){continue}break}b=0;while(1){a=0;j=65535;while(1){k=L(a<<1|a>>>6,43)+32|0;d=0;while(1){c=d>>>6|0;m=d|1;e=(k+L(c|m<<1,21)>>>6|0)-b|0;l=L(e,e);c=(k+L(c|d<<1,21)>>>6|0)-b|0;e=L(c,c);c=e>>>0<(j&65535)>>>0;j=c?e:j;e=l>>>0<(j&65535)>>>0;j=e?l:j;h=e?a:c?a:h;i=e?m:c?d:i;d=d+2|0;if((d|0)!=128){continue}break}a=a+1|0;if((a|0)!=128){continue}break}a=(b<<2)+425888|0;D[a+3|0]=i;D[a+2|0]=h;E[a>>1]=j;b=b+1|0;if((b|0)!=256){continue}break}Ea=f+1040|0;while(1){b=0;while(1){a=L((b<<5)+g|0,240);f=H[a+13434>>1];e=H[a+13438>>1];h=e>>>0>f>>>0?f:e;j=H[a+13442>>1];i=h>>>0>>0?h:j;k=H[a+13446>>1];l=i>>>0>>0?i:k;m=H[a+13450>>1];n=l>>>0>>0?l:m;o=H[a+13454>>1];p=n>>>0>>0?n:o;q=H[a+13458>>1];r=p>>>0>>0?p:q;s=H[a+13462>>1];c=r>>>0>>0?r:s;d=L(g,48)+L(b,6)|0;e=r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;f=H[a+13466>>1];D[d+426917|0]=H[a+13470>>1]<(c>>>0>>0?c:f)>>>0?9:f>>>0>>0?8:e;f=H[a+13394>>1];e=H[a+13398>>1];h=e>>>0>f>>>0?f:e;j=H[a+13402>>1];i=h>>>0>>0?h:j;k=H[a+13406>>1];l=i>>>0>>0?i:k;m=H[a+13410>>1];n=l>>>0>>0?l:m;o=H[a+13414>>1];p=n>>>0>>0?n:o;q=H[a+13418>>1];r=p>>>0>>0?p:q;s=H[a+13422>>1];c=r>>>0>>0?r:s;e=r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;f=H[a+13426>>1];D[d+426916|0]=H[a+13430>>1]<(c>>>0>>0?c:f)>>>0?9:f>>>0>>0?8:e;f=H[a+13354>>1];e=H[a+13358>>1];h=e>>>0>f>>>0?f:e;j=H[a+13362>>1];i=h>>>0>>0?h:j;k=H[a+13366>>1];l=i>>>0>>0?i:k;m=H[a+13370>>1];n=l>>>0>>0?l:m;o=H[a+13374>>1];p=n>>>0>>0?n:o;q=H[a+13378>>1];r=p>>>0>>0?p:q;s=H[a+13382>>1];c=r>>>0>>0?r:s;e=r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;f=H[a+13386>>1];D[d+426915|0]=H[a+13390>>1]<(c>>>0>>0?c:f)>>>0?9:f>>>0>>0?8:e;f=H[a+13314>>1];e=H[a+13318>>1];h=e>>>0>f>>>0?f:e;j=H[a+13322>>1];i=h>>>0>>0?h:j;k=H[a+13326>>1];l=i>>>0>>0?i:k;m=H[a+13330>>1];n=l>>>0>>0?l:m;o=H[a+13334>>1];p=n>>>0>>0?n:o;q=H[a+13338>>1];r=p>>>0>>0?p:q;s=H[a+13342>>1];c=r>>>0>>0?r:s;e=r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;f=H[a+13346>>1];D[d+426914|0]=H[a+13350>>1]<(c>>>0>>0?c:f)>>>0?9:f>>>0>>0?8:e;f=H[a+13274>>1];e=H[a+13278>>1];h=e>>>0>f>>>0?f:e;j=H[a+13282>>1];i=h>>>0>>0?h:j;k=H[a+13286>>1];l=i>>>0>>0?i:k;m=H[a+13290>>1];n=l>>>0>>0?l:m;o=H[a+13294>>1];p=n>>>0>>0?n:o;q=H[a+13298>>1];r=p>>>0>>0?p:q;s=H[a+13302>>1];c=r>>>0>>0?r:s;e=r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;f=H[a+13306>>1];D[d+426913|0]=H[a+13310>>1]<(c>>>0>>0?c:f)>>>0?9:f>>>0>>0?8:e;f=H[a+13234>>1];e=H[a+13238>>1];h=e>>>0>f>>>0?f:e;j=H[a+13242>>1];i=h>>>0>>0?h:j;k=H[a+13246>>1];l=i>>>0>>0?i:k;m=H[a+13250>>1];n=l>>>0>>0?l:m;o=H[a+13254>>1];p=n>>>0>>0?n:o;q=H[a+13258>>1];r=p>>>0>>0?p:q;s=H[a+13262>>1];c=r>>>0>>0?r:s;u=d+426912|0;d=H[a+13266>>1];D[u|0]=H[a+13270>>1]<(c>>>0>>0?c:d)>>>0?9:d>>>0>>0?8:r>>>0>s>>>0?7:p>>>0>q>>>0?6:n>>>0>o>>>0?5:l>>>0>m>>>0?4:i>>>0>k>>>0?3:h>>>0>j>>>0?2:e>>>0>>0;b=b+1|0;if((b|0)!=8){continue}break}g=g+1|0;if((g|0)!=32){continue}break}c=0;F[107123]=4;F[107118]=3;F[107119]=1;F[107113]=5;F[107114]=2;F[107174]=124;F[107175]=131;F[107172]=108;F[107173]=147;F[107170]=92;F[107171]=163;F[107168]=76;F[107169]=179;F[107166]=59;F[107167]=196;F[107164]=43;F[107165]=212;F[107162]=27;F[107163]=228;F[107160]=11;F[107161]=244;F[107158]=119;F[107159]=136;F[107156]=103;F[107157]=152;F[107154]=86;F[107155]=169;F[107152]=70;F[107153]=185;F[107150]=54;F[107151]=201;F[107148]=38;F[107149]=217;F[107146]=21;F[107147]=234;F[107144]=5;F[107145]=250;F[107142]=113;F[107143]=142;F[107140]=97;F[107141]=158;F[107138]=81;F[107139]=174;F[107136]=65;F[107137]=190;F[107134]=48;F[107135]=207;F[107132]=32;F[107133]=223;F[107130]=16;F[107131]=239;F[107128]=0;F[107129]=255;F[107115]=0;while(1){a=c<<1;f=a+428705|0;e=a+428704|0;b=2147483647;g=0;while(1){a=F[(g<<2)+428512>>2];h=L(a<<8|a,43)+32|0;a=0;while(1){d=F[(a<<2)+428512>>2];j=((h+L(d<<8|d,21)|0)/64>>8)-c|0;d=j>>31;d=(d^j)-d|0;if((d|0)<(b|0)){D[f|0]=a;D[e|0]=g;b=d}a=a+1|0;if((a|0)!=48){continue}break}g=g+1|0;if((g|0)!=48){continue}break}c=c+1|0;if((c|0)!=256){continue}break}d=0;while(1){b=2147483647;a=0;while(1){f=F[(a<<2)+428512>>2]-d|0;c=f>>31;c=(c^f)-c|0;if((c|0)<(b|0)){D[d+429216|0]=a;b=c}f=a|1;g=F[(f<<2)+428512>>2]-d|0;c=g>>31;c=(c^g)-c|0;if((c|0)<(b|0)){D[d+429216|0]=f;b=c}a=a+2|0;if((a|0)!=48){continue}break}d=d+1|0;if((d|0)!=256){continue}break}F[t+104>>2]=-556347706;F[t+108>>2]=-528409;F[t+96>>2]=-1667986300;F[t+100>>2]=-1112167003;F[t+88>>2]=1515342402;F[t+92>>2]=2071161699;F[t+80>>2]=403703808;F[t+84>>2]=959523105;g=0;while(1){a=g<<1;h=a+405857|0;j=a+405856|0;b=0;c=256;while(1){f=G[(t+80|0)+b|0];a=0;while(1){e=G[(t+80|0)+a|0];i=((f+(e<<1)>>>0)/3|0)-g|0;d=i>>31;k=e-f|0;e=k>>31;d=((d^i)-d|0)+(((L((e^k)-e|0,3)&65535)>>>0)/100|0)|0;if((d|0)<(c|0)){D[j|0]=a;D[h|0]=b;c=d}a=a+1|0;if((a|0)!=32){continue}break}b=b+1|0;if((b|0)!=32){continue}break}g=g+1|0;if((g|0)!=256){continue}break}b=0;while(1){a=b<<1;f=a+406369|0;g=a+406368|0;a=0;d=256;while(1){e=G[(t+80|0)+a|0]-b|0;c=e>>31;c=(c^e)-c|0;if((c|0)<(d|0)){D[g|0]=a;D[f|0]=0;d=c}e=a|1;h=G[e+(t+80|0)|0]-b|0;c=h>>31;c=(c^h)-c|0;if((c|0)<(d|0)){D[g|0]=e;D[f|0]=0;d=c}a=a+2|0;if((a|0)!=32){continue}break}b=b+1|0;if((b|0)!=256){continue}break}g=0;a=0;while(1){d=t+16|0;b=a>>>4|0;D[d+a|0]=b|a<<2;c=a|1;D[c+d|0]=b|c<<2;c=a|2;D[c+d|0]=b|c<<2;c=d;d=a|3;D[c+d|0]=b|d<<2;a=a+4|0;if((a|0)!=64){continue}break}while(1){a=g<<1;h=a+406881|0;j=a+406880|0;b=0;c=256;while(1){f=G[(t+16|0)+b|0];a=0;while(1){e=G[(t+16|0)+a|0];i=((f+(e<<1)>>>0)/3|0)-g|0;d=i>>31;k=e-f|0;e=k>>31;d=((d^i)-d|0)+(((L((e^k)-e|0,3)&65535)>>>0)/100|0)|0;if((d|0)<(c|0)){D[j|0]=a;D[h|0]=b;c=d}a=a+1|0;if((a|0)!=64){continue}break}b=b+1|0;if((b|0)!=64){continue}break}g=g+1|0;if((g|0)!=256){continue}break}b=0;while(1){a=b<<1;f=a+407393|0;g=a+407392|0;a=0;d=256;while(1){e=G[(t+16|0)+a|0]-b|0;c=e>>31;c=(c^e)-c|0;if((c|0)<(d|0)){D[g|0]=a;D[f|0]=0;d=c}e=a|1;h=G[e+(t+16|0)|0]-b|0;c=h>>31;c=(c^h)-c|0;if((c|0)<(d|0)){D[g|0]=e;D[f|0]=0;d=c}a=a+2|0;if((a|0)!=64){continue}break}b=b+1|0;if((b|0)!=256){continue}break}d=0;F[101987]=4;F[101982]=3;F[101983]=1;F[101977]=5;F[101978]=2;F[101979]=0;while(1){a=d<<2;b=G[G[a+330720|0]+13204|0];D[t+12|0]=b;D[t+8|0]=G[b+5230|0];b=G[G[a+330721|0]+13204|0];D[t+13|0]=b;D[t+9|0]=G[b+5230|0];b=G[G[a+330722|0]+13204|0];D[t+14|0]=b;D[t+10|0]=G[b+5230|0];a=G[G[a+330723|0]+13204|0];D[t+15|0]=a;D[t+11|0]=G[a+5230|0];a=0;while(1){c=a>>>6&3;b=t+8|0;f=G[c+b|0];g=a>>>4&3;e=G[g+b|0];h=a&3;j=G[h+b|0];i=a>>>2&3;k=G[i+b|0];l=(d<<8)+a|0;b=t+12|0;D[l+407968|0]=G[b+h|0]|G[b+i|0]<<2|G[b+g|0]<<4|G[b+c|0]<<6;D[l+410528|0]=j|k<<2|e<<4|f<<6;a=a+1|0;if((a|0)!=256){continue}break}d=d+1|0;if((d|0)!=10){continue}break}c=0;while(1){a=c<<1;f=a+429473|0;e=a+429472|0;g=0;b=256;while(1){a=g<<1|g>>>3;h=L(a<<3|a>>2,5);a=0;while(1){j=((h+L(a<<3|a>>>2,3)|0)/8|0)-c|0;d=j>>31;d=(d^j)-d|0;if((d|0)<(b|0)){D[e|0]=g;D[f|0]=a;b=d}a=a+1|0;if((a|0)!=32){continue}break}g=g+1|0;if((g|0)!=16){continue}break}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){a=c<<1;f=a+429985|0;e=a+429984|0;g=0;b=256;while(1){h=L(g<<3|g>>>2,5);a=0;while(1){j=((h+L(a<<3|a>>>2,3)|0)/8|0)-c|0;d=j>>31;d=(d^j)-d|0;if((d|0)<(b|0)){D[e|0]=g;D[f|0]=a;b=d}a=a+1|0;if((a|0)!=32){continue}break}g=g+1|0;if((g|0)!=32){continue}break}c=c+1|0;if((c|0)!=256){continue}break}c=0;while(1){a=c<<1;f=a+430497|0;e=a+430496|0;g=0;b=256;while(1){h=L(g<<3|g>>>2,5);a=0;while(1){j=((h+L(a<<2|a>>>4,3)|0)/8|0)-c|0;d=j>>31;d=(d^j)-d|0;if((d|0)<(b|0)){D[e|0]=g;D[f|0]=a;b=d}a=a+1|0;if((a|0)!=64){continue}break}g=g+1|0;if((g|0)!=32){continue}break}c=c+1|0;if((c|0)!=256){continue}break}d=0;while(1){a=d<<1;c=a+431008|0;E[c>>1]=0;f=a+431009|0;a=d;g=16-a|0;b=g>>31;b=(b^g)-b|0;if(b>>>0>>0){D[c|0]=0;D[f|0]=1;a=b}g=33-d|0;b=g>>31;b=(b^g)-b|0;if(b>>>0>>0){D[c|0]=0;D[f|0]=2;a=b}g=49-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=3;a=b}g=66-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=4;a=b}g=82-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=5;a=b}g=99-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=6;a=b}g=115-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=7;a=b}g=140-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=8;a=b}g=156-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=9;a=b}g=173-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=10;a=b}g=189-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=11;a=b}g=206-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=12;a=b}g=222-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=13;a=b}g=239-d|0;b=g>>31;b=(b^g)-b|0;if((b|0)<(a|0)){D[c|0]=0;D[f|0]=14;a=b}if((255-d|0)<(a|0)){D[c|0]=0;D[f|0]=15}d=d+1|0;if((d|0)!=256){continue}break}b=0;while(1){a=b<<1;f=a+431521|0;g=a+431520|0;a=0;d=256;while(1){e=a>>>2|0;h=(e|a<<3)-b|0;c=h>>31;c=(c^h)-c|0;if((c|0)<(d|0)){D[g|0]=0;D[f|0]=a;d=c}h=a|1;e=(e|h<<3)-b|0;c=e>>31;c=(c^e)-c|0;if((c|0)<(d|0)){D[g|0]=0;D[f|0]=h;d=c}a=a+2|0;if((a|0)!=32){continue}break}b=b+1|0;if((b|0)!=256){continue}break}b=0;while(1){a=b<<1;f=a+432033|0;g=a+432032|0;a=0;d=256;while(1){e=a>>>4|0;h=(e|a<<2)-b|0;c=h>>31;c=(c^h)-c|0;if((c|0)<(d|0)){D[g|0]=0;D[f|0]=a;d=c}h=a|1;e=(e|h<<2)-b|0;c=e>>31;c=(c^e)-c|0;if((c|0)<(d|0)){D[g|0]=0;D[f|0]=h;d=c}a=a+2|0;if((a|0)!=64){continue}break}b=b+1|0;if((b|0)!=256){continue}break}F[108147]=4;F[108142]=3;F[108143]=1;F[108137]=5;F[108138]=2;F[108139]=0;d=0;while(1){e=2147483647;c=0;g=0;a=0;while(1){b=L(a<<5|a<<1,5);n=d-(b+765>>>3|0)|0;m=n>>31;o=d-(b+663>>>3|0)|0;l=o>>31;p=d-(b+561>>>3|0)|0;k=p>>31;q=d-(b+459>>>3|0)|0;i=q>>31;r=d-(b+357>>>3|0)|0;j=r>>31;s=d-(b+255>>>3|0)|0;h=s>>31;u=d-(b+153>>>3|0)|0;f=u>>31;v=d-(b+51>>>3|0)|0;b=v>>31;v=(b^v)-b|0;b=(v|0)<(e|0);u=(f^u)-f|0;e=b?v:e;f=(u|0)<(e|0);s=(h^s)-h|0;e=f?u:e;h=(s|0)<(e|0);r=(j^r)-j|0;e=h?s:e;j=(r|0)<(e|0);q=(i^q)-i|0;e=j?r:e;i=(q|0)<(e|0);p=(k^p)-k|0;e=i?q:e;k=(p|0)<(e|0);o=(l^o)-l|0;e=k?p:e;l=(o|0)<(e|0);n=(m^n)-m|0;e=l?o:e;m=(n|0)<(e|0);e=m?n:e;c=m?a:l?a:k?a:i?a:j?a:h?a:f?a:b?a:c;g=m?7:l?6:k?5:i?4:j?3:h?2:f?1:b?0:g;a=a+1|0;if((a|0)!=8){continue}break}a=d<<1;D[a+432609|0]=g;D[a+432608|0]=c;d=d+1|0;if((d|0)!=256){continue}break}a=0;while(1){h=a-34|0;d=h>>31;j=a-68|0;b=j>>31;i=a-102|0;c=i>>31;k=a-136|0;f=k>>31;l=a-170|0;g=l>>31;n=a-204|0;e=n>>31;g=(g^l)-g|0;f=(f^k)-f|0;c=(c^i)-c|0;b=(b^j)-b|0;h=(d^h)-d|0;j=(a|0)>(h|0)?h:a;i=(b|0)<(j|0)?b:j;k=(c|0)<(i|0)?c:i;l=(f|0)<(k|0)?f:k;d=(g|0)<(l|0)?g:l;o=a-238|0;m=o>>31;p=a<<1;c=g>>>0>>0?5:f>>>0>>0?4:c>>>0>>0?3:b>>>0>>0?2:a>>>0>h>>>0;b=(e^n)-e|0;d=((m^o)-m|0)<(((b|0)<(d|0)?b:d)|0)?7:d>>>0>b>>>0?6:c;D[p+433121|0]=d;D[p+433120|0]=d;a=a+1|0;if((a|0)!=256){continue}break}a=0;while(1){j=a-51|0;d=j>>31;i=a-17|0;b=i>>31;k=a-85|0;c=k>>31;l=a-119|0;f=l>>31;m=a-153|0;g=m>>31;n=a-187|0;e=n>>31;o=a-221|0;h=o>>31;e=(e^n)-e|0;g=(g^m)-g|0;f=(f^l)-f|0;c=(c^k)-c|0;j=(d^j)-d|0;b=(b^i)-b|0;i=(b|0)>(j|0)?j:b;k=(c|0)<(i|0)?c:i;l=(f|0)<(k|0)?f:k;m=(g|0)<(l|0)?g:l;d=(e|0)<(m|0)?e:m;p=a-255|0;n=p>>31;q=a<<1;c=e>>>0>>0?5:g>>>0>>0?4:f>>>0>>0?3:c>>>0>>0?2:b>>>0>j>>>0;b=(h^o)-h|0;d=(n^p)-n>>>0<((b|0)<(d|0)?b:d)>>>0?7:d>>>0>b>>>0?6:c;D[q+433633|0]=d;D[q+433632|0]=d;a=a+1|0;if((a|0)!=256){continue}break}e=0;while(1){J=e-95|0;a=J>>31;w=e-89|0;d=w>>31;x=e-83|0;b=x>>31;y=e-77|0;c=y>>31;z=e-70|0;f=z>>31;A=e+-64|0;g=A>>31;B=e-58|0;h=B>>31;C=e-52|0;j=C>>31;q=e-43|0;i=q>>31;r=e-37|0;k=r>>31;s=e-30|0;l=s>>31;u=e-24|0;m=u>>31;v=e-18|0;n=v>>31;I=e-12|0;o=I>>31;K=e-6|0;p=K>>31;M=(i^q)-i|0;i=(k^r)-k|0;k=(l^s)-l|0;l=(m^u)-m|0;m=(n^v)-n|0;n=(o^I)-o|0;o=(p^K)-p|0;p=(e|0)>(o|0)?o:e;q=(n|0)<(p|0)?n:p;r=(m|0)<(q|0)?m:q;s=(l|0)<(r|0)?l:r;u=(k|0)<(s|0)?k:s;I=(i|0)<(u|0)?i:u;v=(M|0)<(I|0);C=(j^C)-j|0;I=v?M:I;j=(C|0)<(I|0);B=(h^B)-h|0;C=j?C:I;h=(B|0)<(C|0);A=(g^A)-g|0;B=h?B:C;g=(A|0)<(B|0);z=(f^z)-f|0;A=g?A:B;f=(z|0)<(A|0);y=(c^y)-c|0;z=f?z:A;c=(y|0)<(z|0);x=(b^x)-b|0;y=c?y:z;b=(x|0)<(y|0);w=(d^w)-d|0;x=b?x:y;d=(w|0)<(x|0);a=(a^J)-a|0;w=d?w:x;J=(a|0)<(w|0);a=J?a:w;d=J?15:d?14:b?13:c?12:f?11:g?10:h?9:j?8:v?7:i>>>0>>0?6:k>>>0>>0?5:l>>>0>>0?4:m>>>0>>0?3:n>>>0

    >>0?2:e>>>0>o>>>0;g=0;c=0;b=0;while(1){f=c<<1|c>>>3;h=e-(L(f<<3|f>>>2,3)+165>>>3|0)|0;f=h>>31;h=(f^h)-f|0;f=(h|0)<(a|0);a=f?h:a;d=f?c:d;b=f?1:b;c=c+1|0;if((c|0)!=16){continue}break}while(1){c=g<<1|g>>>3;f=e-(L(c<<3|c>>>2,3)+370>>>3|0)|0;c=f>>31;f=(c^f)-c|0;c=(f|0)<(a|0);a=c?f:a;d=c?g:d;b=c?2:b;c=0;g=g+1|0;if((g|0)!=16){continue}break}g=0;while(1){f=g<<1|g>>>3;h=e-(L(f<<3|f>>>2,3)+535>>>3|0)|0;f=h>>31;h=(f^h)-f|0;f=(h|0)<(a|0);a=f?h:a;d=f?g:d;b=f?3:b;g=g+1|0;if((g|0)!=16){continue}break}while(1){f=c<<1|c>>>3;g=e-(L(f<<3|f>>>2,3)+740>>>3|0)|0;f=g>>31;g=(f^g)-f|0;f=(g|0)<(a|0);a=f?g:a;d=f?c:d;b=f?4:b;g=0;c=c+1|0;if((c|0)!=16){continue}break}c=0;while(1){f=c<<1|c>>>3;h=e-(L(f<<3|f>>>2,3)+905>>>3|0)|0;f=h>>31;h=(f^h)-f|0;f=(h|0)<(a|0);a=f?h:a;d=f?c:d;b=f?5:b;c=c+1|0;if((c|0)!=16){continue}break}while(1){c=g<<1|g>>>3;f=e-(L(c<<3|c>>>2,3)+1110>>>3|0)|0;c=f>>31;f=(c^f)-c|0;c=(f|0)<(a|0);a=c?f:a;d=c?g:d;b=c?6:b;g=g+1|0;if((g|0)!=16){continue}break}c=0;while(1){f=c<<1|c>>>3;g=e-(L(f<<3|f>>>2,3)+1275>>>3|0)|0;f=g>>31;g=(f^g)-f|0;f=(g|0)<(a|0);a=f?g:a;d=f?c:d;b=f?7:b;c=c+1|0;if((c|0)!=16){continue}break}a=e<<1;D[a+434145|0]=d;D[a+434144|0]=b;e=e+1|0;if((e|0)!=256){continue}break}b=0;while(1){d=2147483647;g=0;e=0;c=0;while(1){a=g<<1|g>>>3;h=L(a<<3|a>>>2,5);a=0;while(1){f=a<<1|a>>>3;j=b-(h+L(f<<3|f>>>2,3)>>>3|0)|0;f=j>>31;j=(f^j)-f|0;f=(j|0)<(d|0);d=f?j:d;e=f?a:e;c=f?g:c;a=a+1|0;if((a|0)!=16){continue}break}g=g+1|0;if((g|0)!=16){continue}break}a=b<<1;D[a+434657|0]=e;D[a+434656|0]=c;b=b+1|0;if((b|0)!=256){continue}break}D[405840]=1}Ea=t+112|0;D[435168]=1}}function Se(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0;n=Qa(1224);o=Ea-32|0;Ea=o;F[n>>2]=0;g=n+4|0;F[g+144>>2]=0;F[g+148>>2]=0;F[g+88>>2]=0;F[g+92>>2]=0;F[g+152>>2]=0;F[g+96>>2]=0;F[g+100>>2]=0;F[g+104>>2]=0;F[g+108>>2]=0;F[g+112>>2]=0;F[g+116>>2]=0;F[g+120>>2]=0;Hb(g+188|0);Ta(g+776|0,0,420);Cb(g);F[o+8>>2]=a;q=n+1208|0;e=o+8|0;c=e;Pc(q,c);D[n+1220|0]=0;if(G[435168]){j=F[a>>2];b=$(2413)|0;j=_(j|0,b|0)|0;W(b|0);r=+fa(j|0,405168,c|0);ea(F[o+8>>2]);W(j|0);c=ja(4864)|0;b=$(2107)|0;s=_(c|0,b|0)|0;W(b|0);W(c|0);c=F[a>>2];b=$(2095)|0;c=_(c|0,b|0)|0;W(b|0);b=F[q>>2];aa(s|0);F[o+24>>2]=r<4294967296&r>=0?~~r>>>0:0;F[o+16>>2]=b;F[o+8>>2]=s;t=ia(c|0,3,398496,e|0)|0;W(c|0);if(!(D[435184]&1)){b=ha(2,398536)|0;D[435184]=1;F[108795]=b}b=F[108795];aa(F[a>>2]);F[o+8>>2]=F[a>>2];ka(b|0,t|0,1336,o+8|0);a=F[n+1208>>2];k=F[n+1212>>2];Cb(g);a:{b:{if(!a|k>>>0<81){break b}i=12;b=13208;c:{d:{c=a;e:{if((c|13208)&3){break e}while(1){if(F[c>>2]!=F[b>>2]){break e}b=b+4|0;c=c+4|0;i=i-4|0;if(i>>>0>3){continue}break}if(!i){break d}}while(1){l=G[c|0];j=G[b|0];if((l|0)==(j|0)){b=b+1|0;c=c+1|0;i=i-1|0;if(i){continue}break d}break}b=l-j|0;break c}b=0}if(b){break b}F[g+4>>2]=k;F[g>>2]=a;Va(g+8|0,a,80);if(F[g+20>>2]|F[g+24>>2]!=1){break b}b=F[g+28>>2];if(!b){break b}a=F[g+32>>2];if(F[g+36>>2]|!a){break b}f:{switch(F[g+44>>2]-1|0){case 5:if((a|0)!=(b|0)){break b}break;case 0:break f;default:break b}}j=F[g+48>>2];if(j-17>>>0<4294967280){break b}a=F[g+52>>2];if(a>>>0>2){break b}if((a|0)==1){b=F[g+80>>2];if(b>>>0<21){break b}a=F[g+72>>2];if(a>>>0<80|k>>>0>>0){break b}}h=F[g+92>>2];b=1;g:{if((h|0)==(j|0)){break g}if(!(j>>>0<=I[g+96>>2]|h>>>0>j>>>0)){h:{if((j|0)!=(h+1|0)){a=j;break h}a=j;e=a-1|0;if(!(!a|a&e)){break h}b=0-!a|0;a=b>>>16|0;k=a|b;a=k>>>8|0;l=a|k;a=l>>>4|0;c=a|l;a=c>>>2|0;d=((a|c)&1)<<31;a=b|e;a=(b&65535)<<16|a>>>16|a;a=(k&255)<<24|a>>>8|a;a=(l&15)<<28|a>>>4|a;a=(c&3)<<30|a>>>2|a;a=(d|a>>>1|a)+1|0;b=0;if(j>>>0>a>>>0){break g}}l=Ya(L(a,24));b=0;if(!l){break g}k=F[g+88>>2];i:{if(!h){break i}c=l;b=k;d=L(h,24)-24|0;e=((d>>>0)/24|0)+1&3;if(e){while(1){i=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);f=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[c|0]=f;D[c+1|0]=f>>>8;D[c+2|0]=f>>>16;D[c+3|0]=f>>>24;D[c+4|0]=i;D[c+5|0]=i>>>8;D[c+6|0]=i>>>16;D[c+7|0]=i>>>24;i=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);f=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[c+8|0]=f;D[c+9|0]=f>>>8;D[c+10|0]=f>>>16;D[c+11|0]=f>>>24;D[c+12|0]=i;D[c+13|0]=i>>>8;D[c+14|0]=i>>>16;D[c+15|0]=i>>>24;i=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);f=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[c+16|0]=f;D[c+17|0]=f>>>8;D[c+18|0]=f>>>16;D[c+19|0]=f>>>24;D[c+20|0]=i;D[c+21|0]=i>>>8;D[c+22|0]=i>>>16;D[c+23|0]=i>>>24;c=c+24|0;b=b+24|0;m=m+1|0;if((e|0)!=(m|0)){continue}break}}if(d>>>0<72){break i}e=k+L(h,24)|0;while(1){f=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);d=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[c|0]=d;D[c+1|0]=d>>>8;D[c+2|0]=d>>>16;D[c+3|0]=d>>>24;D[c+4|0]=f;D[c+5|0]=f>>>8;D[c+6|0]=f>>>16;D[c+7|0]=f>>>24;f=G[b+12|0]|G[b+13|0]<<8|(G[b+14|0]<<16|G[b+15|0]<<24);d=G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24);D[c+8|0]=d;D[c+9|0]=d>>>8;D[c+10|0]=d>>>16;D[c+11|0]=d>>>24;D[c+12|0]=f;D[c+13|0]=f>>>8;D[c+14|0]=f>>>16;D[c+15|0]=f>>>24;f=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);d=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[c+16|0]=d;D[c+17|0]=d>>>8;D[c+18|0]=d>>>16;D[c+19|0]=d>>>24;D[c+20|0]=f;D[c+21|0]=f>>>8;D[c+22|0]=f>>>16;D[c+23|0]=f>>>24;f=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);d=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[c+24|0]=d;D[c+25|0]=d>>>8;D[c+26|0]=d>>>16;D[c+27|0]=d>>>24;D[c+28|0]=f;D[c+29|0]=f>>>8;D[c+30|0]=f>>>16;D[c+31|0]=f>>>24;f=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);d=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[c+32|0]=d;D[c+33|0]=d>>>8;D[c+34|0]=d>>>16;D[c+35|0]=d>>>24;D[c+36|0]=f;D[c+37|0]=f>>>8;D[c+38|0]=f>>>16;D[c+39|0]=f>>>24;f=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);d=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[c+40|0]=d;D[c+41|0]=d>>>8;D[c+42|0]=d>>>16;D[c+43|0]=d>>>24;D[c+44|0]=f;D[c+45|0]=f>>>8;D[c+46|0]=f>>>16;D[c+47|0]=f>>>24;f=G[b+52|0]|G[b+53|0]<<8|(G[b+54|0]<<16|G[b+55|0]<<24);d=G[b+48|0]|G[b+49|0]<<8|(G[b+50|0]<<16|G[b+51|0]<<24);D[c+48|0]=d;D[c+49|0]=d>>>8;D[c+50|0]=d>>>16;D[c+51|0]=d>>>24;D[c+52|0]=f;D[c+53|0]=f>>>8;D[c+54|0]=f>>>16;D[c+55|0]=f>>>24;f=G[b+60|0]|G[b+61|0]<<8|(G[b+62|0]<<16|G[b+63|0]<<24);d=G[b+56|0]|G[b+57|0]<<8|(G[b+58|0]<<16|G[b+59|0]<<24);D[c+56|0]=d;D[c+57|0]=d>>>8;D[c+58|0]=d>>>16;D[c+59|0]=d>>>24;D[c+60|0]=f;D[c+61|0]=f>>>8;D[c+62|0]=f>>>16;D[c+63|0]=f>>>24;d=b- -64|0;f=G[d+4|0]|G[d+5|0]<<8|(G[d+6|0]<<16|G[d+7|0]<<24);i=c- -64|0;d=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);D[i|0]=d;D[i+1|0]=d>>>8;D[i+2|0]=d>>>16;D[i+3|0]=d>>>24;D[i+4|0]=f;D[i+5|0]=f>>>8;D[i+6|0]=f>>>16;D[i+7|0]=f>>>24;f=G[b+76|0]|G[b+77|0]<<8|(G[b+78|0]<<16|G[b+79|0]<<24);d=G[b+72|0]|G[b+73|0]<<8|(G[b+74|0]<<16|G[b+75|0]<<24);D[c+72|0]=d;D[c+73|0]=d>>>8;D[c+74|0]=d>>>16;D[c+75|0]=d>>>24;D[c+76|0]=f;D[c+77|0]=f>>>8;D[c+78|0]=f>>>16;D[c+79|0]=f>>>24;f=G[b+84|0]|G[b+85|0]<<8|(G[b+86|0]<<16|G[b+87|0]<<24);d=G[b+80|0]|G[b+81|0]<<8|(G[b+82|0]<<16|G[b+83|0]<<24);D[c+80|0]=d;D[c+81|0]=d>>>8;D[c+82|0]=d>>>16;D[c+83|0]=d>>>24;D[c+84|0]=f;D[c+85|0]=f>>>8;D[c+86|0]=f>>>16;D[c+87|0]=f>>>24;f=G[b+92|0]|G[b+93|0]<<8|(G[b+94|0]<<16|G[b+95|0]<<24);d=G[b+88|0]|G[b+89|0]<<8|(G[b+90|0]<<16|G[b+91|0]<<24);D[c+88|0]=d;D[c+89|0]=d>>>8;D[c+90|0]=d>>>16;D[c+91|0]=d>>>24;D[c+92|0]=f;D[c+93|0]=f>>>8;D[c+94|0]=f>>>16;D[c+95|0]=f>>>24;c=c+96|0;b=b+96|0;if((e|0)!=(b|0)){continue}break}}if(k){Ra(k)}F[g+96>>2]=a;F[g+88>>2]=l}F[g+92>>2]=j;b=1}d=0;if(!b){break a}a=F[g+48>>2];a=L(a>>>0<=1?1:a,24);d=0;if(I[g+4>>2]>>0){break a}Va(F[g+88>>2],F[g>>2]+80|0,a);k=F[g+92>>2];j:{if(!k){break j}l=F[g+4>>2];j=F[g+88>>2];a=0;k:{l:{m:{c=F[g+52>>2];switch(c|0){case 0:break l;case 1:break m;default:break k}}while(1){c=j+L(a,24)|0;b=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);if(b>>>0<80|l>>>0>>0|(G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24))){break b}a=a+1|0;if((k|0)!=(a|0)){continue}break}break j}while(1){b=j+L(c,24)|0;a=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);d=0;if(a>>>0<80){break a}d=0;if(l>>>0>>0){break a}if((G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24))<0){break b}c=c+1|0;if((k|0)!=(c|0)){continue}break}break j}while(1){c=j+L(a,24)|0;b=G[c|0]|G[c+1|0]<<8|(G[c+2|0]<<16|G[c+3|0]<<24);if(b>>>0<80|l>>>0>>0|(G[c+16|0]|G[c+17|0]<<8|(G[c+18|0]<<16|G[c+19|0]<<24))<=0){break b}a=a+1|0;if((k|0)!=(a|0)){continue}break}}b=F[g+60>>2];a=b-44|0;if((a|0)!=16?a:0){break b}e=F[g+56>>2];d=0;if(e>>>0<80){break a}if(I[g+4>>2]>>0){break b}l=F[g>>2];a=F[g+104>>2];j=1;n:{if((b|0)==(a|0)){break n}if(a>>>0<=b>>>0){if(b>>>0>I[g+108>>2]){o:{if((b|0)!=(a+1|0)){a=b;break o}a=b;j=b-1|0;if(!(!b|j&b)){break o}c=0-!b|0;a=c>>>16|0;k=a|c;a=c|j;a=(c&65535)<<16|a>>>16|a;j=(k&255)<<24|a>>>8|a;c=k|k>>>8;a=c>>>4|0;a=a|c;k=((a|a>>>2)&1)<<31;d=(a&3)<<30;a=j|((c&15)<<28|j>>>4);a=d|a>>>2|a;a=(k|a>>>1|a)+1|0;j=0;if(b>>>0>a>>>0){break n}}c=nb(F[g+100>>2],a);j=0;if(!c){break n}F[g+108>>2]=a;F[g+100>>2]=c;a=F[g+104>>2]}Ta(F[g+100>>2]+a|0,0,b-a|0)}F[g+104>>2]=b;j=1}if(!j){break b}k=e+l|0;Va(F[g+100>>2],k,F[g+60>>2]);l=G[k|0]|G[k+1|0]<<8|(G[k+2|0]<<16|G[k+3|0]<<24);if((l|0)!=F[g+60>>2]|((l|0)!=(F[g- -64>>2]-F[g+56>>2]|0)?F[g+68>>2]:0)){break b}c=G[k+28|0]|G[k+29|0]<<8|(G[k+30|0]<<16|G[k+31|0]<<24);j=G[k+12|0]|G[k+13|0]<<8|(G[k+14|0]<<16|G[k+15|0]<<24);F[g+172>>2]=j>>>24;b=j&255;F[g+160>>2]=b;a=j>>>16&255;F[g+168>>2]=a;F[g+164>>2]=j>>>8&255;if(a-1>>>0>1){break b}p:{q:{switch(b-163|0){case 0:F[g+156>>2]=0;a=(l|0)==60;D[g+1200|0]=a;F[g+180>>2]=c>>>24&15;F[g+176>>2]=a?2:1;if((l|0)!=60){break p}F[g+184>>2]=G[k+47|0]&15;break p;case 3:break q;default:break b}}F[g+176>>2]=1;F[g+156>>2]=1;a=c>>>24&15;F[g+180>>2]=a;D[g+1200|0]=(a|0)==3|(a|0)==5}c=0;k=F[g- -64>>2];i=F[g+68>>2];e=!k;r:{if(!i){break r}s:{if(k>>>0<80|I[g+4>>2]>>0){break s}l=F[g>>2];h=Ea-288|0;Ea=h;t:{u:{v:{w:{f=g+112|0;a=F[f+8>>2];x:{if(a>>>0<8){a=Ya(192);if(!a){break w}e=F[f>>2];b=F[f+4>>2];if(b){j=L(b,24)+e|0;b=a;while(1){c=pb(b,e);b=F[e+12>>2];if(b){Ra(b)}b=F[e>>2];if(b){Ra(b)}b=c+24|0;e=e+24|0;if((j|0)!=(e|0)){continue}break}e=F[f>>2]}if(e){Ra(e)}F[f+8>>2]=8;F[f>>2]=a;break x}if(a>>>0<=8){break x}F[h+28>>2]=0;F[h+20>>2]=0;F[h+24>>2]=0;a=F[f+4>>2];c=a>>>0<=8?8:a;if(c){b=L(c,24);a=Ya(b);if(!a){break v}F[h+28>>2]=c;F[h+20>>2]=a}d=Ea-272|0;Ea=d;if((f|0)!=(h+20|0)){y:{z:{A:{e=F[f+4>>2];m=F[h+28>>2];B:{if(e>>>0<=m>>>0){a=F[h+20>>2];b=F[h+24>>2];if(!b){break B}c=L(b,24)+a|0;while(1){b=F[a+12>>2];if(b){Ra(b)}b=F[a>>2];if(b){Ra(b)}a=a+24|0;if((c|0)!=(a|0)){continue}break}F[h+24>>2]=0;a=F[h+20>>2];break B}a=F[h+20>>2];if(a){b=F[h+24>>2];if(b){c=L(b,24)+a|0;while(1){b=F[a+12>>2];if(b){Ra(b)}b=F[a>>2];if(b){Ra(b)}a=a+24|0;if((c|0)!=(a|0)){continue}break}a=F[h+20>>2]}Ra(a);F[h+28>>2]=0;F[h+20>>2]=0;F[h+24>>2]=0;m=0;e=F[f+4>>2]}a=0;if(e>>>0<=m>>>0){break B}b=L(e,24);a=Ya(b);if(!a){break A}b=F[h+24>>2];C:{if(!b){break C}j=L(b,24);m=0;b=a;while(1){c=pb(b,m);b=F[m+12>>2];if(b){Ra(b)}b=F[m>>2];if(b){Ra(b)}b=c+24|0;m=m+24|0;if((j|0)!=(m|0)){continue}break}b=F[h+20>>2];if(!b){break C}Ra(b)}F[h+28>>2]=e;F[h+20>>2]=a}b=F[f+4>>2];c=0;if(!b){break y}m=F[f>>2];while(1){pb(a,m);m=m+24|0;a=a+24|0;b=b-1|0;if(b){continue}break}break z}F[d>>2]=b;a=d+16|0;hb(a,1776,d);break u}c=F[f+4>>2]}F[h+24>>2]=c}Ea=d+272|0;e=F[f>>2];F[f>>2]=F[h+20>>2];F[h+20>>2]=e;b=F[f+4>>2];F[f+4>>2]=F[h+24>>2];F[h+24>>2]=b;a=F[f+8>>2];F[f+8>>2]=F[h+28>>2];F[h+28>>2]=a;if(!e){break x}if(b){b=L(b,24)+e|0;while(1){a=F[e+12>>2];if(a){Ra(a)}a=F[e>>2];if(a){Ra(a)}e=e+24|0;if((b|0)!=(e|0)){continue}break}e=F[h+20>>2]}Ra(e)}Ea=h+288|0;break t}F[h>>2]=192;a=h+32|0;hb(a,1776,h);break u}F[h+16>>2]=b;a=h+32|0;hb(a,1776,h+16|0)}Nb(a,F[101008]);na();v()}m=k+l|0;while(1){k=i>>>0<5;e=1;if(k){break r}c=0;b=G[m|0]|G[m+1|0]<<8|(G[m+2|0]<<16|G[m+3|0]<<24);if(b>>>0<2){break s}p=i-4|0;if(p>>>0>>0){break s}e=F[g+116>>2];j=e+1|0;d=1;D:{if((e|0)==(j|0)){break D}E:{if(e>>>0>j>>>0){a=F[g+112>>2];l=a+L(e,24)|0;i=a+L(j,24)|0;while(1){a=F[i+12>>2];if(a){Ra(a)}a=F[i>>2];if(a){Ra(a)}i=i+24|0;if((l|0)!=(i|0)){continue}break}break E}if(j>>>0>I[g+120>>2]){F:{if((j|0)!=(e+1|0)){a=j;break F}a=j;d=a-1|0;if(!(!a|a&d)){break F}l=0-!a|0;a=l>>>16|0;h=a|l;a=h>>>8|0;i=a|h;a=i>>>4|0;f=a|i;a=f>>>2|0;w=((a|f)&1)<<31;a=d|l;a=(l&65535)<<16|a>>>16|a;a=(h&255)<<24|a>>>8|a;a=(i&15)<<28|a>>>4|a;a=(f&3)<<30|a>>>2|a;a=(w|a>>>1|a)+1|0;d=0;if(j>>>0>a>>>0){break D}}l=Ya(L(a,24));d=0;if(!l){break D}i=F[g+112>>2];if(e){f=L(e,24)+i|0;e=l;while(1){d=pb(e,i);e=F[i+12>>2];if(e){Ra(e)}e=F[i>>2];if(e){Ra(e)}e=d+24|0;i=i+24|0;if((f|0)!=(i|0)){continue}break}i=F[g+112>>2]}if(i){Ra(i)}F[g+120>>2]=a;F[g+112>>2]=l;e=F[g+116>>2]}if((e|0)==(j|0)){break E}a=L(j-e|0,24);Ta(F[g+112>>2]+L(e,24)|0,0,a-((a-24>>>0)%24|0)|0)}F[g+116>>2]=j;d=1}if(!d){break s}a=m+4|0;h=F[g+112>>2]+L(F[g+116>>2]-1|0,24)|0;while(1){l=a;j=b;if(!b){break s}b=F[h+4>>2];e=F[h+8>>2];G:{if(b>>>0>>0){break G}a=b+1|0;if(e>>>0>=a>>>0){break G}H:{if(!(!a|a-1&a)){b=a;break H}d=0-!a|0;b=d|a-1;e=d>>>16|d;b=b|((d&65535)<<16|b>>>16);i=(e&255)<<24|b>>>8|b;f=e|e>>>8;b=f>>>4|0;d=b|f;e=d>>>2|0;b=i|((f&15)<<28|i>>>4);b=(d&3)<<30|b>>>2|b;b=(b|(((d|e)&1)<<31|b>>>1))+1|0;if(a>>>0>b>>>0){break s}}a=nb(F[h>>2],b);if(!a){break s}F[h+8>>2]=b;F[h>>2]=a;b=F[h+4>>2]}a=l+1|0;D[F[h>>2]+b|0]=G[l|0];e=F[h+4>>2];F[h+4>>2]=e+1;b=j-1|0;p=p-1|0;if(G[e+F[h>>2]|0]){continue}break}e=F[h+16>>2];if((e|0)!=(b|0)){if(b>>>0>=e>>>0){I:{if(I[h+20>>2]>=b>>>0){m=F[h+12>>2];break I}c=b;J:{if((j-2|0)!=(e|0)){break J}e=b-1|0;if(!(!b|e&b)){break J}c=e;e=0-!b|0;c=c|e;c=c|((e&65535)<<16|c>>>16);d=e>>>16|e;e=d>>>8|0;c=c|((d&255)<<24|c>>>8);d=d|e;e=d>>>4|0;c=c|((d&15)<<28|c>>>4);d=d|e;e=d>>>2|0;c=c|((d&3)<<30|c>>>2);c=(c|(((d|e)&1)<<31|c>>>1))+1|0;if(c>>>0>=b>>>0){break J}e=k;break r}m=nb(F[h+12>>2],c);e=k;if(!m){break r}F[h+12>>2]=m;F[h+20>>2]=c;e=F[h+16>>2]}Ta(e+m|0,0,b-e|0)}F[h+16>>2]=b}if(b){Va(F[h+12>>2],a,b);p=p-b|0;a=j+l|0}b=F[g>>2]-a&3;i=p-b|0;m=a+b|0;c=k;if(b>>>0<=p>>>0){continue}break}}e=c}if(!e){break b}b=F[g+116>>2];d=1;if(!b){break a}a=F[g+112>>2];c=0;while(1){if(Lb(F[a+L(c,24)>>2],3139)){u=1;c=c+1|0;if((b|0)!=(c|0)){continue}break b}break}u=1;D[g+1201|0]=1}d=u}K:{if(d){break K}a=F[q>>2];if(!a){break K}Ra(a);F[n+1216>>2]=0;F[n+1208>>2]=0;F[n+1212>>2]=0}F[n>>2]=-559038750;D[n+1220|0]=1;W(t|0);W(s|0)}Ea=o+32|0;return n|0}function Gb(a,b,c){var d=0,e=0,f=0,g=0,h=M(0),i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=M(0),u=0,v=0,w=0,x=0,y=0,z=M(0),A=M(0),B=M(0),C=M(0),E=0,H=0,I=0,K=M(0),O=M(0),P=M(0),Q=M(0),R=0,S=M(0),T=M(0),U=M(0),V=0,W=0;j=Ea-48|0;Ea=j;a:{b:{if(c&4){e=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);D[j+47|0]=G[(e>>>30|0)+13200|0];D[j+32|0]=G[(e&3)+13200|0];D[j+46|0]=G[(e>>>28&3)+13200|0];D[j+45|0]=G[(e>>>26&3)+13200|0];D[j+44|0]=G[(e>>>24&3)+13200|0];D[j+43|0]=G[(e>>>22&3)+13200|0];D[j+42|0]=G[(e>>>20&3)+13200|0];D[j+41|0]=G[(e>>>18&3)+13200|0];D[j+40|0]=G[(e>>>16&3)+13200|0];D[j+39|0]=G[(e>>>14&3)+13200|0];D[j+38|0]=G[(e>>>12&3)+13200|0];D[j+37|0]=G[(e>>>10&3)+13200|0];D[j+36|0]=G[(e>>>8&3)+13200|0];D[j+35|0]=G[(e>>>6&3)+13200|0];D[j+34|0]=G[(e>>>4&3)+13200|0];D[j+33|0]=G[(e>>>2&3)+13200|0];H=-1;break b}d=G[b+2|0];c:{d:{e:{E=G[b+4|0];f=G[b|0];l=G[b+1|0];f:{if((E|0)!=(f|0)|(l|0)!=G[b+5|0]|((d|0)!=G[b+6|0]|(f|0)!=G[b+8|0])){break f}if((l|0)!=G[b+9|0]|(d|0)!=G[b+10|0]|((f|0)!=G[b+12|0]|(l|0)!=G[b+13|0])){break f}if((d|0)!=G[b+14|0]|(f|0)!=G[b+16|0]|((l|0)!=G[b+17|0]|(d|0)!=G[b+18|0])){break f}if((f|0)!=G[b+20|0]|(l|0)!=G[b+21|0]|((d|0)!=G[b+22|0]|(f|0)!=G[b+24|0])){break f}if((l|0)!=G[b+25|0]|(d|0)!=G[b+26|0]|((f|0)!=G[b+28|0]|(l|0)!=G[b+29|0])){break f}if((d|0)!=G[b+30|0]|(f|0)!=G[b+32|0]|((l|0)!=G[b+33|0]|(d|0)!=G[b+34|0])){break f}if((f|0)!=G[b+36|0]|(l|0)!=G[b+37|0]|((d|0)!=G[b+38|0]|(f|0)!=G[b+40|0])){break f}if((l|0)!=G[b+41|0]|(d|0)!=G[b+42|0]|((f|0)!=G[b+44|0]|(l|0)!=G[b+45|0])){break f}if((d|0)!=G[b+46|0]|(f|0)!=G[b+48|0]|((l|0)!=G[b+49|0]|(d|0)!=G[b+50|0])){break f}if((f|0)!=G[b+52|0]|(l|0)!=G[b+53|0]|((d|0)!=G[b+54|0]|(f|0)!=G[b+56|0])){break f}if((l|0)!=G[b+57|0]|(d|0)!=G[b+58|0]|((f|0)!=G[b+60|0]|(l|0)!=G[b+61|0])){break f}if((d|0)==G[b+62|0]){break e}}H=1;g=f;q=f;i=f;p=d;n=d;I=d;o=l;e=l;R=e;while(1){m=(H<<2)+b|0;r=G[m+2|0];p=(p|0)<(r|0)?p:r;s=G[m+1|0];o=(o|0)<(s|0)?o:s;m=G[m|0];q=(m|0)>(q|0)?q:m;n=(n|0)>(r|0)?n:r;e=(e|0)>(s|0)?e:s;i=(i|0)>(m|0)?i:m;I=r+I|0;R=s+R|0;g=g+m|0;H=H+1|0;if((H|0)!=16){continue}break}I=I+8>>>4|0;R=R+8>>>4|0;H=g+8>>>4|0;g=0;while(1){m=(g<<2)+b|0;r=G[m+2|0]-I|0;s=G[m+1|0]-R|0;u=L(r,s)+u|0;m=G[m|0]-H|0;w=L(m,r)+w|0;x=L(m,s)+x|0;v=L(r,r)+v|0;k=L(s,s)+k|0;y=L(m,m)+y|0;g=g+1|0;if((g|0)!=16){continue}break}z=M(n-p|0);S=M(M(v|0)*M(.003921568859368563));t=M(i-q|0);O=M(M(w|0)*M(.003921568859368563));P=M(M(u|0)*M(.003921568859368563));h=M(e-o|0);K=M(M(z*S)+M(M(t*O)+M(P*h)));B=M(M(y|0)*M(.003921568859368563));Q=M(M(x|0)*M(.003921568859368563));C=M(M(z*O)+M(M(t*B)+M(Q*h)));T=M(M(k|0)*M(.003921568859368563));h=M(M(z*P)+M(M(t*Q)+M(T*h)));z=M(M(K*S)+M(M(C*O)+M(h*P)));t=M(M(K*O)+M(M(C*B)+M(h*Q)));h=M(M(K*P)+M(M(C*Q)+M(h*T)));U=M(M(z*S)+M(M(t*O)+M(h*P)));A=M(M(z*O)+M(M(t*B)+M(h*Q)));C=M(A*B);B=M(M(z*P)+M(M(t*Q)+M(h*T)));K=M(M(U*O)+M(C+M(B*Q)));t=M(N(K));C=M(M(U*P)+M(M(A*Q)+M(B*T)));h=M(N(C));z=h=M(2)){break d}e=117;i=601;g=306;break c}e=1;i=170;d=d<<1;c=l<<1;b=f<<1;g=G[d+405857|0]|(G[c+406881|0]<<5|G[b+405857|0]<<11);b=G[d+405856|0]|(G[c+406880|0]<<5|G[b+405856|0]<<11);g:{if((g|0)==(b|0)){if(!b){i=85;b=0;break g}i=0;g=b-1|0}if(b>>>0>=g>>>0){e=b;b=g;break g}i=i|85;e=g}D[a+2|0]=b;D[a|0]=e;c=L(i,16843009);D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;D[a+3|0]=b>>>8;D[a+1|0]=e>>>8;break a}z=t;t=M(M(1024)/h);h=M(z*t);h:{if(M(N(h))(f|0)?15:d?14:V)<<2)+b|0;e=L(G[i|0],31)+128|0;g=(l|0)<(q|0);d=g?q:l;l=(d|0)<(y|0);q=e+(e>>>8|0)>>>8|0;e=L(G[i+1|0],63)+128|0;V=(e>>>8|0)+e>>>8|0;e=L(G[i+2|0],31)+128|0;i=(e>>>8|0)+e>>>8|0;d=l?y:d;e=(d|0)<(x|0);g=e?3:l?2:g;d=e?x:d;e=(d|0)<(w|0);g=e?4:g;d=e?w:d;e=(d|0)<(r|0);g=e?5:g;d=e?r:d;e=(d|0)<(s|0);g=e?6:g;d=e?s:d;e=(d|0)<(u|0);g=e?7:g;d=e?u:d;e=(d|0)<(m|0);g=e?8:g;d=e?m:d;e=(d|0)<(v|0);g=e?9:g;d=e?v:d;e=(d|0)<(k|0);g=e?10:g;d=e?k:d;e=(d|0)<(E|0);g=e?11:g;d=e?E:d;e=(d|0)<(p|0);g=e?12:g;d=e?p:d;e=(d|0)<(n|0);g=e?13:g;d=e?n:d;e=(d|0)<(o|0);d=(((f|0)>((e?o:d)|0)?15:e?14:g)<<2)+b|0;e=L(G[d|0],31)+128|0;g=(e>>>8|0)+e>>>8|0;e=L(G[d+1|0],63)+128|0;f=(e>>>8|0)+e>>>8|0;e=L(G[d+2|0],31)+128|0;gc(b,q,V,i,g,f,(e>>>8|0)+e>>>8|0,j+32|0)}E=c&2?3:c&1?2:1;e=0;while(1){n=j+32|0;u=0;m=0;v=0;p=0;o=0;i=0;c=0;g=0;while(1){k=G[g+n|0];d=(g<<2)+b|0;l=G[d+2|0];o=L(k,l)+o|0;f=G[d+1|0];v=L(f,k)+v|0;d=G[d|0];u=L(d,k)+u|0;i=i+l|0;p=f+p|0;m=d+m|0;c=F[(k<<2)+398336>>2]+c|0;g=g+1|0;if((g|0)!=16){continue}break}z=M((c>>>16&255)>>>0);t=M((c&255)>>>0);A=M((c>>>8&255)>>>0);h=M(M(z*t)-M(A*A));d=M(N(h))>>0);K=M(M(M(m>>>0)*M(3))-B);h=M(M(3)/h);C=M(h*t);A=M(h*M(-A));J[j+20>>2]=M(C*B)+M(A*K);z=M(h*z);J[j+8>>2]=M(A*B)+M(z*K);t=M(v>>>0);h=M(M(M(p>>>0)*M(3))-t);J[j+24>>2]=M(C*t)+M(h*A);J[j+12>>2]=M(A*t)+M(h*z);t=M(o>>>0);h=M(M(M(i>>>0)*M(3))-t);J[j+28>>2]=M(C*t)+M(h*A);J[j+16>>2]=M(A*t)+M(h*z);k:{if(!(J[j+20>>2]>2]>M(255))){break k}q=G[b|0];y=G[b+4|0];c=q>>>0>>0?q:y;x=G[b+8|0];c=c>>>0>>0?c:x;w=G[b+12|0];c=c>>>0>>0?c:w;r=G[b+16|0];c=c>>>0>>0?c:r;s=G[b+20|0];c=c>>>0>>0?c:s;u=G[b+24|0];c=c>>>0>>0?c:u;m=G[b+28|0];c=c>>>0>>0?c:m;v=G[b+32|0];c=c>>>0>>0?c:v;k=G[b+36|0];c=c>>>0>>0?c:k;p=G[b+40|0];c=c>>>0

    >>0?c:p;n=G[b+44|0];c=c>>>0>>0?c:n;o=G[b+48|0];c=c>>>0>>0?c:o;i=G[b+52|0];c=c>>>0>>0?c:i;l=G[b+56|0];c=c>>>0>>0?c:l;f=G[b+60|0];g=c>>>0>>0?c:f;c=q>>>0>y>>>0?q:y;c=c>>>0>x>>>0?c:x;c=c>>>0>w>>>0?c:w;c=c>>>0>r>>>0?c:r;c=c>>>0>s>>>0?c:s;c=c>>>0>u>>>0?c:u;c=c>>>0>m>>>0?c:m;c=c>>>0>v>>>0?c:v;c=c>>>0>k>>>0?c:k;c=c>>>0>p>>>0?c:p;c=c>>>0>n>>>0?c:n;c=c>>>0>o>>>0?c:o;c=c>>>0>i>>>0?c:i;c=c>>>0>l>>>0?c:l;if((g|0)!=((c>>>0>f>>>0?c:f)|0)){break k}h=M(g>>>0);J[j+20>>2]=h;J[j+8>>2]=h}l:{if(!(J[j+24>>2]>2]>M(255))){break l}q=G[b+1|0];y=G[b+5|0];c=q>>>0>>0?q:y;x=G[b+9|0];c=c>>>0>>0?c:x;w=G[b+13|0];c=c>>>0>>0?c:w;r=G[b+17|0];c=c>>>0>>0?c:r;s=G[b+21|0];c=c>>>0>>0?c:s;u=G[b+25|0];c=c>>>0>>0?c:u;m=G[b+29|0];c=c>>>0>>0?c:m;v=G[b+33|0];c=c>>>0>>0?c:v;k=G[b+37|0];c=c>>>0>>0?c:k;p=G[b+41|0];c=c>>>0

    >>0?c:p;n=G[b+45|0];c=c>>>0>>0?c:n;o=G[b+49|0];c=c>>>0>>0?c:o;i=G[b+53|0];c=c>>>0>>0?c:i;l=G[b+57|0];c=c>>>0>>0?c:l;f=G[b+61|0];g=c>>>0>>0?c:f;c=q>>>0>y>>>0?q:y;c=c>>>0>x>>>0?c:x;c=c>>>0>w>>>0?c:w;c=c>>>0>r>>>0?c:r;c=c>>>0>s>>>0?c:s;c=c>>>0>u>>>0?c:u;c=c>>>0>m>>>0?c:m;c=c>>>0>v>>>0?c:v;c=c>>>0>k>>>0?c:k;c=c>>>0>p>>>0?c:p;c=c>>>0>n>>>0?c:n;c=c>>>0>o>>>0?c:o;c=c>>>0>i>>>0?c:i;c=c>>>0>l>>>0?c:l;if((g|0)!=((c>>>0>f>>>0?c:f)|0)){break l}h=M(g>>>0);J[j+24>>2]=h;J[j+12>>2]=h}if(!(J[j+28>>2]>2]>M(255))){break j}q=G[b+2|0];y=G[b+6|0];c=q>>>0>>0?q:y;x=G[b+10|0];c=c>>>0>>0?c:x;w=G[b+14|0];c=c>>>0>>0?c:w;r=G[b+18|0];c=c>>>0>>0?c:r;s=G[b+22|0];c=c>>>0>>0?c:s;u=G[b+26|0];c=c>>>0>>0?c:u;m=G[b+30|0];c=c>>>0>>0?c:m;v=G[b+34|0];c=c>>>0>>0?c:v;k=G[b+38|0];c=c>>>0>>0?c:k;p=G[b+42|0];c=c>>>0

    >>0?c:p;n=G[b+46|0];c=c>>>0>>0?c:n;o=G[b+50|0];c=c>>>0>>0?c:o;i=G[b+54|0];c=c>>>0>>0?c:i;l=G[b+58|0];c=c>>>0>>0?c:l;f=G[b+62|0];g=c>>>0>>0?c:f;c=q>>>0>y>>>0?q:y;c=c>>>0>x>>>0?c:x;c=c>>>0>w>>>0?c:w;c=c>>>0>r>>>0?c:r;c=c>>>0>s>>>0?c:s;c=c>>>0>u>>>0?c:u;c=c>>>0>m>>>0?c:m;c=c>>>0>v>>>0?c:v;c=c>>>0>k>>>0?c:k;c=c>>>0>p>>>0?c:p;c=c>>>0>n>>>0?c:n;c=c>>>0>o>>>0?c:o;c=c>>>0>i>>>0?c:i;c=c>>>0>l>>>0?c:l;if((g|0)!=((c>>>0>f>>>0?c:f)|0)){break j}h=M(g>>>0);J[j+28>>2]=h;J[j+16>>2]=h}m:{if(d){if((H|0)<0){R=(G[b+61|0]+(G[b+57|0]+(G[b+53|0]+(G[b+49|0]+(G[b+45|0]+(G[b+41|0]+(G[b+37|0]+(G[b+33|0]+(G[b+29|0]+(G[b+25|0]+(G[b+21|0]+(G[b+17|0]+(G[b+13|0]+(G[b+9|0]+(G[b+1|0]+G[b+5|0]|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)+8>>>4|0;H=(G[b+60|0]+(G[b+56|0]+(G[b+52|0]+(G[b+48|0]+(G[b+44|0]+(G[b+40|0]+(G[b+36|0]+(G[b+32|0]+(G[b+28|0]+(G[b+24|0]+(G[b+20|0]+(G[b+16|0]+(G[b+12|0]+(G[b+8|0]+(G[b|0]+G[b+4|0]|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)+8>>>4|0;I=(G[b+62|0]+(G[b+58|0]+(G[b+54|0]+(G[b+50|0]+(G[b+46|0]+(G[b+42|0]+(G[b+38|0]+(G[b+34|0]+(G[b+30|0]+(G[b+26|0]+(G[b+22|0]+(G[b+18|0]+(G[b+14|0]+(G[b+10|0]+(G[b+2|0]+G[b+6|0]|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)|0)+8>>>4|0}f=I<<1;i=G[f+405857|0];d=R<<1;g=G[d+406881|0];c=H<<1;p=G[c+405857|0];q=G[d+406880|0];n=G[c+405856|0];c=G[f+405856|0];break m}h=M(M(J[j+16>>2]*M(.12156862765550613))+M(.5));n:{if(M(N(h))>2]*M(.24705882370471954))+M(.5));o:{if(M(N(h))0;o=g?c:63;g=(o|0)>0;h=M(M(J[j+8>>2]*M(.12156862765550613))+M(.5));p:{if(M(N(h))=31?31:l;c=(l|0)>0;h=M(M(J[j+28>>2]*M(.12156862765550613))+M(.5));q:{if(M(N(h))=31?31:d;d=(f|0)>0;i=i?n:0;g=g?o:0;p=c?l:0;h=M(M(J[j+24>>2]*M(.24705882370471954))+M(.5));r:{if(M(N(h))=63?63:k;q=(c|0)>0?c:0;h=M(M(J[j+20>>2]*M(.12156862765550613))+M(.5));s:{if(M(N(h))=31?31:c;n=(c|0)>0?c:0;c=d?f:0}gc(b,n,q,c,p,g,i,j+32|0);e=e+1|0;if((E|0)!=(e|0)){continue}break}c=c|(q<<5|n<<11);d=c&65535;b=g<<5|p<<11|i;e=b&65535;if((d|0)==(e|0)){e=d?0:1431655765;D[a+4|0]=e;D[a+5|0]=e>>>8;D[a+6|0]=e>>>16;D[a+7|0]=e>>>24;c=d?c:1;D[a|0]=c;b=d?b-1|0:0;D[a+2|0]=b;D[a+1|0]=c>>>8;D[a+3|0]=b>>>8;break a}k=d>>>0>>0;c=k?d:e;D[a+2|0]=c;b=d>>>0>e>>>0?d:e;D[a|0]=b;D[a+3|0]=c>>>8;D[a+1|0]=b>>>8;E=G[j+46|0];p=G[j+47|0];n=G[j+44|0];o=G[j+45|0];I=G[j+42|0];i=G[j+43|0];l=G[j+40|0];f=G[j+41|0];g=G[j+38|0];d=G[j+39|0];e=G[j+36|0];c=G[j+37|0];b=G[G[j+32|0]+13204|0]|G[G[j+33|0]+13204|0]<<2|G[G[j+34|0]+13204|0]<<4|G[G[j+35|0]+13204|0]<<6;k=k?85:0;D[a+4|0]=b^k;b=G[g+13204|0]<<12|G[d+13204|0]<<14|(b|(G[e+13204|0]<<8|G[c+13204|0]<<10));D[a+5|0]=k^b>>>8;b=G[I+13204|0]<<20|G[i+13204|0]<<22|(b|(G[l+13204|0]<<16|G[f+13204|0]<<18));D[a+6|0]=k^b>>>16;D[a+7|0]=k^(G[E+13204|0]<<28|G[p+13204|0]<<30|(b|(G[n+13204|0]<<24|G[o+13204|0]<<26)))>>>24}Ea=j+48|0}function Za(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,M=0;t=Ea-48|0;e=G[a|0]&127;a:{if((e|0)==69){break a}o=G[e+10336|0];F[b+104>>2]=o;e=F[((o<<3)+6848|0)+4>>2];b:{if((o|0)==8){c=(e>>>3|0)+a|0;f=e&7;D[b+112|0]=(G[c+1|0]<<8|G[c|0])>>>f;c=(e+8>>>3|0)+a|0;D[b+113|0]=(G[c+1|0]<<8|G[c|0])>>>f;c=(e+16>>>3|0)+a|0;D[b+114|0]=(G[c+1|0]<<8|G[c|0])>>>f;c=(e+24>>>3|0)+a|0;D[b+115|0]=(G[c+1|0]<<8|G[c|0])>>>f;h=1;if(!d){break a}D[b+118|0]=0;D[b+119|0]=G[(e+32>>>3|0)+a|0]>>>f&1;c=e+33|0;d=(c>>>3|0)+a|0;c=c&7;h=G[d|0]>>>c|0;h=c>>>0>=6?G[d+1|0]<<8-c|h:h;F[b+124>>2]=0;F[b+120>>2]=h&7;c=e+36|0;d=(c>>>3|0)+a|0;m=c&7;c=G[d|0]>>>m|0;if((m|0)==7){c=c|G[d+1|0]<<1}F[b+136>>2]=c&3;c=e+38|0;m=(c>>>3|0)+a|0;d=c&7;c=G[m|0]>>>d|0;if(d>>>0>=4){c=c|G[m+1|0]<<8-d}F[b+140>>2]=c&31;c=e+43|0;m=(c>>>3|0)+a|0;d=c&7;c=G[m|0]>>>d|0;if(d>>>0>=4){c=c|G[m+1|0]<<8-d}F[b+144>>2]=c&31;a=(e+48>>>3|0)+a|0;c=G[a|0];a=G[a+1|0];F[b+128>>2]=0;F[b+132>>2]=0;F[b+148>>2]=(a<<8-f|c>>>f)&31;break b}c:{if(d){D[b+116|0]=G[(e>>>3|0)+a|0]>>>(e&7)&1;d=e+1|0;n=7424>>>o&1;if(!n){g=G[(d>>>3|0)+a|0]>>>(d&7)&1;d=e+2|0}D[b+117|0]=g;p=d&7;D[b+118|0]=G[(d>>>3|0)+a|0]>>>p&1;e=d+1|0;D[b+119|0]=G[(e>>>3|0)+a|0]>>>(e&7)&1;e=d+2|0;i=(e>>>3|0)+a|0;g=e&7;e=G[i|0]>>>g|0;if(g>>>0>=6){e=e|G[i+1|0]<<8-g}F[b+120>>2]=e&7;e=d+5|0;i=(e>>>3|0)+a|0;g=e&7;e=G[i|0]>>>g|0;if(g>>>0>=6){e=e|G[i+1|0]<<8-g}F[b+124>>2]=e&7;k=d+8|0;g=0;if(!n){g=(k>>>3|0)+a|0;e=G[g|0]>>>p|0;if(p>>>0>=4){e=e|G[g+1|0]<<8-p}k=d+13|0;g=e&31}F[b+128>>2]=g;if(o-18>>>0>=4294967286){g=(k>>>3|0)+a|0;e=k&7;d=G[g|0]>>>e|0;if(e){d=d|G[g+1|0]<<8-e}F[b+132>>2]=d&255;k=k+8|0;break c}F[b+132>>2]=0;break c}k=e+G[o+10464|0]|0}z=1;d:{e:{f:{g:{h:{i:{j:{k:{l:{m:{g=o>>>0>16;p=1;n:{if(g){break n}if(!(1<>>3|0)+a|0;e=k&7;d=G[p|0]>>>e|0;if(e>>>0>=4){d=d|G[p+1|0]<<8-e}F[b+108>>2]=d&31;k=k+5|0;z=0;p=2}d=0;if(g){break k}if(1<>2];if(d>>>0>18){break a}d=L(d,6)+5442|0;break h}g=(k>>>3|0)+a|0;e=k&7;d=G[g|0]>>>e|0;if(e>>>0>=5){d=d|G[g+1|0]<<8-e}d=d&15;F[b+108>>2]=d;k=k+4|0;z=0;p=3;break i}d=F[b+108>>2];if(d>>>0>29){break a}d=H[(L(d,6)+5248|0)+2>>1]}A=1;switch(o-6|0){case 11:break f;case 0:case 5:case 7:break g;default:break d}}d=F[b+108>>2]}if(d>>>0>10){break a}d=L(d,6)+5570|0}d=H[d>>1];A=1;break d}g=(k>>>3|0)+a|0;n=k&7;e=G[g|0]>>>n|0;if((n|0)==7){e=e|G[g+1|0]<<1}F[b+16>>2]=e&3;k=k+2|0;break e}F[b+16>>2]=3}A=2;B=1}F[b+4>>2]=p;D[b+20|0]=B;F[b+8>>2]=d&65535;F[b+12>>2]=G[o+10496|0];F[b>>2]=G[o+7040|0];x=G[o+7168|0];l=L(x,p)<<1;i=G[o+7008|0];v=G[o+7072|0];j=F[L(v,12)+7200>>2];o:{p:{q:{n=1497965>>>v&1;r:{if(!n){r=3;h=4;e=5;break r}y=1;if(1797559>>>v&1){break q}r=5;h=2;e=3}d=h+l|0;u=(d>>>0)/(e>>>0)|0;y=d>>>0>>0;if(!y){break p}y=1;break o}e=0;break o}C=n?7:8;s=u-1|0;d=l-L(s,e)|0;q=1797559>>>v&1?7:(d|0)==1?3:(d|0)==2?5:7;I=d-1|0;K=(I<<2)+398468|0;d=0;while(1){h=(d|0)!=(s|0);g=h|n;h=g?h?C:q:8;h=I>>>0>3|g?h:F[K>>2];J=(k>>>3|0)+a|0;w=k&7;g=G[J|0]>>>w|0;M=(t+16|0)+(d<<2)|0;w=8-w|0;if(w>>>0>>0){g=g|G[J+1|0]<>2]=(-1<>>3|0)+a|0;q=k&7;d=G[s|0]>>>q|0;k=k+j|0;q=8-q|0;if((q|0)<(j|0)){d=d|G[s+1|0]<>2];u=u+1|0;n=e}n=n-1|0;q=g;g=(g>>>0)/(r>>>0)|0;d=d|q-L(r,g)<>>0<2){break u}d=F[b+108>>2];if((p|0)==3){r=(d<<4)+6160|0;g=L(d,3)+6736|0;break u}if((o|0)==7){g=L(d,3)+6784|0;r=(d<<4)+6336|0;break t}r=(d<<4)+5680|0;g=L(d,3)+6640|0}if((o|0)!=18){break t}h=0;while(1){e=b+h|0;f=i-!h|0;if(f){m=(k>>>3|0)+a|0;g=k&7;d=G[m|0]>>>g|0;k=f+k|0;g=8-g|0;if((g|0)<(f|0)){d=d|G[m+1|0]<=64?64:d;if(j){h=0;while(1){d=j-h|0;e=k&7;n=8-e|0;n=(d|0)<(n|0)?d:n;d=(-1<>>3|0)+a|0]>>>e;e=h&31;if((h&63)>>>0>=32){l=d<>>32-e;d=d<>>0>h>>>0){continue}break}}a=-1<>>0>=32?f>>>g|0:((1<>>g);e=d<<1;d=e&31;g=m;D[b+41|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+42|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+43|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+44|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+45|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+46|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+47|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+48|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+49|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+50|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+51|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+52|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+53|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+54|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+55|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+56|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+57|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+58|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+59|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+60|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+61|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+62|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+63|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b- -64|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+65|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+66|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+67|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+68|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+69|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+70|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);break s}if(z){if(33793>>>o&1){D[b+39|0]=m&7;D[b+54|0]=f>>>27&15;D[b+53|0]=f>>>23&15;D[b+52|0]=f>>>19&15;D[b+51|0]=f>>>15&15;D[b+50|0]=f>>>11&15;D[b+49|0]=f>>>7&15;D[b+48|0]=f>>>3&15;D[b+47|0]=((f&2147483647)<<1|m>>>31)&15;D[b+46|0]=m>>>27&15;D[b+45|0]=m>>>23&15;D[b+44|0]=m>>>19&15;D[b+43|0]=m>>>15&15;D[b+42|0]=m>>>11&15;D[b+41|0]=m>>>7&15;D[b+40|0]=m>>>3&15;break s}D[b+39|0]=e&m;e=d&31;g=m;D[b+40|0]=a&((d&63)>>>0>=32?f>>>e|0:((1<>>e);e=d+i|0;d=e&31;D[b+41|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+42|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+43|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+44|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+45|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+46|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+47|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+48|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+49|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+50|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+51|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+52|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+53|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);e=e+i|0;d=e&31;D[b+54|0]=a&((e&63)>>>0>=32?f>>>d|0:((1<>>d);break s}n=G[g+2|0];k=G[g|0];g=G[g+1|0];h=!n|(!k|!g);D[b+39|0]=(h?e:a)&m;j=h?d:i;h=j&31;l=(k|0)==1|(g|0)==1|(n|0)==1;D[b+40|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==2|(g|0)==2|(n|0)==2;D[b+41|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==3|(g|0)==3|(n|0)==3;D[b+42|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==4|(g|0)==4|(n|0)==4;D[b+43|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==5|(g|0)==5|(n|0)==5;D[b+44|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==6|(g|0)==6|(n|0)==6;D[b+45|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==7|(g|0)==7|(n|0)==7;D[b+46|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==8|(g|0)==8|(n|0)==8;D[b+47|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==9|(g|0)==9|(n|0)==9;D[b+48|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==10|(g|0)==10|(n|0)==10;D[b+49|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==11|(g|0)==11|(n|0)==11;D[b+50|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==12|(g|0)==12|(n|0)==12;D[b+51|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==13|(g|0)==13|(n|0)==13;D[b+52|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);j=j+(l?d:i)|0;h=j&31;l=(k|0)==14|(g|0)==14|(n|0)==14;D[b+53|0]=((j&63)>>>0>=32?f>>>h|0:((1<>>h)&(l?e:a);h=j+(l?d:i)|0;d=h&31;D[b+54|0]=((h&63)>>>0>=32?f>>>d|0:((1<>>d)&((k|0)==15?e:(g|0)==15?e:(n|0)==15?e:a)}if(!c|o-18>>>0>4294967292){break b}h=0;D[t+14|0]=0;E[t+12>>1]=0;a=x>>>0<=1?1:x;e=a&254;m=a&1;c=(v<<9)+413088|0;g=0;v:{while(1){d=L(h,x);a=(d<<1)+b|0;if((G[c+(G[a+24|0]<<1)|0]+G[c+(G[a+22|0]<<1)|0]|0)+G[c+(G[a+26|0]<<1)|0]>>>0>>0){a=0;n=0;while(1){g=b+21|0;f=g+(a+d<<1)|0;k=G[f+1|0];D[f+1|0]=G[f|0];D[f|0]=k;f=g+(d+(a|1)<<1)|0;g=G[f+1|0];D[f+1|0]=G[f|0];D[f|0]=g;a=a+2|0;n=n+2|0;if((e|0)!=(n|0)){continue}break}if(m){a=(a+d<<1)+b|0;d=G[a+22|0];D[a+22|0]=G[a+21|0];D[a+21|0]=d}g=1;D[(t+12|0)+h|0]=1;h=h+1|0;if((p|0)!=(h|0)){continue}break v}h=h+1|0;if((p|0)!=(h|0)){continue}break}if(!(g&1)){break b}}c=-1<>2]=0;b=Qa(4);F[b>>2]=0;X(398592,2260,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=4;b=Qa(4);F[b>>2]=4;X(398592,2789,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=8;b=Qa(4);F[b>>2]=8;X(398592,2025,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=12;b=Qa(4);F[b>>2]=12;X(398592,5129,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=16;b=Qa(4);F[b>>2]=16;X(398592,5059,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=20;b=Qa(4);F[b>>2]=20;X(398592,1389,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=24;b=Qa(4);F[b>>2]=24;X(398592,2969,405084,398602,9,a|0,405084,398606,10,b|0);a=Qa(4);F[a>>2]=25;b=Qa(4);F[b>>2]=25;X(398592,2037,405084,398602,9,a|0,405084,398606,10,b|0);a=Qa(4);F[a>>2]=28;b=Qa(4);F[b>>2]=28;X(398592,1440,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=32;b=Qa(4);F[b>>2]=32;X(398592,1714,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=36;b=Qa(4);F[b>>2]=36;X(398592,2278,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=40;b=Qa(4);F[b>>2]=40;X(398592,1522,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=44;b=Qa(4);F[b>>2]=44;X(398592,1733,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=48;b=Qa(4);F[b>>2]=48;X(398592,2297,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=52;b=Qa(4);F[b>>2]=52;X(398592,1704,405168,398602,7,a|0,405168,398606,8,b|0);a=Qa(4);F[a>>2]=56;b=Qa(4);F[b>>2]=56;X(398592,2268,405168,398602,7,a|0,405168,398606,8,b|0);la(398592);ma(398632,3065,398600,11,398568,12);a=Qa(4);F[a>>2]=0;b=Qa(4);F[b>>2]=0;X(398632,2519,405168,398602,13,a|0,405168,398606,14,b|0);a=Qa(4);F[a>>2]=4;b=Qa(4);F[b>>2]=4;X(398632,1272,405168,398602,13,a|0,405168,398606,14,b|0);a=Qa(4);F[a>>2]=8;b=Qa(4);F[b>>2]=8;X(398632,3230,405168,398602,13,a|0,405168,398606,14,b|0);a=Qa(4);F[a>>2]=12;b=Qa(4);F[b>>2]=12;X(398632,3219,405168,398602,13,a|0,405168,398606,14,b|0);a=Qa(4);F[a>>2]=16;b=Qa(4);F[b>>2]=16;X(398632,1555,405168,398602,13,a|0,405168,398606,14,b|0);a=Qa(4);F[a>>2]=20;b=Qa(4);F[b>>2]=20;X(398632,2653,405084,398602,15,a|0,405084,398606,16,b|0);a=Qa(4);F[a>>2]=21;b=Qa(4);F[b>>2]=21;X(398632,2642,405084,398602,15,a|0,405084,398606,16,b|0);la(398632);ma(398668,3006,398600,17,398568,18);a=Qa(4);F[a>>2]=0;b=Qa(4);F[b>>2]=0;X(398668,1752,405168,398602,19,a|0,405168,398606,20,b|0);a=Qa(4);F[a>>2]=4;b=Qa(4);F[b>>2]=4;X(398668,2316,405168,398602,19,a|0,405168,398606,20,b|0);a=Qa(4);F[a>>2]=8;b=Qa(4);F[b>>2]=8;X(398668,1763,405168,398602,19,a|0,405168,398606,20,b|0);a=Qa(4);F[a>>2]=12;b=Qa(4);F[b>>2]=12;X(398668,2327,405168,398602,19,a|0,405168,398606,20,b|0);la(398668);ga(398716,1363,4,1);V(398716,3886,0);V(398716,4126,1);V(398716,3898,2);V(398716,4114,3);V(398716,3362,4);V(398716,3476,5);V(398716,4051,6);V(398716,3858,8);V(398716,4097,9);V(398716,4063,10);V(398716,3831,11);V(398716,4039,12);V(398716,3874,17);V(398716,3842,18);V(398716,4080,19);V(398716,5086,20);V(398716,5102,21);V(398716,5049,13);V(398716,4880,14);V(398716,4870,15);V(398716,4925,16);V(398716,1499,22);ba(2345,2,398724,398602,21,22,0);ba(3163,2,398732,398602,23,24,0);ba(2948,2,398732,398602,23,25,0);ba(2930,2,398732,398602,23,26,0);ba(2499,2,398724,398602,21,27,0);ba(1251,2,398724,398602,21,28,0);ga(398772,2727,4,0);V(398772,3706,0);V(398772,1088,1);V(398772,1062,2);V(398772,1910,3);V(398772,2746,4);ga(398808,1346,4,1);V(398808,3331,0);V(398808,4915,1);qa(398832,398856,398888,0,398904,29,398907,0,398907,0,2800,398568,30);pa(398832,2,398912,398602,31,32);a=Qa(4);F[a>>2]=33;Y(398832,2721,2,398920,398928,34,a|0,0,0);a=Qa(4);F[a>>2]=35;Y(398832,3151,2,398932,398602,36,a|0,0,0);a=Qa(4);F[a>>2]=37;Y(398832,3722,2,398940,398602,38,a|0,0,0);a=Qa(4);F[a>>2]=39;Y(398832,2012,2,398932,398602,36,a|0,0,0);a=Qa(4);F[a>>2]=40;Y(398832,1565,3,398948,398960,41,a|0,0,0);a=Qa(4);F[a>>2]=42;Y(398832,2529,4,398976,398992,43,a|0,0,0);a=Qa(4);F[a>>2]=44;Y(398832,1283,4,398976,398992,43,a|0,0,0);a=Qa(4);F[a>>2]=45;Y(398832,1865,5,399008,399028,46,a|0,0,0);a=Qa(4);F[a>>2]=47;Y(398832,2625,2,398932,398602,36,a|0,0,0);a=Qa(4);F[a>>2]=48;Y(398832,2826,8,399040,399072,49,a|0,0,0);a=Qa(4);F[a>>2]=50;Y(398832,3026,2,399084,398602,51,a|0,0,0);a=Qa(4);F[a>>2]=52;Y(398832,3052,3,399092,398960,53,a|0,0,0);a=Qa(4);F[a>>2]=54;Y(398832,2988,4,399104,398992,55,a|0,0,0);ga(399152,1644,4,0);V(399152,4992,2);V(399152,1453,4);V(399152,1578,8);V(399152,2052,16);V(399152,1024,32);qa(399248,399296,399348,0,398904,56,398907,0,398907,0,2114,398568,57);pa(399248,1,399364,398904,58,59);a=Qa(8);F[a+4>>2]=0;F[a>>2]=60;Y(399248,1895,6,399376,399400,61,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=62;Y(399248,1954,3,399408,398960,63,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=64;Y(399248,2826,20,399424,399504,65,a|0,0,0);ba(2841,19,399536,399616,66,67,0);ba(5026,1,399640,398904,68,69,0);ba(2871,1,399640,398904,68,70,0);ga(399680,2238,4,0);V(399680,3591,0);V(399680,3203,1);V(399680,3626,2);da(3651,405168,0);da(3730,405168,166);da(3338,405168,163);da(3604,405168,2);da(3539,405168,16);da(3269,405168,16);da(3423,405168,1);da(3932,405168,2);ga(399720,2911,4,0);V(399720,3779,0);V(399720,3371,3);V(399720,3513,4);V(399720,4139,15);V(399720,3985,0);V(399720,3805,0);V(399720,4012,3);V(399720,3397,4);V(399720,3486,5);V(399720,3451,6);ga(399764,1967,4,0);V(399764,3676,0);V(399764,4840,1);V(399764,3909,1);V(399764,3241,2);V(399764,3561,3);V(399764,5156,4);V(399764,3178,5);V(399764,3300,6);V(399764,3754,7);V(399764,4965,8);V(399764,4890,9);V(399764,4937,10);V(399764,3958,11);ma(399808,2196,398600,71,398568,72);a=Qa(4);F[a>>2]=0;b=Qa(4);F[b>>2]=0;X(399808,1131,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=4;b=Qa(4);F[b>>2]=4;X(399808,1120,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=8;b=Qa(4);F[b>>2]=8;X(399808,1142,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=12;b=Qa(4);F[b>>2]=12;X(399808,2519,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=16;b=Qa(4);F[b>>2]=16;X(399808,1272,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=20;b=Qa(4);F[b>>2]=20;X(399808,2473,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=24;b=Qa(4);F[b>>2]=24;X(399808,1222,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=28;b=Qa(4);F[b>>2]=28;X(399808,3230,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=32;b=Qa(4);F[b>>2]=32;X(399808,3219,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=36;b=Qa(4);F[b>>2]=36;X(399808,1616,405168,398602,73,a|0,405168,398606,74,b|0);a=Qa(4);F[a>>2]=40;b=Qa(4);F[b>>2]=40;X(399808,2653,405084,398602,75,a|0,405084,398606,76,b|0);a=Qa(4);F[a>>2]=41;b=Qa(4);F[b>>2]=41;X(399808,2642,405084,398602,75,a|0,405084,398606,76,b|0);la(399808);ma(399836,2153,398600,77,398568,78);a=Qa(4);F[a>>2]=0;b=Qa(4);F[b>>2]=0;X(399836,1409,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=4;b=Qa(4);F[b>>2]=4;X(399836,2689,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=8;b=Qa(4);F[b>>2]=8;X(399836,2488,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=12;b=Qa(4);F[b>>2]=12;X(399836,1239,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=16;b=Qa(4);F[b>>2]=16;X(399836,2402,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=20;b=Qa(4);F[b>>2]=20;X(399836,1177,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=24;b=Qa(4);F[b>>2]=24;X(399836,1199,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=28;b=Qa(4);F[b>>2]=28;X(399836,1188,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=32;b=Qa(4);F[b>>2]=32;X(399836,2766,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=36;b=Qa(4);F[b>>2]=36;X(399836,1326,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=40;b=Qa(4);F[b>>2]=40;X(399836,2459,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=44;b=Qa(4);F[b>>2]=44;X(399836,1298,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=48;b=Qa(4);F[b>>2]=48;X(399836,2431,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=52;b=Qa(4);F[b>>2]=52;X(399836,1312,405168,398602,79,a|0,405168,398606,80,b|0);a=Qa(4);F[a>>2]=56;b=Qa(4);F[b>>2]=56;X(399836,2445,405168,398602,79,a|0,405168,398606,80,b|0);la(399836);qa(399856,399876,399908,0,398904,81,398907,0,398907,0,2810,398568,82);pa(399856,2,399924,398602,83,84);a=Qa(8);F[a+4>>2]=0;F[a>>2]=85;Y(399856,2903,2,399932,398602,86,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=87;Y(399856,2721,2,399940,398928,88,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=89;Y(399856,2698,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=91;Y(399856,3644,3,399956,398960,92,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=93;Y(399856,2143,2,399968,398602,94,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=95;Y(399856,1055,3,399976,398960,96,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=97;Y(399856,1427,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=98;Y(399856,1048,3,400060,398960,99,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=100;Y(399856,2673,3,400072,398960,101,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=102;Y(399856,2709,4,400096,398992,103,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=104;Y(399856,2479,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=105;Y(399856,1229,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=106;Y(399856,2086,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=107;Y(399856,1535,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=108;Y(399856,1545,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=109;Y(399856,1399,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=110;Y(399856,3722,2,399932,398602,86,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=111;Y(399856,3323,2,399932,398602,86,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=112;Y(399856,3151,2,399932,398602,86,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=113;Y(399856,2369,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=114;Y(399856,1991,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=115;Y(399856,3080,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=116;Y(399856,1692,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=117;Y(399856,1935,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=118;Y(399856,5139,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=119;Y(399856,5069,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=120;Y(399856,2215,2,399932,398602,86,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=121;Y(399856,1664,5,400112,399028,122,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=123;Y(399856,2178,5,400144,399028,124,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=125;Y(399856,1865,6,400176,399400,126,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=127;Y(399856,2625,2,399948,398602,90,a|0,0,0);a=Qa(8);F[a+4>>2]=0;F[a>>2]=128;Y(399856,2826,10,400208,400248,129,a|0,0,0)}function Oc(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,L=0,M=0,N=0;k=-72;a:{b:{if(!f){break b}h=D[e|0];u=h&255;c:{if((h|0)<0){g=u-126>>>1|0;if(g>>>0>=f>>>0){break b}k=-20;h=u-127|0;if(h>>>0>=256){break b}if(!h){break a}e=e+1|0;k=u-128|0;i=(k>>>1|0)+1|0;j=i&1;f=0;if(k>>>0>=2){i=i&-2;u=0;while(1){k=e+(f>>>1|0)|0;D[a+f|0]=G[k|0]>>>4;D[(f|1)+a|0]=G[k|0]&15;l=f|2;k=e+(l>>>1|0)|0;D[a+l|0]=G[k|0]>>>4;D[(f|3)+a|0]=G[k|0]&15;f=f+4|0;u=u+2|0;if((i|0)!=(u|0)){continue}break}}if(j){e=e+(f>>>1|0)|0;D[a+f|0]=G[e|0]>>>4;D[(f|1)+a|0]=G[e|0]&15}u=g;break c}if(f>>>0<=u>>>0){break b}v=Ea-528|0;Ea=v;F[v+8>>2]=255;N=e+1|0;m=Qb(v+16|0,v+8|0,v+12|0,N,u);d:{if(m>>>0>4294967176){h=m;break d}h=-44;k=F[v+12>>2];if(k>>>0>6){break d}q=F[v+8>>2];o=(q<<1)+2|0;f=k&31;if((k&63)>>>0>=32){e=1<>>32-f}f=e;i=(1<>31<<2|i>>>30;p=i<<2;j=p+j|0;e=e+f|0;e=j>>>0

    >>0?e+1|0:e;f=j+o|0;e=f>>>0>>0?e+1|0:e;f=f+11|0;e=f>>>0<11?e+1|0:e;if(!e&(f&-4)>>>0>356|e){break d}t=v+16|0;o=g;e=i<<2;J=e+g|0;e=356-e|0;j=-46;e:{if(q>>>0>255){break e}f=e;h=k&31;I=(q<<1)+2|0;if((k&63)>>>0>=32){e=1<>>32-h}h=I+i|0;e=h>>>0>>0?e+1|0:e;h=h+8|0;e=h>>>0<8?e+1|0:e;if(!e&f>>>0>>0|e){break e}j=-44;if(k>>>0>12){break e}s=g+4|0;r=1<>16;f:{if(!q){g=0;e=f;break f}M=e&-2;e=f;g=0;j=0;while(1){w=g<<1;i=H[w+t>>1];g:{if((i|0)==65535){D[(s+(e<<2)|0)+2|0]=g;e=e-1|0;i=1;break g}p=(h|0)>i<<16>>16?p:0}E[w+J>>1]=i;w=g|1;L=w<<1;i=H[L+t>>1];h:{if((i|0)!=65535){p=(h|0)>i<<16>>16?p:0;break h}D[(s+(e<<2)|0)+2|0]=w;e=e-1|0;i=1}E[J+L>>1]=i;g=g+2|0;j=j+2|0;if((M|0)!=(j|0)){continue}break}}if(K){i=H[t+(g<<1)>>1];i:{if((i|0)!=65535){p=(h|0)>i<<16>>16?p:0;break i}D[(s+(e<<2)|0)+2|0]=g;e=e-1|0;i=1}E[J+(g<<1)>>1]=i}E[o+2>>1]=p;E[o>>1]=k;j:{if((e|0)==(f|0)){j=J+I|0;M=((r>>>3)+(r>>>1)|0)+3|0;I=0;g=0;while(1){h=g;K=E[t+(g<<1)>>1];w=j+I|0;e=w;D[e|0]=n;D[e+1|0]=n>>>8;D[e+2|0]=n>>>16;D[e+3|0]=n>>>24;D[e+4|0]=l;D[e+5|0]=l>>>8;D[e+6|0]=l>>>16;D[e+7|0]=l>>>24;k:{if((K|0)<9){break k}g=K-9|0;i=(g>>>3|0)+1|0;L=i&7;e=8;if(g>>>0>=56){i=i&1073741816;p=0;while(1){g=e+w|0;D[g|0]=n;x=n>>>8|0;D[g+1|0]=x;y=n>>>16|0;D[g+2|0]=y;z=n>>>24|0;D[g+3|0]=z;D[g+4|0]=l;A=l>>>8|0;D[g+5|0]=A;B=l>>>16|0;D[g+6|0]=B;C=l>>>24|0;D[g+7|0]=C;D[g+56|0]=n;D[g+57|0]=x;D[g+58|0]=y;D[g+59|0]=z;D[g+60|0]=l;D[g+61|0]=A;D[g+62|0]=B;D[g+63|0]=C;D[g+48|0]=n;D[g+49|0]=x;D[g+50|0]=y;D[g+51|0]=z;D[g+52|0]=l;D[g+53|0]=A;D[g+54|0]=B;D[g+55|0]=C;D[g+40|0]=n;D[g+41|0]=x;D[g+42|0]=y;D[g+43|0]=z;D[g+44|0]=l;D[g+45|0]=A;D[g+46|0]=B;D[g+47|0]=C;D[g+32|0]=n;D[g+33|0]=x;D[g+34|0]=y;D[g+35|0]=z;D[g+36|0]=l;D[g+37|0]=A;D[g+38|0]=B;D[g+39|0]=C;D[g+24|0]=n;D[g+25|0]=x;D[g+26|0]=y;D[g+27|0]=z;D[g+28|0]=l;D[g+29|0]=A;D[g+30|0]=B;D[g+31|0]=C;D[g+16|0]=n;D[g+17|0]=x;D[g+18|0]=y;D[g+19|0]=z;D[g+20|0]=l;D[g+21|0]=A;D[g+22|0]=B;D[g+23|0]=C;D[g+8|0]=n;D[g+9|0]=x;D[g+10|0]=y;D[g+11|0]=z;D[g+12|0]=l;D[g+13|0]=A;D[g+14|0]=B;D[g+15|0]=C;e=e- -64|0;p=p+8|0;if((i|0)!=(p|0)){continue}break}}g=0;if(!L){break k}while(1){i=e+w|0;D[i|0]=n;D[i+1|0]=n>>>8;D[i+2|0]=n>>>16;D[i+3|0]=n>>>24;D[i+4|0]=l;D[i+5|0]=l>>>8;D[i+6|0]=l>>>16;D[i+7|0]=l>>>24;e=e+8|0;g=g+1|0;if((L|0)!=(g|0)){continue}break}}l=l+16843009|0;n=n+16843009|0;l=n>>>0<16843009?l+1|0:l;g=h+1|0;I=I+K|0;if((h|0)!=(q|0)){continue}break}h=M<<1;g=0;e=0;while(1){D[(s+((e&f)<<2)|0)+2|0]=G[g+j|0];D[(s+((f&e+M)<<2)|0)+2|0]=G[j+(g|1)|0];e=f&e+h;g=g+2|0;if(r>>>0>g>>>0){continue}break}break j}h=((r>>>3)+(r>>>1)|0)+3|0;g=0;j=0;while(1){i=t+(j<<1)|0;if(E[i>>1]>0){p=0;while(1){D[(s+(g<<2)|0)+2|0]=j;while(1){g=f&g+h;if(g>>>0>e>>>0){continue}break}p=p+1|0;if((p|0)>1]){continue}break}}i=(j|0)!=(q|0);j=j+1|0;if(i){continue}break}j=-1;if(g){break e}}k=k+1|0;j=0;g=0;while(1){f=s+(g<<2)|0;h=J+(G[f+2|0]<<1)|0;e=H[h>>1];E[h>>1]=e+1;h=k+(O(e)^-32)|0;D[f+3|0]=h;E[f>>1]=(e<>>0>4294967176){break d}e=u-m|0;m=m+N|0;s=a+255|0;r=s-3|0;l:{m:{if(H[o+2>>1]){if(!e){h=-72;break d}n:{o:{if(e>>>0>=4){h=-1;f=G[(e+m|0)-1|0];if(!f){break d}if(e>>>0<=4294967176){break o}h=e;break d}i=G[m|0];p:{switch(e-2|0){case 1:i=G[m+2|0]<<16|i;case 0:i=(G[m+1|0]<<8)+i|0;break;default:break p}}f=G[(e+m|0)-1|0];if(!f){h=-20;break d}g=0;e=(O(f)-(e<<3)|0)+9|0;break n}g=e-4|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);e=O(f)-23|0}f=H[o>>1];k=f+e|0;j=i>>>0-k|0;h=F[(f<<2)+402992>>2];q:{if(k>>>0>32){break q}r:{if((g|0)>=4){i=k>>>3|0;k=k&7;break r}if(!g){g=0;break q}e=k>>>3|0;i=m>>>0>(g+m|0)-e>>>0?g:e;k=k-(i<<3)|0}g=g-i|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24)}l=h&j;p=o+4|0;e=f+k|0;k=h&i>>>0-e;if(e>>>0>32){f=e;e=a;break l}if((g|0)>=4){f=e&7;g=g-(e>>>3|0)|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);break m}if(!g){g=0;f=e;break m}f=e>>>3|0;h=m>>>0>(g+m|0)-f>>>0?g:f;g=g-h|0;f=m+g|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);f=e-(h<<3)|0;if(f>>>0<=32){break m}e=a;break l}if(!e){h=-72;break d}s:{t:{if(e>>>0>=4){h=-1;f=G[(e+m|0)-1|0];if(!f){break d}if(e>>>0<=4294967176){break t}h=e;break d}i=G[m|0];u:{switch(e-2|0){case 1:i=G[m+2|0]<<16|i;case 0:i=(G[m+1|0]<<8)+i|0;break;default:break u}}f=G[(e+m|0)-1|0];if(!f){h=-20;break d}g=0;e=(O(f)-(e<<3)|0)+9|0;break s}g=e-4|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);e=O(f)-23|0}f=H[o>>1];k=f+e|0;j=i>>>0-k|0;h=F[(f<<2)+402992>>2];v:{if(k>>>0>32){break v}w:{if((g|0)>=4){i=k>>>3|0;k=k&7;break w}if(!g){g=0;break v}e=k>>>3|0;i=m>>>0>(g+m|0)-e>>>0?g:e;k=k-(i<<3)|0}g=g-i|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24)}l=h&j;p=o+4|0;e=f+k|0;k=h&i>>>0-e;x:{if(e>>>0>32){f=e;e=a;break x}y:{if((g|0)>=4){f=e&7;g=g-(e>>>3|0)|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);break y}if(!g){g=0;f=e;break y}f=e>>>3|0;h=m>>>0>(g+m|0)-f>>>0?g:f;g=g-h|0;f=m+g|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);f=e-(h<<3)|0;if(f>>>0<=32){break y}e=a;break x}e=a;z:{A:{while(1){B:{if((g|0)>=4){j=f>>>3|0;h=0;f=f&7;break B}if(!g){g=0;break x}i=f>>>3|0;h=m>>>0>(g+m|0)-i>>>0;j=h?g:i;f=f-(j<<3)|0}n=g-j|0;o=n+m|0;i=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);if(h|e>>>0>=r>>>0){break z}h=p+(l<<2)|0;q=H[h>>1];l=G[h+3|0];D[e|0]=G[h+2|0];k=p+(k<<2)|0;t=H[k>>1];h=G[k+3|0];D[e+1|0]=G[k+2|0];f=f+l|0;l=(F[(l<<2)+402992>>2]&i>>>0-f)+q|0;k=F[(h<<2)+402992>>2];h=f+h|0;k=t+(k&i>>>0-h)|0;C:{if(h>>>0>32){break C}D:{if((n|0)>=4){f=h&7;g=n-(h>>>3|0)|0;h=m+g|0;i=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);break D}if((g|0)==(j|0)){break C}f=h>>>3|0;j=o-f|0;j=j>>>0>>0;g=j?n:f;f=h-(g<<3)|0;g=n-g|0;h=m+g|0;i=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);if(j){break A}}h=p+(l<<2)|0;l=H[h>>1];j=G[h+3|0];D[e+2|0]=G[h+2|0];k=p+(k<<2)|0;n=H[k>>1];h=G[k+3|0];D[e+3|0]=G[k+2|0];f=f+j|0;l=(F[(j<<2)+402992>>2]&i>>>0-f)+l|0;f=f+h|0;k=n+(F[(h<<2)+402992>>2]&i>>>0-f)|0;e=e+4|0;if(f>>>0<33){continue}break x}break}f=h;g=n}e=e+2|0;break x}g=n}h=-70;r=s-2|0;if(r>>>0>>0){break d}s=2;while(1){j=p+(l<<2)|0;t=H[j>>1];q=G[j+3|0];D[e|0]=G[j+2|0];n=e+1|0;E:{o=f+q|0;F:{if(o>>>0>32){l=k;break F}G:{H:{if((g|0)>=4){l=o>>>3|0;f=o&7;break H}if(!g){g=0;f=o;j=i;break G}f=o>>>3|0;l=m>>>0>(g+m|0)-f>>>0?g:f;f=o-(l<<3)|0}g=g-l|0;j=m+g|0;j=G[j|0]|G[j+1|0]<<8|(G[j+2|0]<<16|G[j+3|0]<<24)}if(n>>>0>r>>>0){break d}l=t+(F[(q<<2)+402992>>2]&i>>>0-o)|0;k=p+(k<<2)|0;o=H[k>>1];i=G[k+3|0];D[e+1|0]=G[k+2|0];n=e+2|0;f=f+i|0;if(f>>>0<=32){break E}s=3}D[n|0]=G[(p+(l<<2)|0)+2|0];h=(e+s|0)-a|0;break d}q=F[(i<<2)+402992>>2]&j>>>0-f;I:{J:{if((g|0)>=4){k=f>>>3|0;f=f&7;break J}if(!g){g=0;break I}e=f>>>3|0;k=m>>>0>(g+m|0)-e>>>0?g:e;f=f-(k<<3)|0}g=g-k|0;e=m+g|0;j=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24)}i=j;k=o+q|0;e=n;if(r>>>0>=e>>>0){continue}break}break d}e=a;K:{L:{while(1){M:{if((g|0)>=4){o=f>>>3|0;j=0;f=f&7;break M}if(!g){g=0;break l}h=f>>>3|0;j=m>>>0>(g+m|0)-h>>>0;o=j?g:h;f=f-(o<<3)|0}h=g-o|0;n=h+m|0;i=G[n|0]|G[n+1|0]<<8|(G[n+2|0]<<16|G[n+3|0]<<24);if(j|e>>>0>=r>>>0){break K}j=p+(l<<2)|0;l=H[j>>1];q=G[j+3|0];D[e|0]=G[j+2|0];k=p+(k<<2)|0;t=H[k>>1];j=G[k+3|0];D[e+1|0]=G[k+2|0];l=(i<>>0-q|0)+l|0;f=f+q|0;k=t+(i<>>0-j|0)|0;N:{j=f+j|0;if(j>>>0>32){break N}O:{if((h|0)>=4){f=j&7;g=h-(j>>>3|0)|0;h=m+g|0;i=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);break O}if((g|0)==(o|0)){break N}f=j>>>3|0;n=n-f|0;n=m>>>0>n>>>0;g=n?h:f;f=j-(g<<3)|0;g=h-g|0;h=m+g|0;i=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);if(n){break L}}h=p+(l<<2)|0;l=H[h>>1];j=G[h+3|0];D[e+2|0]=G[h+2|0];k=p+(k<<2)|0;n=H[k>>1];h=G[k+3|0];D[e+3|0]=G[k+2|0];l=(i<>>0-j|0)+l|0;f=f+j|0;k=n+(i<>>0-h|0)|0;e=e+4|0;f=f+h|0;if(f>>>0<33){continue}break l}break}f=j;g=h}e=e+2|0;break l}g=h}h=-70;r=s-2|0;if(r>>>0>>0){break d}s=2;while(1){j=p+(l<<2)|0;t=H[j>>1];q=G[j+3|0];D[e|0]=G[j+2|0];n=e+1|0;P:{j=f+q|0;Q:{if(j>>>0>32){l=k;break Q}R:{S:{if((g|0)>=4){o=j>>>3|0;j=j&7;break S}if(!g){g=0;o=i;break R}l=j;j=j>>>3|0;o=m>>>0>(g+m|0)-j>>>0?g:j;j=l-(o<<3)|0}g=g-o|0;l=m+g|0;o=G[l|0]|G[l+1|0]<<8|(G[l+2|0]<<16|G[l+3|0]<<24)}if(n>>>0>r>>>0){break d}l=t+(i<>>0-q|0)|0;f=p+(k<<2)|0;q=H[f>>1];k=G[f+3|0];D[e+1|0]=G[f+2|0];n=e+2|0;f=j+k|0;if(f>>>0<=32){break P}s=3}D[n|0]=G[(p+(l<<2)|0)+2|0];h=(e+s|0)-a|0;break d}j=o<>>0-k|0;T:{U:{if((g|0)>=4){k=f>>>3|0;f=f&7;break U}if(!g){g=0;i=o;break T}e=f>>>3|0;k=m>>>0>(g+m|0)-e>>>0?g:e;f=f-(k<<3)|0}g=g-k|0;e=m+g|0;i=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24)}k=j+q|0;e=n;if(r>>>0>=e>>>0){continue}break}}Ea=v+528|0;k=h;if(h>>>0>=4294967177){break b}}F[b>>2]=0;F[b+4>>2]=0;e=0;F[b+48>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;k=-20;if(!h){break b}f=0;while(1){g=a+f|0;i=G[g|0];if(i>>>0>11){break b}i=(i<<2)+b|0;F[i>>2]=F[i>>2]+1;e=(1<>1)+e|0;f=f+1|0;if((h|0)!=(f|0)){continue}break}if(!e){break b}f=O(e);g=f^31;if(g>>>0>11){break b}F[d>>2]=32-f;d=(2<>2]=F[a>>2]+1;a=F[b+4>>2];if(a>>>0<2|a&1){break b}F[c>>2]=h+1;k=u+1|0}return k}F[b>>2]=0;F[b+4>>2]=0;F[b+48>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0;F[b+32>>2]=0;F[b+36>>2]=0;F[b+24>>2]=0;F[b+28>>2]=0;F[b+16>>2]=0;F[b+20>>2]=0;F[b+8>>2]=0;F[b+12>>2]=0;return-20}function tc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,H=0,I=0;j=Ea-32|0;Ea=j;a:{if(F[a+104>>2]==8){b=F[a+120>>2];D[c+3|0]=b<<5|G[a+119|0]<<1|b<<2;b=F[a+140>>2];b:{if(G[a+119|0]){D[c|0]=b<<3;D[c+1|0]=G[a+144|0]<<3;b=G[a+148|0]<<3;break b}D[c|0]=b|b<<4;b=F[a+144>>2];D[c+1|0]=b<<4|b;b=F[a+148>>2];b=b<<4|b}D[c+2|0]=b;a=F[(F[a+136>>2]<<2)+10608>>2];D[c+4|0]=a;D[c+5|0]=a>>>8;D[c+6|0]=a>>>16;D[c+7|0]=a>>>24;break a}d=G[a+118|0];i=G[a+119|0];D[c+3|0]=d|i<<1|F[a+120>>2]<<5|F[a+124>>2]<<2;h=i?31:15;c:{if(7424>>>F[a+104>>2]&1){a=d<<5;d=((G[a+10639|0]<<4)+b|0)+(G[a+10638|0]<<2)|0;o=G[d|0];k=((G[a+10637|0]<<4)+b|0)+(G[a+10636|0]<<2)|0;p=G[k|0];g=((G[a+10635|0]<<4)+b|0)+(G[a+10634|0]<<2)|0;q=G[g|0];e=((G[a+10633|0]<<4)+b|0)+(G[a+10632|0]<<2)|0;r=G[e|0];m=((G[a+10631|0]<<4)+b|0)+(G[a+10630|0]<<2)|0;s=G[m|0];n=((G[a+10629|0]<<4)+b|0)+(G[a+10628|0]<<2)|0;t=G[n|0];f=((G[a+10627|0]<<4)+b|0)+(G[a+10626|0]<<2)|0;u=G[f|0];l=((G[a+10625|0]<<4)+b|0)+(G[a+10624|0]<<2)|0;v=G[l|0];w=G[d+1|0];x=G[k+1|0];y=G[g+1|0];z=G[e+1|0];A=G[m+1|0];B=G[n+1|0];C=G[f+1|0];H=G[l+1|0];D[j+10|0]=((L(h,G[d+2|0]+(G[k+2|0]+(G[g+2|0]+(G[e+2|0]+(G[m+2|0]+(G[n+2|0]+(G[l+2|0]+G[f+2|0]|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+9|0]=((L(h,w+(x+(y+(z+(A+(B+(C+H|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+8|0]=((L(h,o+(p+(q+(r+(s+(t+(u+v|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;d=((G[a+10655|0]<<4)+b|0)+(G[a+10654|0]<<2)|0;e=((G[a+10653|0]<<4)+b|0)+(G[a+10652|0]<<2)|0;m=((G[a+10651|0]<<4)+b|0)+(G[a+10650|0]<<2)|0;n=((G[a+10649|0]<<4)+b|0)+(G[a+10648|0]<<2)|0;f=((G[a+10647|0]<<4)+b|0)+(G[a+10646|0]<<2)|0;l=((G[a+10645|0]<<4)+b|0)+(G[a+10644|0]<<2)|0;o=((G[a+10641|0]<<4)+b|0)+(G[a+10640|0]<<2)|0;a=((G[a+10643|0]<<4)+b|0)+(G[a+10642|0]<<2)|0;k=((L(h,G[d+2|0]+(G[e+2|0]+(G[m+2|0]+(G[n+2|0]+(G[f+2|0]+(G[l+2|0]+(G[o+2|0]+G[a+2|0]|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040|0;g=((L(h,G[d+1|0]+(G[e+1|0]+(G[m+1|0]+(G[n+1|0]+(G[f+1|0]+(G[l+1|0]+(G[o+1|0]+G[a+1|0]|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040|0;a=((L(h,G[d|0]+(G[e|0]+(G[m|0]+(G[n|0]+(G[f|0]+(G[l|0]+(G[o|0]+G[a|0]|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040|0;break c}d=d<<5;k=((G[d+10639|0]<<4)+b|0)+(G[d+10638|0]<<2)|0;p=G[k|0];g=((G[d+10637|0]<<4)+b|0)+(G[d+10636|0]<<2)|0;q=G[g|0];e=((G[d+10635|0]<<4)+b|0)+(G[d+10634|0]<<2)|0;r=G[e|0];m=((G[d+10633|0]<<4)+b|0)+(G[d+10632|0]<<2)|0;s=G[m|0];n=((G[d+10631|0]<<4)+b|0)+(G[d+10630|0]<<2)|0;t=G[n|0];f=((G[d+10629|0]<<4)+b|0)+(G[d+10628|0]<<2)|0;u=G[f|0];l=((G[d+10627|0]<<4)+b|0)+(G[d+10626|0]<<2)|0;v=G[l|0];o=((G[d+10625|0]<<4)+b|0)+(G[d+10624|0]<<2)|0;w=G[o|0];x=G[k+1|0];y=G[g+1|0];z=G[e+1|0];A=G[m+1|0];B=G[n+1|0];C=G[f+1|0];H=G[l+1|0];I=G[o+1|0];k=G[k+2|0];g=G[g+2|0];e=G[e+2|0];m=G[m+2|0];n=G[n+2|0];f=G[f+2|0];l=G[l+2|0];o=G[o+2|0];a=F[a+128>>2];D[j+11|0]=0;D[j+10|0]=((L(h,k+(g+(e+(m+(n+(f+(l+o|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+9|0]=((L(h,x+(y+(z+(A+(B+(C+(H+I|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+8|0]=((L(h,p+(q+(r+(s+(t+(u+(v+w|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;o=j+16|0;hc(o,j+8|0,a,h,0);F[j+8>>2]=F[j+16>>2];k=((G[d+10655|0]<<4)+b|0)+(G[d+10654|0]<<2)|0;p=G[k|0];g=((G[d+10653|0]<<4)+b|0)+(G[d+10652|0]<<2)|0;q=G[g|0];e=((G[d+10651|0]<<4)+b|0)+(G[d+10650|0]<<2)|0;r=G[e|0];m=((G[d+10649|0]<<4)+b|0)+(G[d+10648|0]<<2)|0;s=G[m|0];n=((G[d+10647|0]<<4)+b|0)+(G[d+10646|0]<<2)|0;t=G[n|0];f=((G[d+10645|0]<<4)+b|0)+(G[d+10644|0]<<2)|0;u=G[f|0];l=((G[d+10643|0]<<4)+b|0)+(G[d+10642|0]<<2)|0;v=G[l|0];d=((G[d+10641|0]<<4)+b|0)+(G[d+10640|0]<<2)|0;w=G[d|0];x=G[k+1|0];y=G[g+1|0];z=G[e+1|0];A=G[m+1|0];B=G[n+1|0];C=G[f+1|0];H=G[l+1|0];I=G[d+1|0];k=G[k+2|0];g=G[g+2|0];e=G[e+2|0];m=G[m+2|0];n=G[n+2|0];f=G[f+2|0];l=G[l+2|0];d=G[d+2|0];D[j+15|0]=0;D[j+14|0]=((L(h,k+(g+(e+(m+(n+(f+(d+l|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+13|0]=((L(h,x+(y+(z+(A+(B+(C+(H+I|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;D[j+12|0]=((L(h,p+(q+(r+(s+(t+(u+(v+w|0)|0)|0)|0)|0)|0)|0)+1020&65535)>>>0)/2040;hc(o,j+12|0,a,h,1);a=F[j+16>>2];k=a>>>16|0;g=a>>>8|0}h=G[j+8|0];d:{if(i){i=G[j+10|0];d=(k&255)-i|0;k=(d|0)>=3?3:d;d=((k|0)<=-4?-4:k)+(d>>>28&8)|i<<3;k=G[j+9|0];i=(g&255)-k|0;g=(i|0)>=3?3:i;k=((g|0)<=-4?-4:g)+(i>>>28&8)|k<<3;a=(a&255)-h|0;i=(a|0)>=3?3:a;a=((i|0)<=-4?-4:i)+(a>>>28&8)|h<<3;break d}d=G[j+10|0]<<4|k;k=G[j+9|0]<<4|g;a=h<<4|a}D[c+2|0]=d;D[c+1|0]=k;D[c|0]=a;m=0;n=0;a=1;k=0;while(1){i=G[c|0];f=G[c+3|0];e:{if(f&2){if(k){h=G[c+1|0];g=h<<3&56;d=G[c+2|0];e=g|d&7;h=((e>>>0>31?-8:0)|g>>>3)+(h>>>3|0)|0;g=e&7;e=((g>>>0>3?-8:0)|g)+(d>>>3|0)|0;d=i&7;d=((d>>>0>3?-8:0)|d)+((i&248)>>>3|0)|0;if((e|(d|h))>>>0>=32){i=(e|0)>=31?31:e;e=(i|0)>0?i:0;h=(h|0)>=31?31:h;h=(h|0)>0?h:0;d=(d|0)>=31?31:d;d=(d|0)>0?d:0}i=h<<3|h>>>2;g=d<<3|d>>>2;d=e<<3|e>>>2;break e}g=i&-8|(i&224)>>>5;d=G[c+1|0];i=(d<<3&1792|d<<8&63488)>>>8|0;d=L(G[c+2|0]>>>3|0,540672)>>>16|0;break e}d=G[c+2|0];g=G[c+1|0];f:{if(k){h=d&15;i=i&15;d=g&15;break f}h=(d&240)>>>4|0;i=(i&240)>>>4|0;d=(g&240)>>>4|0}g=L(i,17);i=L(d,17);d=L(h,17)}D[j+31|0]=255;D[j+27|0]=255;D[j+23|0]=255;D[j+19|0]=255;h=(f>>>(k?2:5)&7)<<4;f=F[h+12764>>2];d=d&255;e=f+d|0;l=(e|0)>=255?255:e;D[j+30|0]=e>>>0<256?e:(l|0)>0?l:0;i=i&255;e=i+f|0;l=(e|0)>=255?255:e;D[j+29|0]=e>>>0<256?e:(l|0)>0?l:0;g=g&255;e=g+f|0;f=(e|0)>=255?255:e;D[j+28|0]=e>>>0<256?e:(f|0)>0?f:0;f=F[h+12760>>2];e=f+d|0;l=(e|0)>=255?255:e;D[j+26|0]=e>>>0<256?e:(l|0)>0?l:0;e=f+i|0;l=(e|0)>=255?255:e;D[j+25|0]=e>>>0<256?e:(l|0)>0?l:0;e=f+g|0;f=(e|0)>=255?255:e;D[j+24|0]=e>>>0<256?e:(f|0)>0?f:0;f=F[h+12756>>2];e=f+d|0;l=(e|0)>=255?255:e;D[j+22|0]=e>>>0<256?e:(l|0)>0?l:0;e=f+i|0;l=(e|0)>=255?255:e;D[j+21|0]=e>>>0<256?e:(l|0)>0?l:0;e=f+g|0;f=(e|0)>=255?255:e;D[j+20|0]=e>>>0<256?e:(f|0)>0?f:0;h=F[h+12752>>2];d=h+d|0;e=(d|0)>=255?255:d;D[j+18|0]=d>>>0<256?d:(e|0)>0?e:0;d=h+i|0;i=(d|0)>=255?255:d;D[j+17|0]=d>>>0<256?d:(i|0)>0?i:0;d=g+h|0;h=(d|0)>=255?255:d;D[j+16|0]=d>>>0<256?d:(h|0)>0?h:0;i=(L(G[j+25|0],183)+L(G[j+24|0],54)|0)+L(G[j+26|0],19)|0;h=(L(G[j+21|0],183)+L(G[j+20|0],54)|0)+L(G[j+22|0],19)|0;d=i+h|0;h=h+((L(G[j+17|0],183)+L(G[j+16|0],54)|0)+L(G[j+18|0],19)|0)|0;i=((i+L(G[j+28|0],54)|0)+L(G[j+29|0],183)|0)+L(G[j+30|0],19)|0;e=k<<3;k=k<<1;g:{if(D[c+3|0]&1){g=e<<2;e=(g|4)+b|0;e=(L(G[e+1|0],366)+L(G[e|0],108)|0)+L(G[e+2|0],38)|0;l=G[(((e>>>0>>0)+(d>>>0>e>>>0)|0)+(e>>>0>>0)|0)+398317|0];o=k|4;e=b+g|0;e=(L(G[e+1|0],366)+L(G[e|0],108)|0)+L(G[e+2|0],38)|0;p=G[(((e>>>0>>0)+(d>>>0>e>>>0)|0)+(e>>>0>>0)|0)+398317|0];e=(g|8)+b|0;e=(L(G[e+1|0],366)+L(G[e|0],108)|0)+L(G[e+2|0],38)|0;q=G[(((e>>>0>>0)+(d>>>0>e>>>0)|0)+(e>>>0>>0)|0)+398317|0];r=k|8;g=(g|12)+b|0;g=(L(G[g+1|0],366)+L(G[g|0],108)|0)+L(G[g+2|0],38)|0;s=G[(((g>>>0>>0)+(d>>>0>g>>>0)|0)+(g>>>0>>0)|0)+398317|0];t=k|12;e=k|1;g=(e<<4)+b|0;f=(L(G[g+1|0],366)+L(G[g|0],108)|0)+L(G[g+2|0],38)|0;u=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];f=(L(G[g+5|0],366)+L(G[g+4|0],108)|0)+L(G[g+6|0],38)|0;v=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];w=k|5;g=(L(G[g+9|0],366)+L(G[g+8|0],108)|0)+L(G[g+10|0],38)|0;g=G[(((g>>>0>>0)+(d>>>0>g>>>0)|0)+(g>>>0>>0)|0)+398317|0];x=k|9;f=l>>>1<>>1<>>1<>>1<>>1<>>1<>>1<>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];o=e|1;f=b+g|0;f=(L(G[f+1|0],366)+L(G[f|0],108)|0)+L(G[f+2|0],38)|0;p=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];f=(g|32)+b|0;f=(L(G[f+1|0],366)+L(G[f|0],108)|0)+L(G[f+2|0],38)|0;q=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];r=e|2;f=(g|48)+b|0;f=(L(G[f+1|0],366)+L(G[f|0],108)|0)+L(G[f+2|0],38)|0;s=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];t=e|3;f=(g|4)+b|0;f=(L(G[f+1|0],366)+L(G[f|0],108)|0)+L(G[f+2|0],38)|0;u=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];v=e|4;f=(g|20)+b|0;f=(L(G[f+1|0],366)+L(G[f|0],108)|0)+L(G[f+2|0],38)|0;w=G[(((f>>>0>>0)+(d>>>0>f>>>0)|0)+(f>>>0>>0)|0)+398317|0];x=e|5;g=(g|36)+b|0;g=(L(G[g+1|0],366)+L(G[g|0],108)|0)+L(G[g+2|0],38)|0;g=G[(((g>>>0>>0)+(d>>>0>g>>>0)|0)+(g>>>0>>0)|0)+398317|0];y=e|6;f=l>>>1<>>1<>>1<>>1<>>1<>>1<>>1<>>0>h>>>0)+(d>>>0>h>>>0)|0)+(h>>>0>>0)|0)+398317|0];n=d>>>1<>>8;E[c+6>>1]=m<<8|(m&65280)>>>8}Ea=j+32|0}function Eb(a,b,c,d,e,f,g){var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=Ea-240|0;Ea=h;a:{if(F[a>>2]){break a}F[h+232>>2]=0;F[h+236>>2]=0;F[h+224>>2]=0;F[h+228>>2]=0;F[h+216>>2]=0;F[h+220>>2]=0;F[h+208>>2]=0;F[h+200>>2]=0;F[h+204>>2]=0;F[h+192>>2]=0;F[h+196>>2]=0;F[h+184>>2]=0;F[h+188>>2]=0;F[h+176>>2]=0;F[h+180>>2]=0;F[h+168>>2]=0;F[h+160>>2]=0;F[h+164>>2]=0;F[h+152>>2]=0;F[h+156>>2]=0;F[h+144>>2]=0;F[h+148>>2]=0;F[h+136>>2]=0;F[h+140>>2]=0;F[h+128>>2]=0;F[h+120>>2]=0;F[h+124>>2]=0;F[h+112>>2]=0;F[h+116>>2]=0;F[h+104>>2]=0;F[h+108>>2]=0;F[h+96>>2]=0;F[h+100>>2]=0;F[h+88>>2]=0;F[h+80>>2]=0;F[h+84>>2]=0;F[h+72>>2]=0;F[h+76>>2]=0;j=h- -64|0;F[j>>2]=0;F[j+4>>2]=0;F[h+56>>2]=0;F[h+60>>2]=0;b:{if(!(d?c:1)){break b}F[h+232>>2]=0;F[h+236>>2]=0;F[h+224>>2]=c;F[h+220>>2]=c;F[h+216>>2]=d;F[h+228>>2]=c+d;c=h+216|0;if(!bb(c,h+176|0)){break b}if(!bb(c,h+136|0)){break b}if(!bb(c,h+96|0)){break b}if(!bb(c,h+56|0)|!F[h+180>>2]|(!F[h+140>>2]|!F[h+100>>2])|!F[h+60>>2]){break b}c=F[h+236>>2];c:{if(c){i=F[h+232>>2];break c}d=F[h+232>>2];c=F[h+220>>2];if(c>>>0>2]){F[h+220>>2]=c+1;c=G[c|0]}else{c=0}i=c|d;c=8}F[h+236>>2]=c-1;F[h+232>>2]=i>>>1;l=b;c=a+4|0;d=F[c+4>>2];if((d|0)!=(b|0)){if(!(b>>>0>>0|I[c+8>>2]>=b>>>0)){Wa(c,b,(d+1|0)==(b|0),8)}F[c+4>>2]=l}F[h+52>>2]=1052688;if(l){q=i&1;while(1){j=F[h+236>>2];d:{if(j>>>0>=16){k=F[h+232>>2];break d}i=0;b=F[h+220>>2];c=F[h+228>>2];e:{if(b>>>0>=c>>>0){d=b;break e}d=b+1|0;F[h+220>>2]=d;i=G[b|0]}k=F[h+232>>2];b=j+8|0;F[h+236>>2]=b;k=k|i<>2]=k;if(j>>>0>7){j=b;break d}i=0;if(c>>>0>d>>>0){F[h+220>>2]=d+1;i=G[d|0]}j=j+16|0;F[h+236>>2]=j;k=i<>2]=k}c=F[F[h+68>>2]+((k&1023)<<2)>>2];f:{if((c|0)<0){i=10;b=F[h+80>>2];while(1){d=k>>>i|0;i=i+1|0;c=E[b+((d&1)+(c^-1)<<1)>>1];if((c|0)<0){continue}break}break f}i=c>>>16|0;c=c&65535}F[h+236>>2]=j-i;F[h+232>>2]=k>>>i;n=o<<3;D[(n+F[a+4>>2]|0)+4|0]=c+s&7;s=G[(n+F[a+4>>2]|0)+4|0];j=0;while(1){g:{h:{i:{j:{k:{l:{m:{r=(h+52|0)+j|0;p=G[r|0];if(p>>>0<=9){b=F[h+236>>2];n:{if(b>>>0>=16){k=F[h+232>>2];break n}i=0;c=F[h+220>>2];m=F[h+228>>2];o:{if(c>>>0>=m>>>0){d=c;break o}d=c+1|0;F[h+220>>2]=d;i=G[c|0]}k=F[h+232>>2];c=b+8|0;F[h+236>>2]=c;k=k|i<>2]=k;if(b>>>0>7){b=c;break n}i=0;if(d>>>0>>0){F[h+220>>2]=d+1;i=G[d|0]}b=b+16|0;F[h+236>>2]=b;k=i<>2]=k}i=F[F[h+188>>2]+((k&1023)<<2)>>2];if((i|0)>=0){break m}c=10;d=F[h+200>>2];while(1){m=k>>>c|0;c=c+1|0;i=E[d+((m&1)+(i^-1)<<1)>>1];if((i|0)<0){continue}break}break h}b=F[h+236>>2];if(p>>>0<=21){p:{if(b>>>0>=16){k=F[h+232>>2];break p}i=0;c=F[h+220>>2];m=F[h+228>>2];q:{if(c>>>0>=m>>>0){d=c;break q}d=c+1|0;F[h+220>>2]=d;i=G[c|0]}k=F[h+232>>2];c=b+8|0;F[h+236>>2]=c;k=k|i<>2]=k;if(b>>>0>7){b=c;break p}i=0;if(d>>>0>>0){F[h+220>>2]=d+1;i=G[d|0]}b=b+16|0;F[h+236>>2]=b;k=i<>2]=k}i=F[F[h+148>>2]+((k&1023)<<2)>>2];if((i|0)>=0){break l}c=10;d=F[h+160>>2];while(1){m=k>>>c|0;c=c+1|0;i=E[d+((m&1)+(i^-1)<<1)>>1];if((i|0)<0){continue}break}break i}r:{if(b>>>0>=16){k=F[h+232>>2];break r}i=0;c=F[h+220>>2];m=F[h+228>>2];s:{if(c>>>0>=m>>>0){d=c;break s}d=c+1|0;F[h+220>>2]=d;i=G[c|0]}k=F[h+232>>2];c=b+8|0;F[h+236>>2]=c;k=k|i<>2]=k;if(b>>>0>7){b=c;break r}i=0;if(d>>>0>>0){F[h+220>>2]=d+1;i=G[d|0]}b=b+16|0;F[h+236>>2]=b;k=i<>2]=k}i=F[F[h+108>>2]+((k&1023)<<2)>>2];if((i|0)>=0){break k}c=10;d=F[h+120>>2];while(1){m=k>>>c|0;c=c+1|0;i=E[d+((m&1)+(i^-1)<<1)>>1];if((i|0)<0){continue}break}break j}c=i>>>16|0;i=i&65535;break h}c=i>>>16|0;i=i&65535;break i}c=i>>>16|0;i=i&65535}F[h+232>>2]=k>>>c;b=b-c|0;break g}F[h+232>>2]=k>>>c;b=b-c|0;break g}F[h+232>>2]=k>>>c;b=b-c|0}F[h+236>>2]=b;b=i+p&31;D[(n+F[a+4>>2]|0)+j|0]=b;D[r|0]=b;if(!q){b=j>>>0<2;j=j+1|0;if(b){continue}}break}if(q){b=n+F[a+4>>2]|0;D[b+1|0]=G[b|0];b=n+F[a+4>>2]|0;D[b+2|0]=G[b|0]}o=o+1|0;if((l|0)!=(o|0)){continue}break}}i=0;b=a+16|0;c=F[b+4>>2];if((c|0)!=(e|0)){if(!(c>>>0>e>>>0|I[b+8>>2]>=e>>>0)){Wa(b,e,(c+1|0)==(e|0),11)}F[b+4>>2]=e}if(!(g?f:1)){break b}F[h+224>>2]=f;F[h+220>>2]=f;F[h+216>>2]=g;F[h+228>>2]=f+g;F[h+48>>2]=0;F[h+40>>2]=0;F[h+44>>2]=0;F[h+32>>2]=0;F[h+36>>2]=0;F[h+24>>2]=0;F[h+28>>2]=0;F[h+16>>2]=0;F[h+20>>2]=0;c=0;if((g|0)>0){F[h+220>>2]=f+1;c=G[f|0]}F[h+236>>2]=7;F[h+232>>2]=c>>>1;t:{if(c&1){break t}F[h+236>>2]=6;F[h+232>>2]=c>>>2;if(c&2){break t}F[h+236>>2]=5;F[h+232>>2]=c>>>3;u:{if(c&4){if(!e){break u}f=0;while(1){i=0;while(1){b=F[h+236>>2];v:{if(b>>>0>=8){d=b;b=F[h+232>>2];break v}c=0;d=F[h+220>>2];if(d>>>0>2]){F[h+220>>2]=d+1;c=G[d|0]}d=b+8|0;b=F[h+232>>2]|c<>2]=d-8;F[h+232>>2]=b>>>8;c=L(f,11);d=c+F[a+16>>2]|0;g=d+i|0;j=b&3;D[g|0]=j|G[g|0]&252;g=Ye(i);d=d-(i>>>3|0)|0;j=G[j+74693|0];D[d+7|0]=g&G[d+7|0]|(j&1)<>>1<>2]|0;g=d+i|0;j=b>>>2&3;D[g|0]=G[g|0]&243|j<<2;g=i+4|0;d=d-(g>>>3|0)|0;l=16<>>1<>2]|0;g=d+i|0;l=b>>>4&3;D[g|0]=G[g|0]&207|l<<4;g=i&7;j=Ye(g);d=d-(i+8>>>3|0)|0;l=G[l+74693|0];D[d+7|0]=j&G[d+7|0]|(l&1)<>>1<>2]|0;g=d+i|0;D[g|0]=G[g|0]&63|b&192;g=i+12|0;d=d-(g>>>3|0)|0;g=g&7;j=Ye(g);b=G[(b>>>6&3)+74693|0];D[d+7|0]=j&G[d+7|0]|(b&1)<>>1<>2]|0);i=1;f=f+1|0;if((f|0)!=(e|0)){continue}break}break t}if(!bb(h+216|0,h+16|0)|!F[h+20>>2]&e>>>0>=2){break t}f=0;F[h+12>>2]=0;if(!e){break u}while(1){i=0;w:{if(!f){while(1){g=(h+12|0)+i|0;b=F[h+236>>2];x:{if(b>>>0>=8){d=b;b=F[h+232>>2];break x}c=0;d=F[h+220>>2];if(d>>>0>2]){F[h+220>>2]=d+1;c=G[d|0]}d=b+8|0;b=F[h+232>>2]|c<>2]=d-8;F[h+232>>2]=b>>>8;c=F[a+16>>2];d=c+i|0;g=b&3;D[d|0]=g|G[d|0]&252;d=Ye(i);c=c-(i>>>3|0)|0;g=G[g+74693|0];D[c+7|0]=d&G[c+7|0]|(g&1)<>>1<>2];d=c+i|0;g=b>>>2&3;D[d|0]=G[d|0]&243|g<<2;d=i+4|0;c=c-(d>>>3|0)|0;j=16<>>1<>2];d=c+i|0;j=b>>>4&3;D[d|0]=G[d|0]&207|j<<4;d=i&7;g=Ye(d);c=c-(i+8>>>3|0)|0;j=G[j+74693|0];D[c+7|0]=g&G[c+7|0]|(j&1)<>>1<>2];d=c+i|0;D[d|0]=G[d|0]&63|b&192;d=i+12|0;c=c-(d>>>3|0)|0;d=d&7;g=Ye(d);b=G[(b>>>6&3)+74693|0];D[c+7|0]=g&G[c+7|0]|(b&1)<>>1<>2];break w}while(1){g=0;j=10;b=F[h+236>>2];y:{if(b>>>0>=16){l=F[h+232>>2];break y}l=F[h+232>>2];d=F[h+220>>2];k=F[h+228>>2];z:{if(d>>>0>=k>>>0){c=d;break z}c=d+1|0;F[h+220>>2]=c;g=G[d|0]}d=b+8|0;F[h+236>>2]=d;l=l|g<>2]=l;if(b>>>0>7){b=d;break y}g=0;if(c>>>0>>0){F[h+220>>2]=c+1;g=G[c|0]}b=b+16|0;F[h+236>>2]=b;l=g<>2]=l}g=F[F[h+28>>2]+((l&1023)<<2)>>2];A:{if((g|0)<0){c=F[h+40>>2];while(1){d=l>>>j|0;j=j+1|0;g=E[c+((d&1)+(g^-1)<<1)>>1];if((g|0)<0){continue}break}break A}j=g>>>16|0;g=g&65535}F[h+236>>2]=b-j;F[h+232>>2]=l>>>j;c=(h+12|0)+i|0;b=G[c|0]^g;D[c|0]=b;c=L(f,11);d=c+F[a+16>>2]|0;g=d+i|0;j=b&3;D[g|0]=j|G[g|0]&252;g=Ye(i);d=d-(i>>>3|0)|0;j=G[j+74693|0];D[d+7|0]=g&G[d+7|0]|(j&1)<>>1<>2]|0;g=d+i|0;j=b>>>2&3;D[g|0]=G[g|0]&243|j<<2;g=i+4|0;d=d-(g>>>3|0)|0;l=16<>>1<>2]|0;g=d+i|0;l=b>>>4&3;D[g|0]=G[g|0]&207|l<<4;g=i&7;j=Ye(g);d=d-(i+8>>>3|0)|0;l=G[l+74693|0];D[d+7|0]=j&G[d+7|0]|(l&1)<>>1<>2]|0;g=d+i|0;D[g|0]=G[g|0]&63|b&192;g=i+12|0;d=d-(g>>>3|0)|0;g=g&7;j=Ye(g);b=G[(b>>>6&3)+74693|0];D[d+7|0]=j&G[d+7|0]|(b&1)<>>1<>2]|0}dc(b);f=f+1|0;if((f|0)!=(e|0)){continue}break}}i=1}a=F[h+40>>2];if(a){Ra(a)}a=F[h+28>>2];if(a){Ra(a)}a=F[h+16>>2];if(a){Ra(a)}}a=F[h+80>>2];if(a){Ra(a)}a=F[h+68>>2];if(a){Ra(a)}a=F[h+56>>2];if(a){Ra(a)}a=F[h+120>>2];if(a){Ra(a)}a=F[h+108>>2];if(a){Ra(a)}a=F[h+96>>2];if(a){Ra(a)}a=F[h+160>>2];if(a){Ra(a)}a=F[h+148>>2];if(a){Ra(a)}a=F[h+136>>2];if(a){Ra(a)}a=F[h+200>>2];if(a){Ra(a)}a=F[h+188>>2];if(a){Ra(a)}a=F[h+176>>2];if(!a){break a}Ra(a)}Ea=h+240|0;return i}function Jc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0;m=Ea-32|0;Ea=m;j=-20;a:{if(d>>>0<10){break a}i=G[c+4|0]|G[c+5|0]<<8;f=G[c|0]|G[c+1|0]<<8;k=f+6|0;g=G[c+2|0]|G[c+3|0]<<8;u=i+(k+g|0)|0;if(u>>>0>d>>>0){break a}if(!f){j=-72;break a}h=c+6|0;Q=H[e+2>>1];b:{if(f>>>0>=4){j=-1;h=G[(f+h|0)-1|0];if(!h){break a}q=f+2|0;f=q+c|0;l=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);f=O(h)-23|0;break b}l=G[h|0];c:{switch(f-2|0){case 1:l=G[c+8|0]<<16|l;case 0:l=(G[c+7|0]<<8)+l|0;break;default:break c}}h=G[(f+h|0)-1|0];if(!h){break a}q=6;f=(O(h)-(f<<3)|0)+9|0}if(!g){j=-72;break a}w=c+k|0;d:{if(g>>>0>=4){j=-1;k=G[(g+w|0)-1|0];if(!k){break a}s=g-4|0;h=w+s|0;o=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);h=O(k)-23|0;break d}o=G[w|0];e:{switch(g-2|0){case 1:o=G[w+2|0]<<16|o;case 0:o=(G[w+1|0]<<8)+o|0;break;default:break e}}h=G[(g+w|0)-1|0];if(!h){j=-20;break a}h=(O(h)-(g<<3)|0)+9|0}j=-72;if(!i){break a}z=g+w|0;k=i+z|0;f:{if(i>>>0>=4){j=-1;x=G[k-1|0];if(!x){break a}t=i-4|0;g=z+t|0;y=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24);g=O(x)-23|0;break f}y=G[z|0];g:{switch(i-2|0){case 1:y=G[z+2|0]<<16|y;case 0:y=(G[z+1|0]<<8)+y|0;break;default:break g}}g=G[k-1|0];if(!g){j=-20;break a}g=(O(g)-(i<<3)|0)+9|0}j=Kc(m+12|0,k,d-u|0);if(j>>>0>4294967176){break a}n=e+4|0;p=F[m+12>>2];d=b+3>>>2|0;u=d+a|0;x=d+u|0;C=d+x|0;K=a+b|0;L=K-3|0;h:{if(C>>>0>=L>>>0){k=C;i=x;d=u;break h}j=0-Q&31;v=F[m+20>>2];e=F[m+16>>2];R=F[m+28>>2];d=u;i=x;k=C;while(1){r=(l<>>j<<2)+n|0;A=H[r>>1];D[a|0]=A;D[a+1|0]=A>>>8;A=G[r+2|0];E=G[r+3|0];r=(o<>>j<<2)+n|0;B=H[r>>1];D[d|0]=B;D[d+1|0]=B>>>8;B=G[r+2|0];M=G[r+3|0];r=(y<>>j<<2)+n|0;J=H[r>>1];D[i|0]=J;D[i+1|0]=J>>>8;J=G[r+2|0];N=G[r+3|0];r=(p<>>j<<2)+n|0;I=H[r>>1];D[k|0]=I;D[k+1|0]=I>>>8;I=G[r+2|0];P=G[r+3|0];r=a+E|0;f=f+A|0;a=(l<>>j<<2)+n|0;A=H[a>>1];D[r|0]=A;D[r+1|0]=A>>>8;A=G[a+2|0];S=G[a+3|0];d=d+M|0;h=h+B|0;a=(o<>>j<<2)+n|0;E=H[a>>1];D[d|0]=E;D[d+1|0]=E>>>8;E=G[a+2|0];M=G[a+3|0];i=i+N|0;g=g+J|0;a=(y<>>j<<2)+n|0;B=H[a>>1];D[i|0]=B;D[i+1|0]=B>>>8;J=G[a+2|0];N=G[a+3|0];k=k+P|0;I=e+I|0;e=(p<>>j<<2)+n|0;a=H[e>>1];D[k|0]=a;D[k+1|0]=a>>>8;f=f+A|0;if((q|0)<10){A=3}else{q=q-(f>>>3|0)|0;a=q+c|0;l=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);f=f&7;A=0}P=G[e+3|0];e=G[e+2|0];h=h+E|0;E=3;if((s|0)<4){B=3}else{s=s-(h>>>3|0)|0;a=w+s|0;o=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);h=h&7;B=0}g=g+J|0;if((t|0)>=4){t=t-(g>>>3|0)|0;a=z+t|0;y=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);E=0;g=g&7}e=e+I|0;a=r+S|0;d=d+M|0;i=i+N|0;if(v>>>0>>0){r=3}else{v=v-(e>>>3|0)|0;p=G[v|0]|G[v+1|0]<<8|(G[v+2|0]<<16|G[v+3|0]<<24);e=e&7;r=0}k=k+P|0;if(!(r|(A|B|E))&L>>>0>k>>>0){continue}break}F[m+20>>2]=v;F[m+16>>2]=e}F[m+12>>2]=p;if(a>>>0>u>>>0){j=-20;break a}if(d>>>0>x>>>0){j=-20;break a}j=-20;if(i>>>0>C>>>0){break a}j=0-Q&31;i:{j:{if(f>>>0<=32){v=u-3|0;while(1){k:{if((q|0)>=10){l=f>>>3|0;p=0;e=f&7;break k}if((q|0)==6){p=u-2|0;q=6;e=f;break j}e=f>>>3|0;p=(q-e|0)<6;l=p?q-6|0:e;e=f-(l<<3)|0}q=q-l|0;f=q+c|0;l=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);if(!(!p&a>>>0>>0)){p=u-2|0;if(e>>>0<=32){break j}f=e;break i}f=(l<>>j<<2)+n|0;p=H[f>>1];D[a|0]=p;D[a+1|0]=p>>>8;a=G[f+3|0]+a|0;f=G[f+2|0]+e|0;e=(l<>>j<<2)+n|0;p=H[e>>1];D[a|0]=p;D[a+1|0]=p>>>8;a=a+G[e+3|0]|0;f=f+G[e+2|0]|0;if(f>>>0<=32){continue}break}}p=u-2|0;break i}while(1){l:{if((q|0)>=10){l=e>>>3|0;v=0;f=e&7;break l}if((q|0)==6){q=6;f=e;break i}f=e>>>3|0;v=(q-f|0)<6;l=v?q-6|0:f;f=e-(l<<3)|0}q=q-l|0;e=q+c|0;l=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);if(v|a>>>0>p>>>0){break i}e=(l<>>j<<2)+n|0;v=H[e>>1];D[a|0]=v;D[a+1|0]=v>>>8;a=G[e+3|0]+a|0;e=G[e+2|0]+f|0;if(e>>>0<=32){continue}break}f=e}if(a>>>0<=p>>>0){while(1){c=(l<>>j<<2)+n|0;e=H[c>>1];D[a|0]=e;D[a+1|0]=e>>>8;f=G[c+2|0]+f|0;a=G[c+3|0]+a|0;if(p>>>0>=a>>>0){continue}break}}m:{if(a>>>0>=u>>>0){break m}e=a;c=l<>>j|0;a=(c<<2)+n|0;D[e|0]=G[a|0];if(G[a+3|0]==1){f=G[a+2|0]+f|0;break m}if(f>>>0>31){break m}a=G[((c<<2)+n|0)+2|0]+f|0;f=a>>>0>=32?32:a}n:{o:{if(h>>>0<=32){u=x-3|0;while(1){p:{if((s|0)>=4){a=h>>>3|0;e=0;c=h&7;break p}if(!s){a=x-2|0;s=0;l=w;c=h;break o}a=h>>>3|0;e=(w+s|0)-a>>>0>>0;a=e?s:a;c=h-(a<<3)|0}s=s-a|0;l=w+s|0;o=G[l|0]|G[l+1|0]<<8|(G[l+2|0]<<16|G[l+3|0]<<24);if(!(!e&d>>>0>>0)){a=x-2|0;if(c>>>0<=32){break o}h=c;break n}a=(o<>>j<<2)+n|0;e=H[a>>1];D[d|0]=e;D[d+1|0]=e>>>8;d=G[a+3|0]+d|0;c=G[a+2|0]+c|0;a=(o<>>j<<2)+n|0;e=H[a>>1];D[d|0]=e;D[d+1|0]=e>>>8;d=d+G[a+3|0]|0;h=c+G[a+2|0]|0;if(h>>>0<=32){continue}break}}l=w+s|0;a=x-2|0;break n}while(1){q:{if((s|0)>=4){e=c>>>3|0;p=0;h=c&7;break q}if(!s){h=c;break n}e=c>>>3|0;p=l-e>>>0>>0;e=p?s:e;h=c-(e<<3)|0}s=s-e|0;l=w+s|0;o=G[l|0]|G[l+1|0]<<8|(G[l+2|0]<<16|G[l+3|0]<<24);if(p|a>>>0>>0){break n}c=(o<>>j<<2)+n|0;e=H[c>>1];D[d|0]=e;D[d+1|0]=e>>>8;d=G[c+3|0]+d|0;c=G[c+2|0]+h|0;if(c>>>0<=32){continue}break}h=c}if(a>>>0>=d>>>0){while(1){c=(o<>>j<<2)+n|0;e=H[c>>1];D[d|0]=e;D[d+1|0]=e>>>8;h=G[c+2|0]+h|0;d=G[c+3|0]+d|0;if(d>>>0<=a>>>0){continue}break}}r:{if(d>>>0>=x>>>0){break r}c=o<>>j|0;a=(c<<2)+n|0;D[d|0]=G[a|0];if(G[a+3|0]==1){h=G[a+2|0]+h|0;break r}if(h>>>0>31){break r}a=G[((c<<2)+n|0)+2|0]+h|0;h=a>>>0>=32?32:a}s:{t:{if(g>>>0<=32){u=C-3|0;while(1){u:{if((t|0)>=4){a=g>>>3|0;e=0;c=g&7;break u}if(!t){a=C-2|0;t=0;o=z;c=g;break t}a=g>>>3|0;e=(t+z|0)-a>>>0>>0;a=e?t:a;c=g-(a<<3)|0}t=t-a|0;o=z+t|0;y=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);if(!(!e&i>>>0>>0)){a=C-2|0;if(c>>>0<=32){break t}g=c;break s}a=(y<>>j<<2)+n|0;d=H[a>>1];D[i|0]=d;D[i+1|0]=d>>>8;d=G[a+3|0]+i|0;c=G[a+2|0]+c|0;a=(y<>>j<<2)+n|0;e=H[a>>1];D[d|0]=e;D[d+1|0]=e>>>8;i=d+G[a+3|0]|0;g=c+G[a+2|0]|0;if(g>>>0<=32){continue}break}}o=t+z|0;a=C-2|0;break s}while(1){v:{if((t|0)>=4){e=c>>>3|0;d=0;g=c&7;break v}if(!t){g=c;break s}e=c>>>3|0;d=o-e>>>0>>0;e=d?t:e;g=c-(e<<3)|0}t=t-e|0;o=z+t|0;y=G[o|0]|G[o+1|0]<<8|(G[o+2|0]<<16|G[o+3|0]<<24);if(d|a>>>0>>0){break s}c=(y<>>j<<2)+n|0;d=H[c>>1];D[i|0]=d;D[i+1|0]=d>>>8;i=G[c+3|0]+i|0;c=G[c+2|0]+g|0;if(c>>>0<=32){continue}break}g=c}if(a>>>0>=i>>>0){while(1){c=(y<>>j<<2)+n|0;d=H[c>>1];D[i|0]=d;D[i+1|0]=d>>>8;g=G[c+2|0]+g|0;i=G[c+3|0]+i|0;if(i>>>0<=a>>>0){continue}break}}w:{if(i>>>0>=C>>>0){break w}c=y<>>j|0;a=(c<<2)+n|0;D[i|0]=G[a|0];if(G[a+3|0]==1){g=G[a+2|0]+g|0;break w}if(g>>>0>31){break w}a=G[((c<<2)+n|0)+2|0]+g|0;g=a>>>0>=32?32:a}c=F[m+16>>2];x:{if(c>>>0<=32){while(1){y:{a=F[m+20>>2];u=F[m+28>>2];z:{A:{if(a>>>0>=u>>>0){a=a-(c>>>3|0)|0;F[m+20>>2]=a;d=0;c=c&7;break A}e=F[m+24>>2];if((e|0)==(a|0)){e=K-2|0;break z}i=c>>>3|0;d=e>>>0>a-i>>>0;e=d?a-e|0:i;a=a-e|0;F[m+20>>2]=a;c=c-(e<<3)|0}F[m+16>>2]=c;e=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[m+12>>2]=e;if(!d&k>>>0>>0){break y}e=K-2|0;if(c>>>0>32){break x}}while(1){B:{if(a>>>0>=u>>>0){a=a-(c>>>3|0)|0;F[m+20>>2]=a;d=0;c=c&7;break B}i=F[m+24>>2];if((i|0)==(a|0)){break x}x=c>>>3|0;d=i>>>0>a-x>>>0;i=d?a-i|0:x;a=a-i|0;F[m+20>>2]=a;c=c-(i<<3)|0}F[m+16>>2]=c;i=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);F[m+12>>2]=i;if(d|e>>>0>>0){break x}d=(i<>>j<<2)+n|0;i=H[d>>1];D[k|0]=i;D[k+1|0]=i>>>8;c=G[d+2|0]+c|0;F[m+16>>2]=c;k=G[d+3|0]+k|0;if(c>>>0<=32){continue}break}break x}a=(e<>>j<<2)+n|0;d=H[a>>1];D[k|0]=d;D[k+1|0]=d>>>8;d=G[a+3|0]+k|0;c=G[a+2|0]+c|0;a=(e<>>j<<2)+n|0;e=H[a>>1];D[d|0]=e;D[d+1|0]=e>>>8;c=c+G[a+2|0]|0;F[m+16>>2]=c;k=d+G[a+3|0]|0;if(c>>>0<=32){continue}break}}e=K-2|0}if(e>>>0>=k>>>0){while(1){a=(F[m+12>>2]<>>j<<2)+n|0;c=H[a>>1];D[k|0]=c;D[k+1|0]=c>>>8;c=F[m+16>>2]+G[a+2|0]|0;F[m+16>>2]=c;k=G[a+3|0]+k|0;if(k>>>0<=e>>>0){continue}break}}C:{if(k>>>0>=K>>>0){break C}d=F[m+12>>2]<>>j|0;a=(d<<2)+n|0;D[k|0]=G[a|0];if(G[a+3|0]==1){c=F[m+16>>2]+G[a+2|0]|0;break C}c=F[m+16>>2];if(c>>>0>31){break C}a=G[((d<<2)+n|0)+2|0]+c|0;c=a>>>0>=32?32:a}j=(q|0)!=6?-20:(f|0)!=32?-20:(l|0)!=(w|0)?-20:(h|0)!=32?-20:(o|0)!=(z|0)?-20:(g|0)!=32?-20:F[m+20>>2]!=F[m+24>>2]?-20:(c|0)!=32?-20:b}Ea=m+32|0;return j}function Pb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=-70;m=F[c+4>>2];j=F[c>>2];p=m+j|0;a:{if(p>>>0>b-a>>>0){break a}n=-20;i=F[d>>2];if(j>>>0>e-i>>>0){break a}e=b-32|0;r=i+j|0;b=a+j|0;o=F[c+8>>2];b:{if((j|0)<=7){if((j|0)<=0){break b}while(1){D[a|0]=G[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}break b}if(b>>>0<=e>>>0){k=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);l=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);D[a|0]=l;D[a+1|0]=l>>>8;D[a+2|0]=l>>>16;D[a+3|0]=l>>>24;D[a+4|0]=k;D[a+5|0]=k>>>8;D[a+6|0]=k>>>16;D[a+7|0]=k>>>24;k=G[i+12|0]|G[i+13|0]<<8|(G[i+14|0]<<16|G[i+15|0]<<24);l=G[i+8|0]|G[i+9|0]<<8|(G[i+10|0]<<16|G[i+11|0]<<24);D[a+8|0]=l;D[a+9|0]=l>>>8;D[a+10|0]=l>>>16;D[a+11|0]=l>>>24;D[a+12|0]=k;D[a+13|0]=k>>>8;D[a+14|0]=k>>>16;D[a+15|0]=k>>>24;if(j>>>0<17){break b}a=a+16|0;while(1){j=G[i+20|0]|G[i+21|0]<<8|(G[i+22|0]<<16|G[i+23|0]<<24);k=G[i+16|0]|G[i+17|0]<<8|(G[i+18|0]<<16|G[i+19|0]<<24);D[a|0]=k;D[a+1|0]=k>>>8;D[a+2|0]=k>>>16;D[a+3|0]=k>>>24;D[a+4|0]=j;D[a+5|0]=j>>>8;D[a+6|0]=j>>>16;D[a+7|0]=j>>>24;j=G[i+28|0]|G[i+29|0]<<8|(G[i+30|0]<<16|G[i+31|0]<<24);k=G[i+24|0]|G[i+25|0]<<8|(G[i+26|0]<<16|G[i+27|0]<<24);D[a+8|0]=k;D[a+9|0]=k>>>8;D[a+10|0]=k>>>16;D[a+11|0]=k>>>24;D[a+12|0]=j;D[a+13|0]=j>>>8;D[a+14|0]=j>>>16;D[a+15|0]=j>>>24;j=G[i+36|0]|G[i+37|0]<<8|(G[i+38|0]<<16|G[i+39|0]<<24);k=G[i+32|0]|G[i+33|0]<<8|(G[i+34|0]<<16|G[i+35|0]<<24);D[a+16|0]=k;D[a+17|0]=k>>>8;D[a+18|0]=k>>>16;D[a+19|0]=k>>>24;D[a+20|0]=j;D[a+21|0]=j>>>8;D[a+22|0]=j>>>16;D[a+23|0]=j>>>24;j=G[i+44|0]|G[i+45|0]<<8|(G[i+46|0]<<16|G[i+47|0]<<24);k=G[i+40|0]|G[i+41|0]<<8|(G[i+42|0]<<16|G[i+43|0]<<24);D[a+24|0]=k;D[a+25|0]=k>>>8;D[a+26|0]=k>>>16;D[a+27|0]=k>>>24;D[a+28|0]=j;D[a+29|0]=j>>>8;D[a+30|0]=j>>>16;D[a+31|0]=j>>>24;i=i+32|0;a=a+32|0;if(b>>>0>a>>>0){continue}break}break b}if(a>>>0<=e>>>0){j=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);k=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);D[a|0]=k;D[a+1|0]=k>>>8;D[a+2|0]=k>>>16;D[a+3|0]=k>>>24;D[a+4|0]=j;D[a+5|0]=j>>>8;D[a+6|0]=j>>>16;D[a+7|0]=j>>>24;j=G[i+12|0]|G[i+13|0]<<8|(G[i+14|0]<<16|G[i+15|0]<<24);k=G[i+8|0]|G[i+9|0]<<8|(G[i+10|0]<<16|G[i+11|0]<<24);D[a+8|0]=k;D[a+9|0]=k>>>8;D[a+10|0]=k>>>16;D[a+11|0]=k>>>24;D[a+12|0]=j;D[a+13|0]=j>>>8;D[a+14|0]=j>>>16;D[a+15|0]=j>>>24;q=e-a|0;if((q|0)>=17){a=a+16|0;j=i;while(1){k=G[j+20|0]|G[j+21|0]<<8|(G[j+22|0]<<16|G[j+23|0]<<24);l=G[j+16|0]|G[j+17|0]<<8|(G[j+18|0]<<16|G[j+19|0]<<24);D[a|0]=l;D[a+1|0]=l>>>8;D[a+2|0]=l>>>16;D[a+3|0]=l>>>24;D[a+4|0]=k;D[a+5|0]=k>>>8;D[a+6|0]=k>>>16;D[a+7|0]=k>>>24;k=G[j+28|0]|G[j+29|0]<<8|(G[j+30|0]<<16|G[j+31|0]<<24);l=G[j+24|0]|G[j+25|0]<<8|(G[j+26|0]<<16|G[j+27|0]<<24);D[a+8|0]=l;D[a+9|0]=l>>>8;D[a+10|0]=l>>>16;D[a+11|0]=l>>>24;D[a+12|0]=k;D[a+13|0]=k>>>8;D[a+14|0]=k>>>16;D[a+15|0]=k>>>24;k=G[j+36|0]|G[j+37|0]<<8|(G[j+38|0]<<16|G[j+39|0]<<24);l=G[j+32|0]|G[j+33|0]<<8|(G[j+34|0]<<16|G[j+35|0]<<24);D[a+16|0]=l;D[a+17|0]=l>>>8;D[a+18|0]=l>>>16;D[a+19|0]=l>>>24;D[a+20|0]=k;D[a+21|0]=k>>>8;D[a+22|0]=k>>>16;D[a+23|0]=k>>>24;k=G[j+44|0]|G[j+45|0]<<8|(G[j+46|0]<<16|G[j+47|0]<<24);l=G[j+40|0]|G[j+41|0]<<8|(G[j+42|0]<<16|G[j+43|0]<<24);D[a+24|0]=l;D[a+25|0]=l>>>8;D[a+26|0]=l>>>16;D[a+27|0]=l>>>24;D[a+28|0]=k;D[a+29|0]=k>>>8;D[a+30|0]=k>>>16;D[a+31|0]=k>>>24;j=j+32|0;a=a+32|0;if(e>>>0>a>>>0){continue}break}}i=i+q|0;a=e}if(a>>>0>=b>>>0){break b}while(1){D[a|0]=G[i|0];i=i+1|0;a=a+1|0;if(b>>>0>a>>>0){continue}break}}a=b-o|0;F[d>>2]=r;c:{d:{if(b-f>>>0>>0){if(b-g>>>0>>0){break a}a=a-f|0;d=a+h|0;if(d+m>>>0<=h>>>0){db(b,d,m);break c}b=db(b,d,0-a|0);m=a+m|0;F[c+4>>2]=m;b=b-a|0;break d}f=a}c=b+m|0;if((m|0)<=7){if((m|0)<=0){break c}while(1){D[b|0]=G[f|0];f=f+1|0;b=b+1|0;if(c>>>0>b>>>0){continue}break}break c}a=b-f|0;e:{if(a>>>0<=7){D[b|0]=G[f|0];D[b+1|0]=G[f+1|0];D[b+2|0]=G[f+2|0];D[b+3|0]=G[f+3|0];d=f;f=a<<2;a=d+F[f+403152>>2]|0;d=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b+4|0]=d;D[b+5|0]=d>>>8;D[b+6|0]=d>>>16;D[b+7|0]=d>>>24;f=a-F[f+403184>>2]|0;break e}a=G[f+4|0]|G[f+5|0]<<8|(G[f+6|0]<<16|G[f+7|0]<<24);d=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24}a=b+8|0;i=f+8|0;if(c>>>0<=e>>>0){e=a+m|0;if((a-i|0)<=15){while(1){b=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);c=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);D[a|0]=c;D[a+1|0]=c>>>8;D[a+2|0]=c>>>16;D[a+3|0]=c>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;i=i+8|0;a=a+8|0;if(e>>>0>a>>>0){continue}break c}}c=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);d=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);D[a|0]=d;D[a+1|0]=d>>>8;D[a+2|0]=d>>>16;D[a+3|0]=d>>>24;D[a+4|0]=c;D[a+5|0]=c>>>8;D[a+6|0]=c>>>16;D[a+7|0]=c>>>24;c=G[i+12|0]|G[i+13|0]<<8|(G[i+14|0]<<16|G[i+15|0]<<24);d=G[i+8|0]|G[i+9|0]<<8|(G[i+10|0]<<16|G[i+11|0]<<24);D[a+8|0]=d;D[a+9|0]=d>>>8;D[a+10|0]=d>>>16;D[a+11|0]=d>>>24;D[a+12|0]=c;D[a+13|0]=c>>>8;D[a+14|0]=c>>>16;D[a+15|0]=c>>>24;if(m>>>0<17){break c}a=b+24|0;while(1){b=G[i+20|0]|G[i+21|0]<<8|(G[i+22|0]<<16|G[i+23|0]<<24);c=G[i+16|0]|G[i+17|0]<<8|(G[i+18|0]<<16|G[i+19|0]<<24);D[a|0]=c;D[a+1|0]=c>>>8;D[a+2|0]=c>>>16;D[a+3|0]=c>>>24;D[a+4|0]=b;D[a+5|0]=b>>>8;D[a+6|0]=b>>>16;D[a+7|0]=b>>>24;b=G[i+28|0]|G[i+29|0]<<8|(G[i+30|0]<<16|G[i+31|0]<<24);c=G[i+24|0]|G[i+25|0]<<8|(G[i+26|0]<<16|G[i+27|0]<<24);D[a+8|0]=c;D[a+9|0]=c>>>8;D[a+10|0]=c>>>16;D[a+11|0]=c>>>24;D[a+12|0]=b;D[a+13|0]=b>>>8;D[a+14|0]=b>>>16;D[a+15|0]=b>>>24;b=G[i+36|0]|G[i+37|0]<<8|(G[i+38|0]<<16|G[i+39|0]<<24);c=G[i+32|0]|G[i+33|0]<<8|(G[i+34|0]<<16|G[i+35|0]<<24);D[a+16|0]=c;D[a+17|0]=c>>>8;D[a+18|0]=c>>>16;D[a+19|0]=c>>>24;D[a+20|0]=b;D[a+21|0]=b>>>8;D[a+22|0]=b>>>16;D[a+23|0]=b>>>24;b=G[i+44|0]|G[i+45|0]<<8|(G[i+46|0]<<16|G[i+47|0]<<24);c=G[i+40|0]|G[i+41|0]<<8|(G[i+42|0]<<16|G[i+43|0]<<24);D[a+24|0]=c;D[a+25|0]=c>>>8;D[a+26|0]=c>>>16;D[a+27|0]=c>>>24;D[a+28|0]=b;D[a+29|0]=b>>>8;D[a+30|0]=b>>>16;D[a+31|0]=b>>>24;i=i+32|0;a=a+32|0;if(e>>>0>a>>>0){continue}break}break c}f:{if(a>>>0>e>>>0){e=a;break f}g=e-a|0;g:{if((a-i|0)<=15){b=i;while(1){d=G[b+4|0]|G[b+5|0]<<8|(G[b+6|0]<<16|G[b+7|0]<<24);f=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);D[a|0]=f;D[a+1|0]=f>>>8;D[a+2|0]=f>>>16;D[a+3|0]=f>>>24;D[a+4|0]=d;D[a+5|0]=d>>>8;D[a+6|0]=d>>>16;D[a+7|0]=d>>>24;b=b+8|0;a=a+8|0;if(e>>>0>a>>>0){continue}break}break g}d=G[i+4|0]|G[i+5|0]<<8|(G[i+6|0]<<16|G[i+7|0]<<24);f=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);D[a|0]=f;D[a+1|0]=f>>>8;D[a+2|0]=f>>>16;D[a+3|0]=f>>>24;D[a+4|0]=d;D[a+5|0]=d>>>8;D[a+6|0]=d>>>16;D[a+7|0]=d>>>24;d=G[i+12|0]|G[i+13|0]<<8|(G[i+14|0]<<16|G[i+15|0]<<24);f=G[i+8|0]|G[i+9|0]<<8|(G[i+10|0]<<16|G[i+11|0]<<24);D[a+8|0]=f;D[a+9|0]=f>>>8;D[a+10|0]=f>>>16;D[a+11|0]=f>>>24;D[a+12|0]=d;D[a+13|0]=d>>>8;D[a+14|0]=d>>>16;D[a+15|0]=d>>>24;if((g|0)<17){break g}a=b+24|0;b=i;while(1){d=G[b+20|0]|G[b+21|0]<<8|(G[b+22|0]<<16|G[b+23|0]<<24);f=G[b+16|0]|G[b+17|0]<<8|(G[b+18|0]<<16|G[b+19|0]<<24);D[a|0]=f;D[a+1|0]=f>>>8;D[a+2|0]=f>>>16;D[a+3|0]=f>>>24;D[a+4|0]=d;D[a+5|0]=d>>>8;D[a+6|0]=d>>>16;D[a+7|0]=d>>>24;d=G[b+28|0]|G[b+29|0]<<8|(G[b+30|0]<<16|G[b+31|0]<<24);f=G[b+24|0]|G[b+25|0]<<8|(G[b+26|0]<<16|G[b+27|0]<<24);D[a+8|0]=f;D[a+9|0]=f>>>8;D[a+10|0]=f>>>16;D[a+11|0]=f>>>24;D[a+12|0]=d;D[a+13|0]=d>>>8;D[a+14|0]=d>>>16;D[a+15|0]=d>>>24;d=G[b+36|0]|G[b+37|0]<<8|(G[b+38|0]<<16|G[b+39|0]<<24);f=G[b+32|0]|G[b+33|0]<<8|(G[b+34|0]<<16|G[b+35|0]<<24);D[a+16|0]=f;D[a+17|0]=f>>>8;D[a+18|0]=f>>>16;D[a+19|0]=f>>>24;D[a+20|0]=d;D[a+21|0]=d>>>8;D[a+22|0]=d>>>16;D[a+23|0]=d>>>24;d=G[b+44|0]|G[b+45|0]<<8|(G[b+46|0]<<16|G[b+47|0]<<24);f=G[b+40|0]|G[b+41|0]<<8|(G[b+42|0]<<16|G[b+43|0]<<24);D[a+24|0]=f;D[a+25|0]=f>>>8;D[a+26|0]=f>>>16;D[a+27|0]=f>>>24;D[a+28|0]=d;D[a+29|0]=d>>>8;D[a+30|0]=d>>>16;D[a+31|0]=d>>>24;b=b+32|0;a=a+32|0;if(e>>>0>a>>>0){continue}break}}i=g+i|0}if(c>>>0<=e>>>0){break c}while(1){D[e|0]=G[i|0];i=i+1|0;e=e+1|0;if(c>>>0>e>>>0){continue}break}}n=p}return n}function Lc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,I=0,J=0,K=0,L=0,M=0,N=0;l=Ea-32|0;Ea=l;f=-20;a:{if(d>>>0<10){break a}g=G[c+4|0]|G[c+5|0]<<8;h=G[c|0]|G[c+1|0]<<8;m=h+6|0;j=G[c+2|0]|G[c+3|0]<<8;s=g+(m+j|0)|0;if(s>>>0>d>>>0){break a}if(!h){f=-72;break a}k=c+6|0;A=H[e+2>>1];b:{if(h>>>0>=4){f=-1;k=G[(h+k|0)-1|0];if(!k){break a}o=h+2|0;f=o+c|0;i=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);h=O(k)-23|0;break b}i=G[k|0];c:{switch(h-2|0){case 1:i=G[c+8|0]<<16|i;case 0:i=(G[c+7|0]<<8)+i|0;break;default:break c}}f=G[(h+k|0)-1|0];if(!f){f=-20;break a}o=6;h=(O(f)-(h<<3)|0)+9|0}if(!j){f=-72;break a}u=c+m|0;d:{if(j>>>0>=4){f=-1;k=G[(j+u|0)-1|0];if(!k){break a}q=j-4|0;f=u+q|0;x=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);k=O(k)-23|0;break d}x=G[u|0];e:{switch(j-2|0){case 1:x=G[u+2|0]<<16|x;case 0:x=(G[u+1|0]<<8)+x|0;break;default:break e}}f=G[(j+u|0)-1|0];if(!f){f=-20;break a}k=(O(f)-(j<<3)|0)+9|0}f=-72;if(!g){break a}w=j+u|0;m=g+w|0;f:{if(g>>>0>=4){f=-1;j=G[m-1|0];if(!j){break a}r=g-4|0;f=w+r|0;y=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);j=O(j)-23|0;break f}y=G[w|0];g:{switch(g-2|0){case 1:y=G[w+2|0]<<16|y;case 0:y=(G[w+1|0]<<8)+y|0;break;default:break g}}f=G[m-1|0];if(!f){f=-20;break a}j=(O(f)-(g<<3)|0)+9|0}f=Kc(l+12|0,m,d-s|0);if(f>>>0>4294967176){break a}n=e+4|0;t=F[l+12>>2];d=b+3>>>2|0;s=d+a|0;v=d+s|0;B=v+d|0;J=a+b|0;K=J-3|0;h:{if(B>>>0>=K>>>0){m=B;e=v;g=s;break h}f=0-A&31;z=F[l+20>>2];d=F[l+16>>2];M=F[l+28>>2];g=s;e=v;m=B;while(1){p=(i<>>f<<1)+n|0;E=G[p+1|0];D[a|0]=G[p|0];p=(x<>>f<<1)+n|0;I=G[p+1|0];D[g|0]=G[p|0];p=(y<>>f<<1)+n|0;L=G[p+1|0];D[e|0]=G[p|0];p=(t<>>f<<1)+n|0;C=G[p+1|0];D[m|0]=G[p|0];h=h+E|0;p=(i<>>f<<1)+n|0;E=G[p+1|0];D[a+1|0]=G[p|0];k=k+I|0;p=(x<>>f<<1)+n|0;I=G[p+1|0];D[g+1|0]=G[p|0];j=j+L|0;p=(y<>>f<<1)+n|0;L=G[p+1|0];D[e+1|0]=G[p|0];C=d+C|0;d=(t<>>f<<1)+n|0;N=G[d+1|0];D[m+1|0]=G[d|0];h=h+E|0;if((o|0)<10){p=3}else{o=o-(h>>>3|0)|0;d=o+c|0;i=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);h=h&7;p=0}k=k+I|0;E=3;if((q|0)<4){I=3}else{q=q-(k>>>3|0)|0;d=u+q|0;x=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);k=k&7;I=0}j=j+L|0;if((r|0)>=4){r=r-(j>>>3|0)|0;d=w+r|0;y=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);E=0;j=j&7}d=C+N|0;e=e+2|0;g=g+2|0;a=a+2|0;if(z>>>0>>0){C=3}else{z=z-(d>>>3|0)|0;t=G[z|0]|G[z+1|0]<<8|(G[z+2|0]<<16|G[z+3|0]<<24);d=d&7;C=0}m=m+2|0;if(!(C|(p|I|E))&K>>>0>m>>>0){continue}break}F[l+20>>2]=z;F[l+16>>2]=d}F[l+12>>2]=t;if(a>>>0>s>>>0){f=-20;break a}if(g>>>0>v>>>0){f=-20;break a}f=-20;if(e>>>0>B>>>0){break a}i:{j:{k:{if(h>>>0>=33){f=0-A&31;break k}z=s-3|0;f=0-A&31;l:{m:{while(1){n:{if((o|0)>=10){i=h>>>3|0;t=0;d=h&7;break n}if((o|0)==6){d=h;o=6;break m}d=h>>>3|0;t=(o-d|0)<6;i=t?o-6|0:d;d=h-(i<<3)|0}o=o-i|0;h=o+c|0;i=G[h|0]|G[h+1|0]<<8|(G[h+2|0]<<16|G[h+3|0]<<24);if(!(t|a>>>0>=z>>>0)){h=(i<>>f<<1)+n|0;t=G[h+1|0];D[a|0]=G[h|0];d=d+t|0;h=(i<>>f<<1)+n|0;t=G[h+1|0];D[a+1|0]=G[h|0];a=a+2|0;h=d+t|0;if(h>>>0<=32){continue}break k}break}if(d>>>0>32){break l}}while(1){o:{if((o|0)>=10){i=d>>>3|0;t=0;h=d&7;break o}if((o|0)==6){o=6;break l}h=d>>>3|0;t=(o-h|0)<6;i=t?o-6|0:h;h=d-(i<<3)|0}o=o-i|0;d=o+c|0;i=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);d=a>>>0>=s>>>0;if(d|t){if(d){break i}break j}d=(i<>>f<<1)+n|0;t=G[d+1|0];D[a|0]=G[d|0];a=a+1|0;d=h+t|0;if(d>>>0<=32){continue}break}}h=d}if(a>>>0>=s>>>0){break i}}while(1){c=(i<>>f<<1)+n|0;d=G[c+1|0];D[a|0]=G[c|0];h=d+h|0;a=a+1|0;if(s>>>0>a>>>0){continue}break}}p:{q:{r:{if(k>>>0>=33){c=0-A&31;d=u+q|0;break r}s=v-3|0;c=0-A&31;s:{t:{u:{while(1){v:{if((q|0)>=4){a=k>>>3|0;i=0;f=k&7;break v}if(!q){q=0;d=u;f=k;break t}a=k>>>3|0;i=(u+q|0)-a>>>0>>0;a=i?q:a;f=k-(a<<3)|0}q=q-a|0;d=u+q|0;x=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);if(i|g>>>0>=s>>>0){break u}a=(x<>>c<<1)+n|0;d=G[a+1|0];D[g|0]=G[a|0];a=d+f|0;d=(x<>>c<<1)+n|0;f=G[d+1|0];D[g+1|0]=G[d|0];g=g+2|0;k=a+f|0;if(k>>>0<33){continue}break}d=u+q|0;break r}if(f>>>0>32){break s}}while(1){w:{if((q|0)>=4){a=f>>>3|0;i=0;k=f&7;break w}if(!q){break s}a=f>>>3|0;i=d-a>>>0>>0;a=i?q:a;k=f-(a<<3)|0}q=q-a|0;d=u+q|0;x=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);a=g>>>0>=v>>>0;if(a|i){if(a){break p}break q}a=(x<>>c<<1)+n|0;f=G[a+1|0];D[g|0]=G[a|0];g=g+1|0;f=f+k|0;if(f>>>0<=32){continue}break}}k=f}if(g>>>0>=v>>>0){break p}}while(1){a=(x<>>c<<1)+n|0;f=G[a+1|0];D[g|0]=G[a|0];k=f+k|0;g=g+1|0;if(v>>>0>g>>>0){continue}break}}x:{y:{z:{if(j>>>0>=33){c=0-A&31;i=r+w|0;break z}s=B-3|0;c=0-A&31;A:{B:{C:{while(1){D:{if((r|0)>=4){a=j>>>3|0;g=0;f=j&7;break D}if(!r){r=0;i=w;f=j;break B}a=j>>>3|0;g=(r+w|0)-a>>>0>>0;a=g?r:a;f=j-(a<<3)|0}r=r-a|0;i=w+r|0;y=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);if(g|e>>>0>=s>>>0){break C}a=(y<>>c<<1)+n|0;j=G[a+1|0];D[e|0]=G[a|0];a=f+j|0;f=(y<>>c<<1)+n|0;j=G[f+1|0];D[e+1|0]=G[f|0];e=e+2|0;j=a+j|0;if(j>>>0<33){continue}break}i=r+w|0;break z}if(f>>>0>32){break A}}while(1){E:{if((r|0)>=4){a=f>>>3|0;g=0;j=f&7;break E}if(!r){break A}a=f>>>3|0;g=i-a>>>0>>0;a=g?r:a;j=f-(a<<3)|0}r=r-a|0;i=w+r|0;y=G[i|0]|G[i+1|0]<<8|(G[i+2|0]<<16|G[i+3|0]<<24);a=e>>>0>=B>>>0;if(a|g){if(a){break x}break y}a=(y<>>c<<1)+n|0;f=G[a+1|0];D[e|0]=G[a|0];e=e+1|0;f=f+j|0;if(f>>>0<=32){continue}break}}j=f}if(e>>>0>=B>>>0){break x}}while(1){a=(y<>>c<<1)+n|0;f=G[a+1|0];D[e|0]=G[a|0];j=f+j|0;e=e+1|0;if(B>>>0>e>>>0){continue}break}}c=F[l+16>>2];F:{G:{H:{if(c>>>0>=33){a=0-A&31;break H}a=0-A&31;I:{while(1){f=F[l+20>>2];s=F[l+28>>2];J:{if(f>>>0>=s>>>0){f=f-(c>>>3|0)|0;F[l+20>>2]=f;e=0;c=c&7;break J}g=F[l+24>>2];if((g|0)==(f|0)){break I}v=c>>>3|0;e=g>>>0>f-v>>>0;g=e?f-g|0:v;f=f-g|0;F[l+20>>2]=f;c=c-(g<<3)|0}F[l+16>>2]=c;g=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[l+12>>2]=g;if(!(e|m>>>0>=K>>>0)){e=(g<>>a<<1)+n|0;f=G[e+1|0];D[m|0]=G[e|0];c=c+f|0;e=(g<>>a<<1)+n|0;f=G[e|0];c=c+G[e+1|0]|0;F[l+16>>2]=c;D[m+1|0]=f;m=m+2|0;if(c>>>0<33){continue}break H}break}if(c>>>0>32){break H}}while(1){K:{if(f>>>0>=s>>>0){f=f-(c>>>3|0)|0;F[l+20>>2]=f;g=0;c=c&7;break K}e=F[l+24>>2];if((e|0)==(f|0)){break H}v=c>>>3|0;g=e>>>0>f-v>>>0;e=g?f-e|0:v;f=f-e|0;F[l+20>>2]=f;c=c-(e<<3)|0}F[l+16>>2]=c;e=G[f|0]|G[f+1|0]<<8|(G[f+2|0]<<16|G[f+3|0]<<24);F[l+12>>2]=e;v=g;g=m>>>0>=J>>>0;if(v|g){if(g){break F}break G}e=(e<>>a<<1)+n|0;g=G[e|0];c=c+G[e+1|0]|0;F[l+16>>2]=c;D[m|0]=g;m=m+1|0;if(c>>>0<=32){continue}break}}if(m>>>0>=J>>>0){break F}}while(1){c=F[l+16>>2];e=(F[l+12>>2]<>>a<<1)+n|0;f=G[e|0];F[l+16>>2]=c+G[e+1|0];D[m|0]=f;m=m+1|0;if(J>>>0>m>>>0){continue}break}}f=(o|0)!=6?-20:(h|0)!=32?-20:(d|0)!=(u|0)?-20:(k|0)!=32?-20:(i|0)!=(w|0)?-20:(j|0)!=32?-20:F[l+20>>2]!=F[l+24>>2]?-20:F[l+16>>2]!=32?-20:b}Ea=l+32|0;return f}function Ub(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u){var v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=Ea-16|0;Ea=B;x=l+m|0;v=x>>>0>>0?1:v;a:{if(!v&f>>>0>>0|v){break a}v=0;x=n+o|0;v=x>>>0>>0?1:v;if(!v&f>>>0>>0|v?o:0){break a}f=8;if((b&-2)==8){if((Xe(g<<2)|0)!=1){break a}if((Xe(h<<2)|0)!=1){break a}}v=4;b:{c:{d:{e:{f:{g:{h:{i:{x=(b|0)==9?q?9:8:b;switch(x|0){case 0:case 2:case 4:case 8:case 9:case 11:case 18:case 19:case 20:break e;case 1:case 3:case 5:case 6:case 7:case 10:case 12:case 17:case 21:break f;case 13:break g;case 14:case 15:case 16:break h;default:break i}}f=0;break e}v=2}b=L(g,h);break d}f=16}b=L(g,h);if(x-13>>>0>3){break c}v=f}if(L(u?u:j,s?s:i)>>>0<=d>>>0){break b}break a}if(b>>>0>d>>>0){break a}v=f;if((x|0)==17){break a}}f=e+n|0;e=e+l|0;d=(p&4)!=0&q;l=d?f:e;n=d?o:m;j:{switch(x|0){case 0:w=Ua(a,c,g,h,l,n,0,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 2:w=Ua(a,c,g,h,l,n,2,v,1,r,d,k,i,j,s,t,0,0,u);break a;case 4:w=Ua(a,c,g,h,l,n,4,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 8:w=Ua(a,c,g,h,l,n,6,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 9:d=B+4|0;F[d+8>>2]=0;F[d>>2]=0;F[d+4>>2]=0;if(b){Wa(d,b,(b|0)==1,4);l=F[d+4>>2];Ta(F[d>>2]+(l<<2)|0,0,b-l<<2);F[d+4>>2]=b}if(Ua(a,F[d>>2],g,h,f,o,20,4,0,r,1,k,i,j,g,t,0,0,0)){w=Ua(a,c,g,h,e,m,7,v,0,r,0,k,i,j,s,t,0,F[d>>2],0)}a=F[d>>2];if(!a){break a}Ra(a);break a;case 1:k:{if(!q){if(!h|!g){break k}o=(s?s:g)<<4;p=g&-2;w=g&1;q=0;while(1){l=L(o,q);f=0;if((g|0)!=1){while(1){b=c+l|0;D[b|0]=255;D[b+1|0]=29;d=H[196104]|H[196105]<<16;D[b+2|0]=d;x=d>>>8|0;D[b+3|0]=x;y=d>>>16|0;D[b+4|0]=y;z=d>>>24|0;D[b+5|0]=z;n=H[196106];D[b+6|0]=n;A=n>>>8|0;D[b+7|0]=A;D[b+16|0]=255;D[b+17|0]=29;D[b+18|0]=d;D[b+19|0]=x;D[b+20|0]=y;D[b+21|0]=z;D[b+22|0]=n;D[b+23|0]=A;l=l+32|0;f=f+2|0;if((p|0)!=(f|0)){continue}break}}if(w){b=c+l|0;D[b|0]=255;D[b+1|0]=29;d=H[196104]|H[196105]<<16;D[b+2|0]=d;D[b+3|0]=d>>>8;D[b+4|0]=d>>>16;D[b+5|0]=d>>>24;d=H[196106];D[b+6|0]=d;D[b+7|0]=d>>>8}q=q+1|0;if((q|0)!=(h|0)){continue}break}break k}if(!Ua(a,c,g,h,f,o,11,v,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c+8|0,g,h,e,m,0,v,0,r,0,k,i,j,s,t,0,0,u);break a;case 3:l:{if(!q){if(!h|!g){break l}o=(s?s:g)<<4;p=g&-4;d=g&3;q=g-1>>>0<3;n=0;while(1){l=L(n,o);f=0;if(!q){while(1){b=c+l|0;D[b+2|0]=0;D[b+3|0]=0;D[b+4|0]=0;D[b+5|0]=0;D[b|0]=255;D[b+1|0]=255;D[b+6|0]=0;D[b+7|0]=0;D[b+18|0]=0;D[b+19|0]=0;D[b+20|0]=0;D[b+21|0]=0;D[b+16|0]=255;D[b+17|0]=255;D[b+22|0]=0;D[b+23|0]=0;D[b+34|0]=0;D[b+35|0]=0;D[b+36|0]=0;D[b+37|0]=0;D[b+32|0]=255;D[b+33|0]=255;D[b+38|0]=0;D[b+39|0]=0;D[b+50|0]=0;D[b+51|0]=0;D[b+52|0]=0;D[b+53|0]=0;D[b+48|0]=255;D[b+49|0]=255;D[b+54|0]=0;D[b+55|0]=0;l=l- -64|0;f=f+4|0;if((p|0)!=(f|0)){continue}break}}f=0;if(d){while(1){b=c+l|0;D[b+2|0]=0;D[b+3|0]=0;D[b+4|0]=0;D[b+5|0]=0;D[b|0]=255;D[b+1|0]=255;D[b+6|0]=0;D[b+7|0]=0;l=l+16|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}n=n+1|0;if((n|0)!=(h|0)){continue}break}break l}if(!Ua(a,c,g,h,f,o,4,v,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c+8|0,g,h,e,m,2,v,0,r,0,k,i,j,s,t,0,0,u);break a;case 5:if(!Ua(a,c,g,h,e,m,4,v,0,r,0,k,i,j,s,t,0,0,u)){break a}d=c+8|0;if(q){w=Ua(a,d,g,h,f,o,4,v,0,r,1,k,i,j,s,t,0,0,u);break a}w=1;if(!h|!g){break a}f=(s?s:g)<<4;i=g&-4;e=g&3;g=g-1>>>0<3;b=0;while(1){c=L(b,f);l=0;if(!g){while(1){a=c+d|0;D[a+2|0]=0;D[a+3|0]=0;D[a+4|0]=0;D[a+5|0]=0;D[a|0]=255;D[a+1|0]=255;D[a+6|0]=0;D[a+7|0]=0;D[a+18|0]=0;D[a+19|0]=0;D[a+20|0]=0;D[a+21|0]=0;D[a+16|0]=255;D[a+17|0]=255;D[a+22|0]=0;D[a+23|0]=0;D[a+34|0]=0;D[a+35|0]=0;D[a+36|0]=0;D[a+37|0]=0;D[a+32|0]=255;D[a+33|0]=255;D[a+38|0]=0;D[a+39|0]=0;D[a+50|0]=0;D[a+51|0]=0;D[a+52|0]=0;D[a+53|0]=0;D[a+48|0]=255;D[a+49|0]=255;D[a+54|0]=0;D[a+55|0]=0;c=c- -64|0;l=l+4|0;if((i|0)!=(l|0)){continue}break}}l=0;if(e){while(1){a=c+d|0;D[a+2|0]=0;D[a+3|0]=0;D[a+4|0]=0;D[a+5|0]=0;D[a|0]=255;D[a+1|0]=255;D[a+6|0]=0;D[a+7|0]=0;c=c+16|0;l=l+1|0;if((e|0)!=(l|0)){continue}break}}b=b+1|0;if((h|0)!=(b|0)){continue}break};break a;case 10:if(q){if(!Ua(a,c,g,h,f,o,20,v,0,r,1,k,i,j,s,t,0,0,u)){break a}w=Ua(a,c,g,h,e,m,12,v,0,r,0,k,i,j,s,t,1,0,u);break a}w=Ua(a,c,g,h,e,m,12,v,0,r,0,k,i,j,s,t,0,0,u);break a;case 11:w=Ua(a,c,g,h,l,n,13,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 12:m:{if(!q){if(!h|!g){break m}o=(s?s:g)<<4;p=g&-4;d=g&3;q=g>>>0<4;n=0;while(1){l=L(n,o);f=0;if(!q){while(1){b=c+l|0;D[b+2|0]=0;D[b+3|0]=0;D[b+4|0]=0;D[b+5|0]=0;D[b|0]=255;D[b+1|0]=255;D[b+6|0]=0;D[b+7|0]=0;D[b+18|0]=0;D[b+19|0]=0;D[b+20|0]=0;D[b+21|0]=0;D[b+16|0]=255;D[b+17|0]=255;D[b+22|0]=0;D[b+23|0]=0;D[b+34|0]=0;D[b+35|0]=0;D[b+36|0]=0;D[b+37|0]=0;D[b+32|0]=255;D[b+33|0]=255;D[b+38|0]=0;D[b+39|0]=0;D[b+50|0]=0;D[b+51|0]=0;D[b+52|0]=0;D[b+53|0]=0;D[b+48|0]=255;D[b+49|0]=255;D[b+54|0]=0;D[b+55|0]=0;l=l- -64|0;f=f+4|0;if((p|0)!=(f|0)){continue}break}}f=0;if(d){while(1){b=c+l|0;D[b+2|0]=0;D[b+3|0]=0;D[b+4|0]=0;D[b+5|0]=0;D[b|0]=255;D[b+1|0]=255;D[b+6|0]=0;D[b+7|0]=0;l=l+16|0;f=f+1|0;if((d|0)!=(f|0)){continue}break}}n=n+1|0;if((n|0)!=(h|0)){continue}break}break m}if(!Ua(a,c,g,h,f,o,4,v,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c+8|0,g,h,e,m,13,v,0,r,0,k,i,j,s,t,0,0,u);break a;case 18:w=Ua(a,c,g,h,l,n,16,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 19:if(q){if(!Ua(a,c,g,h,f,o,20,v,0,r,1,k,i,j,s,t,0,0,u)){break a}w=Ua(a,c,g,h,e,m,17,v,0,r,0,k,i,j,s,t,1,0,u);break a}w=Ua(a,c,g,h,e,m,16,v,0,r,0,k,i,j,s,t,0,0,u);break a;case 13:l=22;if(q){l=21;if(!Ua(a,c,g,h,f,o,23,4,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c,g,h,e,m,l,4,0,r,0,k,i,j,s,t,0,0,u);break a;case 14:case 15:w=Ua(a,c,g,h,l,n,(x|0)==14?24:25,2,0,r,d,k,i,j,s,t,0,0,u);break a;case 16:l=28;if(q){l=26;if(!Ua(a,c,g,h,f,o,27,2,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c,g,h,e,m,l,2,0,r,0,k,i,j,s,t,0,0,u);break a;case 20:w=Ua(a,c,g,h,l,n,18,v,0,r,d,k,i,j,s,t,0,0,u);break a;case 21:break j;default:break a}}p=c+8|0;n:{if(!q){if(!h|!g){break n}q=(s?s:g)<<4;w=g&-2;x=g&1;d=0;while(1){l=L(d,q);f=0;if((g|0)!=1){while(1){b=l+p|0;D[b|0]=255;D[b+1|0]=29;n=H[196104]|H[196105]<<16;D[b+2|0]=n;y=n>>>8|0;D[b+3|0]=y;z=n>>>16|0;D[b+4|0]=z;A=n>>>24|0;D[b+5|0]=A;o=H[196106];D[b+6|0]=o;C=o>>>8|0;D[b+7|0]=C;D[b+16|0]=255;D[b+17|0]=29;D[b+18|0]=n;D[b+19|0]=y;D[b+20|0]=z;D[b+21|0]=A;D[b+22|0]=o;D[b+23|0]=C;l=l+32|0;f=f+2|0;if((w|0)!=(f|0)){continue}break}}if(x){b=l+p|0;D[b|0]=255;D[b+1|0]=29;f=H[196104]|H[196105]<<16;D[b+2|0]=f;D[b+3|0]=f>>>8;D[b+4|0]=f>>>16;D[b+5|0]=f>>>24;f=H[196106];D[b+6|0]=f;D[b+7|0]=f>>>8}d=d+1|0;if((h|0)!=(d|0)){continue}break}break n}if(!Ua(a,p,g,h,f,o,18,v,0,r,1,k,i,j,s,t,0,0,u)){break a}}w=Ua(a,c,g,h,e,m,18,v,0,r,0,k,i,j,s,t,0,0,u)}Ea=B+16|0;return w}function Ec(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,H=0,I=0,J=0,K=0,M=0;i=Ea-80|0;Ea=i;F[i+76>>2]=b;I=i+55|0;t=i+56|0;a:{b:{c:{d:while(1){f=0;e:while(1){h=b;if((p^2147483647)<(f|0)){break c}p=f+p|0;f:{g:{h:{f=h;g=G[f|0];if(g){while(1){i:{b=g&255;j:{if(!b){b=f;break j}if((b|0)!=37){break i}g=f;while(1){if(G[g+1|0]!=37){b=g;break j}f=f+1|0;k=G[g+2|0];b=g+2|0;g=b;if((k|0)==37){continue}break}}f=f-h|0;H=p^2147483647;if((f|0)>(H|0)){break c}if(a){gb(a,h,f)}if(f){continue e}F[i+76>>2]=b;f=b+1|0;o=-1;g=D[b+1|0]-48|0;if(!(G[b+2|0]!=36|g>>>0>=10)){o=g;u=1;f=b+3|0}F[i+76>>2]=f;n=0;g=D[f|0];b=g-32|0;k:{if(b>>>0>31){k=f;break k}k=f;b=1<>2]=k;n=b|n;g=D[f+1|0];b=g-32|0;if(b>>>0>=32){break k}f=k;b=1<>>0>=10)){b=D[g|0]-48|0;g=k+3|0;u=1;n:{if(!a){F[(b<<2)+e>>2]=10;b=0;break n}b=F[(b<<3)+d>>2]}break m}if(u){break h}if(!a){F[i+76>>2]=g;u=0;q=0;break l}b=F[c>>2];F[c>>2]=b+4;u=0;b=F[b>>2]}q=b;F[i+76>>2]=g;if((q|0)>=0){break l}q=0-q|0;n=n|8192;break l}q=Dc(i+76|0);if((q|0)<0){break c}g=F[i+76>>2]}f=0;l=-1;o:{if(G[g|0]!=46){b=g;g=0;break o}if(G[g+1|0]==42){b=g+2|0;p:{if(!(G[g+3|0]!=36|D[g+2|0]-48>>>0>=10)){b=D[b|0]-48|0;q:{if(!a){F[(b<<2)+e>>2]=10;l=0;break q}l=F[(b<<3)+d>>2]}b=g+4|0;break p}if(u){break h}if(!a){l=0;break p}g=F[c>>2];F[c>>2]=g+4;l=F[g>>2]}F[i+76>>2]=b;g=(l|0)>=0;break o}F[i+76>>2]=g+1;l=Dc(i+76|0);b=F[i+76>>2];g=1}A=g;while(1){r=f;j=28;m=b;g=D[m|0];if(g-123>>>0<4294967238){break b}b=m+1|0;f=G[(g+L(f,58)|0)+403983|0];if(f-1>>>0<8){continue}break}F[i+76>>2]=b;r:{if((f|0)!=27){if(!f){break b}if((o|0)>=0){if(!a){F[(o<<2)+e>>2]=f;continue d}g=(o<<3)+d|0;f=F[g+4>>2];F[i+64>>2]=F[g>>2];F[i+68>>2]=f;break r}if(!a){break f}Cc(i- -64|0,f,c);break r}if((o|0)>=0){break b}f=0;if(!a){continue e}}j=-1;if(G[a|0]&32){break a}g=n&-65537;n=n&8192?g:n;o=0;B=1152;k=t;s:{t:{u:{v:{w:{x:{y:{z:{A:{B:{C:{D:{E:{F:{G:{H:{f=D[m|0];f=r?(f&15)==3?f&-33:f:f;switch(f-88|0){case 11:break s;case 9:case 13:case 14:case 15:break t;case 27:break y;case 12:case 17:break B;case 23:break C;case 0:case 32:break D;case 24:break E;case 22:break F;case 29:break G;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break g;default:break H}}I:{switch(f-65|0){case 0:case 4:case 5:case 6:break t;case 2:break w;case 1:case 3:break g;default:break I}}if((f|0)==83){break x}break g}m=F[i+64>>2];j=F[i+68>>2];h=1152;break A}f=0;J:{switch(r&255){case 0:F[F[i+64>>2]>>2]=p;continue e;case 1:F[F[i+64>>2]>>2]=p;continue e;case 2:h=F[i+64>>2];F[h>>2]=p;F[h+4>>2]=p>>31;continue e;case 3:E[F[i+64>>2]>>1]=p;continue e;case 4:D[F[i+64>>2]]=p;continue e;case 6:F[F[i+64>>2]>>2]=p;continue e;case 7:break J;default:continue e}}h=F[i+64>>2];F[h>>2]=p;F[h+4>>2]=p>>31;continue e}l=l>>>0<=8?8:l;n=n|8;f=120}h=t;m=F[i+64>>2];j=F[i+68>>2];if(m|j){z=f&32;while(1){h=h-1|0;D[h|0]=z|G[(m&15)+404512|0];r=!j&m>>>0>15|(j|0)!=0;g=j;j=g>>>4|0;m=(g&15)<<28|m>>>4;if(r){continue}break}}if(!(F[i+64>>2]|F[i+68>>2])|!(n&8)){break z}B=(f>>>4|0)+1152|0;o=2;break z}f=t;h=F[i+68>>2];j=h;m=F[i+64>>2];if(h|m){while(1){f=f-1|0;D[f|0]=m&7|48;g=!j&m>>>0>7|(j|0)!=0;h=j;j=h>>>3|0;m=(h&7)<<29|m>>>3;if(g){continue}break}}h=f;if(!(n&8)){break z}f=t-f|0;l=(f|0)<(l|0)?l:f+1|0;break z}m=F[i+64>>2];h=F[i+68>>2];j=h;if((h|0)<0){h=0-(((m|0)!=0)+h|0)|0;j=h;m=0-m|0;F[i+64>>2]=m;F[i+68>>2]=h;o=1;h=1152;break A}if(n&2048){o=1;h=1153;break A}o=n&1;h=o?1154:1152}B=h;g=t;if(j){while(1){g=g-1|0;J=m;r=0;z=0;h=j;K:{if(!h){Fa=0;m=(m>>>0)/10|0;break K}w=61-O(h)|0;j=0-w|0;f=w&63;s=f&31;if(f>>>0>=32){C=0;s=h>>>s|0}else{C=h>>>s|0;s=((1<>>s}f=j&63;j=f&31;if(f>>>0>=32){y=m<>>32-j|h<>>31;r=s<<1|y>>>31;m=0-(j+(r>>>0>9)|0)>>31;f=m&10;s=r-f|0;C=j-(f>>>0>r>>>0)|0;y=y<<1|x>>>31;x=z|x<<1;r=m&1;z=r;w=w-1|0;if(w){continue}break}}Fa=y<<1|x>>>31;m=r|x<<1}j=Fa;K=g,M=J-We(m,j,10,0)|48,D[K|0]=M;if(h>>>0>9){continue}break}}h=m;if(h){while(1){g=g-1|0;f=(h>>>0)/10|0;D[g|0]=h-L(f,10)|48;j=h>>>0>9;h=f;if(j){continue}break}}h=g}if((l|0)<0&A){break c}n=A?n&-65537:n;g=F[i+64>>2];f=F[i+68>>2];if(!(l|(g|f)!=0)){h=t;l=0;break g}f=!(f|g)+(t-h|0)|0;l=(f|0)<(l|0)?l:f;break g}m=l>>>0>=2147483647?2147483647:l;k=m;n=(k|0)!=0;h=F[i+64>>2];h=h?h:5201;f=h;L:{M:{N:{O:{if(!(f&3)|!k){break O}while(1){if(!G[f|0]){break N}k=k-1|0;n=(k|0)!=0;f=f+1|0;if(!(f&3)){break O}if(k){continue}break}}if(!n){break M}if(!(!G[f|0]|k>>>0<4)){while(1){j=F[f>>2];if((j^-1)&j-16843009&-2139062144){break N}f=f+4|0;k=k-4|0;if(k>>>0>3){continue}break}}if(!k){break M}}while(1){if(!G[f|0]){break L}f=f+1|0;k=k-1|0;if(k){continue}break}}f=0}f=f?f-h|0:m;k=f+h|0;if((l|0)>=0){n=g;l=f;break g}n=g;l=f;if(G[k|0]){break c}break g}if(l){g=F[i+64>>2];break v}f=0;eb(a,32,q,0,n);break u}F[i+12>>2]=0;F[i+8>>2]=F[i+64>>2];g=i+8|0;F[i+64>>2]=g;l=-1}f=0;P:{while(1){h=F[g>>2];if(!h){break P}k=Bc(i+4|0,h);h=(k|0)<0;if(!(h|k>>>0>l-f>>>0)){g=g+4|0;f=f+k|0;if(l>>>0>f>>>0){continue}break P}break}if(h){break a}}j=61;if((f|0)<0){break b}eb(a,32,q,f,n);if(!f){f=0;break u}k=0;g=F[i+64>>2];while(1){h=F[g>>2];if(!h){break u}j=i+4|0;h=Bc(j,h);k=h+k|0;if(k>>>0>f>>>0){break u}gb(a,j,h);g=g+4|0;if(f>>>0>k>>>0){continue}break}}eb(a,32,q,f,n^8192);f=(f|0)<(q|0)?q:f;continue e}if((l|0)<0&A){break c}v()}D[i+55|0]=F[i+64>>2];l=1;h=I;n=g;break g}g=G[f+1|0];f=f+1|0;continue}}j=p;if(a){break a}if(!u){break f}f=1;while(1){a=F[(f<<2)+e>>2];if(a){Cc((f<<3)+d|0,a,c);j=1;f=f+1|0;if((f|0)!=10){continue}break a}break}j=1;if(f>>>0>=10){break a}while(1){if(F[(f<<2)+e>>2]){break h}f=f+1|0;if((f|0)!=10){continue}break}break a}j=28;break b}k=k-h|0;g=(l|0)>(k|0)?l:k;if((g|0)>(o^2147483647)){break c}j=61;l=g+o|0;f=(l|0)<(q|0)?q:l;if((H|0)<(f|0)){break b}eb(a,32,f,l,n);gb(a,B,o);eb(a,48,f,l,n^65536);eb(a,48,g,k,0);gb(a,h,k);eb(a,32,f,l,n^8192);continue}break}break}j=0;break a}j=61}F[108804]=j;j=-1}Ea=i+80|0;return j}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=M(0),w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=0,O=0,P=M(0),Q=0,R=0,S=0,T=0,U=M(0);n=Ea-96|0;Ea=n;d=G[b|0];k=b+c|0;j=G[k|0];e=d>>>0>j>>>0?d:j;o=(c<<1)+b|0;g=G[o|0];e=e>>>0>g>>>0?e:g;p=L(c,3)+b|0;i=G[p|0];e=e>>>0>i>>>0?e:i;Q=(c<<2)+b|0;f=G[Q|0];e=e>>>0>f>>>0?e:f;q=L(c,5)+b|0;m=G[q|0];e=e>>>0>m>>>0?e:m;r=L(c,6)+b|0;l=G[r|0];e=e>>>0>l>>>0?e:l;s=L(c,7)+b|0;u=G[s|0];e=e>>>0>u>>>0?e:u;t=(c<<3)+b|0;w=G[t|0];e=e>>>0>w>>>0?e:w;B=L(c,9)+b|0;x=G[B|0];e=e>>>0>x>>>0?e:x;J=L(c,10)+b|0;y=G[J|0];e=e>>>0>y>>>0?e:y;K=L(c,11)+b|0;z=G[K|0];e=e>>>0>z>>>0?e:z;O=L(c,12)+b|0;A=G[O|0];e=e>>>0>A>>>0?e:A;R=L(c,13)+b|0;C=G[R|0];e=e>>>0>C>>>0?e:C;S=L(c,14)+b|0;h=G[S|0];e=e>>>0>h>>>0?e:h;T=L(c,15)+b|0;I=G[T|0];e=e>>>0>I>>>0?e:I;d=d>>>0>>0?d:j;d=d>>>0>>0?d:g;d=d>>>0>>0?d:i;d=d>>>0>>0?d:f;d=d>>>0>>0?d:m;d=d>>>0>>0?d:l;d=d>>>0>>0?d:u;d=d>>>0>>0?d:w;d=d>>>0>>0?d:x;d=d>>>0>>0?d:y;d=d>>>0>>0?d:z;d=d>>>0>>0?d:A;d=d>>>0>>0?d:C;d=d>>>0>>0?d:h;d=d>>>0>>0?d:I;a:{if((e|0)==(d|0)){E[a>>1]=d|3328;b=H[196104]|H[196105]<<16;E[a+2>>1]=b;E[a+4>>1]=b>>>16;E[a+6>>1]=H[196106];break a}j=e-d|0;if(j>>>0<=5){c=e-2|0;d=(c>>>0<256?c:e>>>0>1?-1:0)&255;E[a>>1]=d|7424;j=G[R|0];g=G[T|0];i=G[S|0];c=G[(G[k|0]-d|0)+398355|0]<<1|G[(G[b|0]-d|0)+398355|0]<<13;b=G[(G[o|0]-d|0)+398355|0];e=b>>>11|0;f=b<<21;e=c|e;b=G[(G[p|0]-d|0)+398355|0];c=b>>>23|0;f=b<<9|f;e=c|e|G[(G[Q|0]-d|0)+398355|0]<<10;b=G[(G[q|0]-d|0)+398355|0];c=b>>>2|0;f=b<<30|f;c=c|e;b=G[(G[r|0]-d|0)+398355|0];e=b>>>14|0;f=b<<18|f;e=c|e;b=G[(G[s|0]-d|0)+398355|0];c=b>>>26|0;f=b<<6|f;e=c|e|G[(G[t|0]-d|0)+398355|0]<<7;b=G[(G[B|0]-d|0)+398355|0];c=b>>>5|0;f=b<<27|f;c=c|e;b=G[(G[J|0]-d|0)+398355|0];e=b>>>17|0;f=b<<15|f;e=c|e;b=G[(G[K|0]-d|0)+398355|0];c=b>>>29|0;f=b<<3|f;b=c|e|G[(G[O|0]-d|0)+398355|0]<<4;D[a+3|0]=b;D[a+2|0]=b>>>8;c=G[(j-d|0)+398355|0];e=c>>>8|0;j=f|c<<24;b=b|e;e=b;b=G[(i-d|0)+398355|0];c=b>>>20|0;d=G[(g-d|0)+398355|0]|b<<12|j;D[a+7|0]=d;D[a+4|0]=(e&16777215)<<8|j>>>24;b=c|e;D[a+6|0]=(b&255)<<24|d>>>8;D[a+5|0]=(b&65535)<<16|d>>>16;break a}v=M(j>>>0);P=fb(M(v/M(25)));b:{if(M(N(P))=15?15:j;A=(j|0)<=1?1:j;F[n+64>>2]=A;v=fb(M(v/M(19)));c:{if(M(N(v))=15?15:j;j=(j|0)<=1?1:j;F[n+68>>2]=j;F[n+72>>2]=j;F[n+76>>2]=j;v=M(d>>>0);P=M(M(e>>>0)-v);U=fb(M(M(P*M(.5199999809265137))+v));d:{if(M(N(U))>>0<256?e:(e^-1)>>31)&255;F[n+80>>2]=I;v=fb(M(M(P*M(.5263158082962036))+v));e:{if(M(N(v))>>0<256?e:(e^-1)>>31)&255;F[n+84>>2]=u;F[n+88>>2]=u;F[n+92>>2]=u;w=0;Q=(j|A)!=1;x=0;y=0;z=0;C=0;while(1){g=-1;i=-1;f=-1;m=-1;e=0;l=G[L(c,w)+b|0];f:{if((l+7&255)>>>0<=13){while(1){d=u+L(j,D[e+12984|0])|0;h=((d>>>0<256?d:(d^-1)>>31)&255)-l|0;d=h>>31;d=(d^h)-d<<3|e;m=d>>>0>m>>>0?m:d;d=u+L(j,D[e+12968|0])|0;h=((d>>>0<256?d:(d^-1)>>31)&255)-l|0;d=h>>31;d=(d^h)-d<<3|e;f=d>>>0>f>>>0?f:d;d=u+L(j,D[e+12944|0])|0;h=((d>>>0<256?d:(d^-1)>>31)&255)-l|0;d=h>>31;d=(d^h)-d<<3|e;i=d>>>0>i>>>0?i:d;d=I+L(A,D[e+12896|0])|0;h=((d>>>0<256?d:(d^-1)>>31)&255)-l|0;d=h>>31;d=(d^h)-d<<3|e;g=d>>>0>g>>>0?g:d;e=e+1|0;if((e|0)!=8){continue}break f}}d=u-l|0;l=I-l|0;if(Q){while(1){k=d+L(j,D[e+12984|0])|0;h=k>>31;h=(h^k)-h<<3|e;m=h>>>0>m>>>0?m:h;k=d+L(j,D[e+12968|0])|0;h=k>>31;h=(h^k)-h<<3|e;f=f>>>0>>0?f:h;k=d+L(j,D[e+12944|0])|0;h=k>>31;h=(h^k)-h<<3|e;i=i>>>0>>0?i:h;k=l+L(A,D[e+12896|0])|0;h=k>>31;h=(h^k)-h<<3|e;g=g>>>0>>0?g:h;e=e+1|0;if((e|0)!=8){continue}break}break f}i=d-1|0;e=i>>31;p=d-2|0;g=p>>31;q=d-3|0;f=q>>31;r=d-10|0;m=r>>31;s=d+1|0;h=s>>31;t=d+2|0;k=t>>31;B=d+9|0;o=B>>31;e=(e^i)-e<<3;i=(g^p)-g<<3;g=i|1;e=e>>>0>>0?e:g;g=(f^q)-f<<3|2;g=e>>>0>>0?e:g;e=(m^r)-m<<3|3;g=e>>>0>g>>>0?g:e;f=d>>31;f=(f^d)-f<<3|4;g=f>>>0>g>>>0?g:f;p=(h^s)-h<<3;f=p|5;g=f>>>0>g>>>0?g:f;f=(k^t)-k<<3|6;f=f>>>0>g>>>0?g:f;g=(o^B)-o<<3|7;m=f>>>0>>0?f:g;q=d-5|0;f=q>>31;r=d-7|0;h=r>>31;s=d+4|0;k=s>>31;t=d+6|0;o=t>>31;f=(f^q)-f<<3|1;f=f>>>0>i>>>0?i:f;h=(h^r)-h<<3|2;f=f>>>0>>0?f:h;f=e>>>0>f>>>0?f:e;h=p|4;f=f>>>0>>0?f:h;k=(k^s)-k<<3|5;f=f>>>0>>0?f:k;k=(o^t)-o<<3|6;f=f>>>0>>0?f:k;f=f>>>0>>0?f:g;q=d-6|0;k=q>>31;r=d-8|0;o=r>>31;s=d+5|0;p=s>>31;t=d+7|0;d=t>>31;k=(k^q)-k<<3|1;i=i>>>0>>0?i:k;k=(o^r)-o<<3|2;i=i>>>0>>0?i:k;e=e>>>0>i>>>0?i:e;e=e>>>0>>0?e:h;i=(p^s)-p<<3|5;e=e>>>0>>0?e:i;d=(d^t)-d<<3|6;e=d>>>0>e>>>0?e:d;i=e>>>0>>0?e:g;q=l-2|0;e=q>>31;r=l-5|0;d=r>>31;s=l-8|0;g=s>>31;t=l-13|0;h=t>>31;B=l+1|0;k=B>>31;J=l+4|0;o=J>>31;K=l+7|0;p=K>>31;O=l+12|0;l=O>>31;e=(e^q)-e<<3;d=(d^r)-d<<3|1;e=d>>>0>e>>>0?e:d;d=(g^s)-g<<3|2;e=d>>>0>e>>>0?e:d;d=(h^t)-h<<3|3;e=d>>>0>e>>>0?e:d;d=(k^B)-k<<3|4;e=d>>>0>e>>>0?e:d;d=(o^J)-o<<3|5;e=d>>>0>e>>>0?e:d;d=(p^K)-p<<3|6;e=d>>>0>e>>>0?e:d;d=(l^O)-l<<3|7;g=d>>>0>e>>>0?e:d}e=n+w|0;D[e|0]=g&7;D[e+16|0]=i&7;D[e+32|0]=f&7;D[e+48|0]=m&7;e=m>>>3|0;C=L(e,e)+C|0;e=f>>>3|0;z=L(e,e)+z|0;e=i>>>3|0;y=L(e,e)+y|0;e=g>>>3|0;x=L(e,e)+x|0;w=w+1|0;if((w|0)!=16){continue}break}c=x>>>0>y>>>0;e=c?y:x;b=e>>>0>z>>>0;b=(b?z:e)>>>0>C>>>0?3:b?2:c;c=b<<2;E[a>>1]=G[c|n+80]|((G[b+398358|0]&15)<<8|H[(c|n- -64)>>1]<<12);g=(b<<4)+n|0;d=g;b=G[d+13|0];j=G[d+15|0];e=G[d+14|0];f=G[d+1|0]<<1|G[d|0]<<13;c=G[d+2|0];d=c>>>11|0;c=c<<21;i=d|f;f=c;d=G[g+3|0];c=d>>>23|0;d=f|d<<9;i=c|i;c=d;d=G[g+4|0]<<10;c=c|0;i=d|i;f=c;d=G[g+5|0];c=d>>>2|0;d=f|d<<30;i=c|i;f=d;c=G[g+6|0];d=c>>>14|0;c=f|c<<18;i=d|i;f=c;d=G[g+7|0];c=d>>>26|0;d=f|d<<6;i=c|i;c=d;d=G[g+8|0]<<7;c=c|0;i=d|i;f=c;d=G[g+9|0];c=d>>>5|0;d=f|d<<27;i=c|i;f=d;c=G[g+10|0];d=c>>>17|0;c=f|c<<15;i=d|i;f=c;d=G[g+11|0];c=d>>>29|0;d=f|d<<3;i=c|i;c=d;d=G[g+12|0]<<4;g=c|0;c=d|i;d=c;D[a+3|0]=d;D[a+2|0]=d>>>8;g=g|b<<24;b=d|b>>>8;d=e>>>20|0;e=e<<12|j|g;D[a+7|0]=e;D[a+4|0]=(b&16777215)<<8|g>>>24;b=b|d;D[a+6|0]=(b&255)<<24|e>>>8;D[a+5|0]=(b&65535)<<16|e>>>16}Ea=n+96|0}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=M(0),J=0,K=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=M(0),V=M(0),W=M(0),X=M(0);h=Ea-448|0;Ea=h;d=G[b|0];v=b+c|0;k=G[v|0];e=d>>>0>k>>>0?d:k;w=(c<<1)+b|0;f=G[w|0];e=e>>>0>f>>>0?e:f;x=L(c,3)+b|0;i=G[x|0];e=e>>>0>i>>>0?e:i;y=(c<<2)+b|0;j=G[y|0];e=e>>>0>j>>>0?e:j;z=L(c,5)+b|0;s=G[z|0];e=e>>>0>s>>>0?e:s;A=L(c,6)+b|0;l=G[A|0];e=e>>>0>l>>>0?e:l;B=L(c,7)+b|0;g=G[B|0];e=e>>>0>g>>>0?e:g;J=(c<<3)+b|0;m=G[J|0];e=e>>>0>m>>>0?e:m;K=L(c,9)+b|0;n=G[K|0];e=e>>>0>n>>>0?e:n;O=L(c,10)+b|0;o=G[O|0];e=e>>>0>o>>>0?e:o;P=L(c,11)+b|0;p=G[P|0];e=e>>>0>p>>>0?e:p;Q=L(c,12)+b|0;q=G[Q|0];e=e>>>0>q>>>0?e:q;R=L(c,13)+b|0;r=G[R|0];e=e>>>0>r>>>0?e:r;S=L(c,14)+b|0;t=G[S|0];e=e>>>0>t>>>0?e:t;T=L(c,15)+b|0;u=G[T|0];e=e>>>0>u>>>0?e:u;d=d>>>0>>0?d:k;d=d>>>0>>0?d:f;d=d>>>0>>0?d:i;d=d>>>0>>0?d:j;d=d>>>0>>0?d:s;d=d>>>0>>0?d:l;d=d>>>0>>0?d:g;d=d>>>0>>0?d:m;d=d>>>0>>0?d:n;d=d>>>0>>0?d:o;d=d>>>0

    >>0?d:p;d=d>>>0>>0?d:q;d=d>>>0>>0?d:r;d=d>>>0>>0?d:t;d=d>>>0>>0?d:u;a:{if((e|0)==(d|0)){E[a>>1]=d|3328;b=H[196104]|H[196105]<<16;E[a+2>>1]=b;E[a+4>>1]=b>>>16;E[a+6>>1]=H[196106];break a}k=e-d|0;if(k>>>0<=5){c=e-2|0;d=(c>>>0<256?c:e>>>0>1?-1:0)&255;E[a>>1]=d|7424;k=G[R|0];f=G[T|0];i=G[S|0];c=G[(G[v|0]-d|0)+398355|0]<<1|G[(G[b|0]-d|0)+398355|0]<<13;b=G[(G[w|0]-d|0)+398355|0];e=b>>>11|0;j=b<<21;e=c|e;b=G[(G[x|0]-d|0)+398355|0];c=b>>>23|0;j=b<<9|j;e=c|e|G[(G[y|0]-d|0)+398355|0]<<10;b=G[(G[z|0]-d|0)+398355|0];c=b>>>2|0;j=b<<30|j;c=c|e;b=G[(G[A|0]-d|0)+398355|0];e=b>>>14|0;j=b<<18|j;e=c|e;b=G[(G[B|0]-d|0)+398355|0];c=b>>>26|0;j=b<<6|j;e=c|e|G[(G[J|0]-d|0)+398355|0]<<7;b=G[(G[K|0]-d|0)+398355|0];c=b>>>5|0;j=b<<27|j;c=c|e;b=G[(G[O|0]-d|0)+398355|0];e=b>>>17|0;j=b<<15|j;e=c|e;b=G[(G[P|0]-d|0)+398355|0];c=b>>>29|0;j=b<<3|j;b=c|e|G[(G[Q|0]-d|0)+398355|0]<<4;D[a+3|0]=b;D[a+2|0]=b>>>8;c=G[(k-d|0)+398355|0];e=c>>>8|0;k=j|c<<24;b=b|e;e=b;b=G[(i-d|0)+398355|0];c=b>>>20|0;d=G[(f-d|0)+398355|0]|b<<12|k;D[a+7|0]=d;D[a+4|0]=(e&16777215)<<8|k>>>24;b=c|e;D[a+6|0]=(b&255)<<24|d>>>8;D[a+5|0]=(b&65535)<<16|d>>>16;break a}U=M(d>>>0);W=M(M(e>>>0)-U);X=M(k>>>0);d=0;while(1){f=d<<2;g=f+(h+320|0)|0;e=d<<3;k=D[e+12883|0];C=M(D[e+12887|0]-k|0);V=fb(M(X/C));b:{if(M(N(V))=15?15:e;F[g>>2]=(e|0)<=1?1:e;f=f+(h+384|0)|0;C=fb(M(M(W*M(M(0-k|0)/C))+U));c:{if(M(N(C))>2]=(e>>>0<256?e:(e^-1)>>31)&255;d=d+1|0;if((d|0)!=16){continue}break}F[h+312>>2]=0;F[h+316>>2]=0;F[h+304>>2]=0;F[h+308>>2]=0;F[h+296>>2]=0;F[h+300>>2]=0;F[h+288>>2]=0;F[h+292>>2]=0;F[h+280>>2]=0;F[h+284>>2]=0;F[h+272>>2]=0;F[h+276>>2]=0;F[h+264>>2]=0;F[h+268>>2]=0;F[h+256>>2]=0;F[h+260>>2]=0;j=0;while(1){k=(j<<3)+12880|0;e=j<<2;t=e+(h+256|0)|0;s=F[t>>2];f=F[e+(h+384|0)>>2];i=F[e+(h+320|0)>>2];l=0;d=-1;g=0;while(1){e=G[L(c,l)+b|0];d:{if((e|0)==(d|0)){D[((j<<4)+h|0)+l|0]=g&7;e=g>>>3|0;s=L(e,e)+s|0;break d}d=f+L(i,D[k|0])|0;u=((d>>>0<256?d:(d^-1)>>31)&255)-e|0;d=u>>31;g=f+L(i,D[k+1|0])|0;v=((g>>>0<256?g:(g^-1)>>31)&255)-e|0;g=v>>31;m=f+L(i,D[k+2|0])|0;w=((m>>>0<256?m:(m^-1)>>31)&255)-e|0;m=w>>31;n=f+L(i,D[k+3|0])|0;x=((n>>>0<256?n:(n^-1)>>31)&255)-e|0;n=x>>31;o=f+L(i,D[k+4|0])|0;y=((o>>>0<256?o:(o^-1)>>31)&255)-e|0;o=y>>31;p=f+L(i,D[k+5|0])|0;z=((p>>>0<256?p:(p^-1)>>31)&255)-e|0;p=z>>31;q=f+L(i,D[k+6|0])|0;A=((q>>>0<256?q:(q^-1)>>31)&255)-e|0;q=A>>31;r=f+L(i,D[k+7|0])|0;B=((r>>>0<256?r:(r^-1)>>31)&255)-e|0;r=B>>31;d=(d^u)-d<<3;g=(g^v)-g<<3|1;d=d>>>0>>0?d:g;g=(m^w)-m<<3|2;d=d>>>0>>0?d:g;g=(n^x)-n<<3|3;d=d>>>0>>0?d:g;g=(o^y)-o<<3|4;d=d>>>0>>0?d:g;g=(p^z)-p<<3|5;d=d>>>0>>0?d:g;g=(q^A)-q<<3|6;d=d>>>0>>0?d:g;g=(r^B)-r<<3|7;g=d>>>0>>0?d:g;D[((j<<4)+h|0)+l|0]=g&7;d=g>>>3|0;s=L(d,d)+s|0;d=e}l=l+1|0;if((l|0)!=16){continue}break}F[t>>2]=s;j=j+1|0;if((j|0)!=16){continue}break}b=F[h+260>>2];c=F[h+256>>2];e=b>>>0>>0;d=F[h+264>>2];b=e?b:c;c=d>>>0>>0;f=c?2:e;e=F[h+268>>2];b=c?d:b;c=e>>>0>>0;f=c?3:f;d=F[h+272>>2];b=c?e:b;c=d>>>0>>0;f=c?4:f;e=F[h+276>>2];b=c?d:b;c=e>>>0>>0;f=c?5:f;d=F[h+280>>2];b=c?e:b;c=d>>>0>>0;f=c?6:f;e=F[h+284>>2];b=c?d:b;c=e>>>0>>0;f=c?7:f;d=F[h+288>>2];b=c?e:b;c=d>>>0>>0;f=c?8:f;e=F[h+292>>2];b=c?d:b;c=e>>>0>>0;f=c?9:f;d=F[h+296>>2];b=c?e:b;c=d>>>0>>0;f=c?10:f;e=F[h+300>>2];b=c?d:b;c=e>>>0>>0;f=c?11:f;d=F[h+304>>2];b=c?e:b;c=d>>>0>>0;f=c?12:f;e=F[h+308>>2];b=c?d:b;c=e>>>0>>0;f=c?13:f;d=F[h+312>>2];b=c?e:b;c=d>>>0>>0;b=I[h+316>>2]<(c?d:b)>>>0?15:c?14:f;c=b<<2;E[a>>1]=H[c+(h+320|0)>>1]<<12|b<<8&3840|G[c+(h+384|0)|0];f=(b<<4)+h|0;d=f;b=G[d+13|0];k=G[d+15|0];e=G[d+14|0];j=G[d+1|0]<<1|G[d|0]<<13;c=G[d+2|0];d=c>>>11|0;c=c<<21;i=d|j;g=c;d=G[f+3|0];c=d>>>23|0;d=g|d<<9;i=c|i;c=d;d=G[f+4|0]<<10;c=c|0;i=d|i;g=c;d=G[f+5|0];c=d>>>2|0;d=g|d<<30;i=c|i;g=d;c=G[f+6|0];d=c>>>14|0;c=g|c<<18;i=d|i;g=c;d=G[f+7|0];c=d>>>26|0;d=g|d<<6;i=c|i;c=d;d=G[f+8|0]<<7;c=c|0;i=d|i;g=c;d=G[f+9|0];c=d>>>5|0;d=g|d<<27;i=c|i;g=d;c=G[f+10|0];d=c>>>17|0;c=g|c<<15;i=d|i;g=c;d=G[f+11|0];c=d>>>29|0;d=g|d<<3;i=c|i;c=d;d=G[f+12|0]<<4;f=c|0;c=d|i;d=c;D[a+3|0]=d;D[a+2|0]=d>>>8;f=f|b<<24;b=d|b>>>8;d=e>>>20|0;e=e<<12|k|f;D[a+7|0]=e;D[a+4|0]=(b&16777215)<<8|f>>>24;b=b|d;D[a+6|0]=(b&255)<<24|e>>>8;D[a+5|0]=(b&65535)<<16|e>>>16}Ea=h+448|0}function Ib(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ea-32|0;Ea=g;F[g+24>>2]=b;F[g+28>>2]=a;a:while(1){h=a;b:while(1){l=b-4|0;c:while(1){d:{e:{f:{g:{h:{i:{j:{k:{e=b-h|0;f=e>>2;switch(f|0){case 4:break j;case 2:break k;case 0:case 1:break d;case 3:break g;case 5:break i;default:break h}}a=b-4|0;F[g+24>>2]=a;if(I[a>>2]>=I[h>>2]){break d}a=F[g+28>>2];b=F[a>>2];c=a;a=F[g+24>>2];F[c>>2]=F[a>>2];F[a>>2]=b;break d}a=b-4|0;F[g+24>>2]=a;Ac(h,h+4|0,h+8|0,a);break d}a=b-4|0;F[g+24>>2]=a;zc(h,h+4|0,h+8|0,h+12|0,a);break d}if((e|0)<=123){c=Ea-16|0;Ea=c;d=h+8|0;tb(h,h+4|0,d);a=h+12|0;while(1){F[c+12>>2]=a;if((a|0)!=(b|0)){if(I[a>>2]>2]){F[c+8>>2]=F[F[c+12>>2]>>2];F[c+4>>2]=d;a=F[c+12>>2];while(1){l:{F[a>>2]=F[F[c+4>>2]>>2];a=F[c+4>>2];if((h|0)==(a|0)){a=h;break l}d=a-4|0;F[c+4>>2]=d;if(I[c+8>>2]>2]){continue}}break}F[a>>2]=F[c+8>>2]}d=F[c+12>>2];a=d+4|0;continue}break}Ea=c+16|0;break d}if(!d){if((b|0)==(h|0)){break d}e=Ea-16|0;Ea=e;F[e+12>>2]=h;a=b;if((a|0)!=(h|0)){m:{b=a-h|0;if((b|0)<5){break m}c=b>>2;b=c-2>>>1|0;while(1){if((b|0)<0){break m}wc(h,c,(b<<2)+h|0);b=b-1|0;continue}}d=a-h>>2;b=a;while(1){F[e+8>>2]=b;c=F[e+12>>2];k=c;if((a|0)!=(b|0)){if(I[b>>2]>2]){b=F[e+8>>2];h=F[b>>2];F[b>>2]=F[c>>2];F[c>>2]=h;b=F[e+12>>2];wc(b,d,b)}b=F[e+8>>2]+4|0;continue}break}b=a-k>>2;while(1){if((b|0)>1){c=a;i=Ea-16|0;Ea=i;F[i+12>>2]=k;n:{if(b>>>0<2){break n}h=F[i+12>>2];l=F[h>>2];a=0;f=Ea-16|0;Ea=f;n=b-2>>>1|0;while(1){m=(a<<2)+h|0;F[f+12>>2]=m+4;d=a<<1;a=d|1;d=d+2|0;if(!((d|0)>=(b|0)|I[m+4>>2]>=I[m+8>>2])){F[f+12>>2]=F[f+12>>2]+4;a=d}F[h>>2]=F[F[f+12>>2]>>2];h=F[f+12>>2];if((a|0)<=(n|0)){continue}break}Ea=f+16|0;a=c-4|0;F[i+8>>2]=a;if((a|0)==(h|0)){F[h>>2]=l;break n}F[h>>2]=F[F[i+8>>2]>>2];F[F[i+8>>2]>>2]=l;a=Ea-16|0;Ea=a;d=h+4|0;f=F[i+12>>2];h=d-f>>2;o:{if((h|0)<2){break o}l=d-4|0;F[a+12>>2]=l;d=h-2>>>1|0;h=f+(d<<2)|0;F[a+8>>2]=h;if(I[h>>2]>=I[l>>2]){break o}F[a+4>>2]=F[F[a+12>>2]>>2];p:{while(1){F[F[a+12>>2]>>2]=F[F[a+8>>2]>>2];h=F[a+8>>2];F[a+12>>2]=h;if(!d){break p}d=d-1>>>1|0;h=f+(d<<2)|0;F[a+8>>2]=h;if(I[h>>2]>2]){continue}break}h=F[a+12>>2]}F[h>>2]=F[a+4>>2]}Ea=a+16|0}Ea=i+16|0;b=b-1|0;a=c-4|0;continue}break}}Ea=e+16|0;break d}k=(f<<1&-4)+h|0;F[g+20>>2]=k;q:{if(e>>>0>=3997){i=Ea-32|0;Ea=i;e=f&-4;m=e+h|0;F[i+24>>2]=m;F[i+28>>2]=h;F[i+20>>2]=k;n=e+k|0;F[i+16>>2]=n;F[i+12>>2]=l;f=Ea-16|0;Ea=f;F[f+8>>2]=m;F[f+12>>2]=h;F[f+4>>2]=k;F[f>>2]=n;e=yc(h,m,k);r:{if(I[n>>2]>=I[k>>2]){break r}j=F[f+4>>2];o=F[j>>2];p=j;j=F[f>>2];F[p>>2]=F[j>>2];F[j>>2]=o;if(I[F[f+4>>2]>>2]>=I[m>>2]){e=e+1|0;break r}j=F[f+8>>2];o=F[j>>2];p=j;j=F[f+4>>2];F[p>>2]=F[j>>2];F[j>>2]=o;if(I[F[f+8>>2]>>2]>=I[h>>2]){e=e+2|0;break r}e=e+3|0;j=F[f+12>>2];o=F[j>>2];p=j;j=F[f+8>>2];F[p>>2]=F[j>>2];F[j>>2]=o}Ea=f+16|0;s:{if(I[l>>2]>=I[n>>2]){break s}f=F[i+16>>2];n=F[f>>2];j=f;f=F[i+12>>2];F[j>>2]=F[f>>2];F[f>>2]=n;if(I[F[i+16>>2]>>2]>=I[k>>2]){e=e+1|0;break s}f=F[i+20>>2];k=F[f>>2];j=f;f=F[i+16>>2];F[j>>2]=F[f>>2];F[f>>2]=k;if(I[F[i+20>>2]>>2]>=I[m>>2]){e=e+2|0;break s}f=F[i+24>>2];k=F[f>>2];j=f;f=F[i+20>>2];F[j>>2]=F[f>>2];F[f>>2]=k;if(I[F[i+24>>2]>>2]>=I[h>>2]){e=e+3|0;break s}e=e+4|0;f=F[i+28>>2];k=F[f>>2];j=f;f=F[i+24>>2];F[j>>2]=F[f>>2];F[f>>2]=k}Ea=i+32|0;break q}e=yc(h,k,l)}i=e;d=d-1|0;F[g+16>>2]=h;F[g+12>>2]=l;if(I[h>>2]>=I[F[g+20>>2]>>2]){while(1){e=F[g+12>>2]-4|0;F[g+12>>2]=e;f=F[g+16>>2];if((f|0)==(e|0)){F[g+12>>2]=l;F[g+16>>2]=f+4;e=F[g+16>>2];if(I[h>>2]>2]){break e}while(1){a=F[g+12>>2];if((a|0)==(e|0)){break d}if(I[h>>2]>2]){e=F[g+16>>2];i=F[e>>2];F[e>>2]=F[a>>2];F[a>>2]=i;e=F[g+16>>2]+4|0;F[g+16>>2]=e;break e}else{e=F[g+16>>2]+4|0;F[g+16>>2]=e;continue}}}if(I[e>>2]>=I[F[g+20>>2]>>2]){continue}break}e=F[g+16>>2];f=F[e>>2];j=e;e=F[g+12>>2];F[j>>2]=F[e>>2];F[e>>2]=f;i=i+1|0}e=F[g+16>>2]+4|0;F[g+16>>2]=e;t:{if(I[g+12>>2]<=e>>>0){break t}while(1){if(I[e>>2]>2]>>2]){e=F[g+16>>2]+4|0;F[g+16>>2]=e;continue}while(1){e=F[g+12>>2]-4|0;F[g+12>>2]=e;if(I[e>>2]>=I[F[g+20>>2]>>2]){continue}break}e=F[g+16>>2];if(e>>>0>I[g+12>>2]){break t}f=F[e>>2];j=e;e=F[g+12>>2];F[j>>2]=F[e>>2];F[e>>2]=f;e=F[g+16>>2];if((e|0)==F[g+20>>2]){F[g+20>>2]=F[g+12>>2]}i=i+1|0;e=e+4|0;F[g+16>>2]=e;continue}}f=F[g+20>>2];if(!((f|0)==(e|0)|I[f>>2]>=I[e>>2])){e=F[g+16>>2];k=F[e>>2];F[e>>2]=F[f>>2];F[f>>2]=k;i=i+1|0}e=F[g+16>>2];u:{if(i){break u}i=xc(h,e);if(xc(F[g+16>>2]+4|0,b)){if(i){break d}b=F[g+16>>2];F[g+24>>2]=b;continue b}e=F[g+16>>2];if(!i){break u}a=e+4|0;break f}if((e-a|0)<(b-e|0)){Ib(a,e,c,d);a=F[g+16>>2]+4|0;break f}Ib(e+4|0,b,c,d);b=F[g+16>>2];F[g+24>>2]=b;continue a}a=b-4|0;F[g+24>>2]=a;tb(h,h+4|0,a);break d}F[g+28>>2]=a;continue a}if(F[g+12>>2]==(e|0)){break d}while(1){v:{if(I[h>>2]>=I[e>>2]){break v}while(1){a=F[g+12>>2]-4|0;F[g+12>>2]=a;if(I[h>>2]>2]){continue}break}a=F[g+16>>2];if(a>>>0>2]){e=F[a>>2];f=a;a=F[g+12>>2];F[f>>2]=F[a>>2];F[a>>2]=e;break v}F[g+28>>2]=a;h=a;continue c}e=F[g+16>>2]+4|0;F[g+16>>2]=e;continue}}break}break}break}Ea=g+32|0}function $a(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Ea-416|0;Ea=f;a:{if((a|0)==8){F[e>>2]=F[c>>2];F[e+4>>2]=F[c>>2];F[e+8>>2]=F[c>>2];F[e+12>>2]=F[c>>2];F[e+16>>2]=F[c>>2];F[e+20>>2]=F[c>>2];F[e+24>>2]=F[c>>2];F[e+28>>2]=F[c>>2];F[e+32>>2]=F[c>>2];F[e+36>>2]=F[c>>2];F[e+40>>2]=F[c>>2];F[e+44>>2]=F[c>>2];F[e+48>>2]=F[c>>2];F[e+52>>2]=F[c>>2];F[e+56>>2]=F[c>>2];F[e+60>>2]=F[c>>2];break a}u=G[a+7008|0];c=G[a+7072|0];m=G[a+7104|0];g=G[a+7168|0];h=g>>>0>=4?4:g;b:{if((h|0)!=2){n=m>>>0<=1?1:m;p=h>>>0<=3?3:h;q=p-h|0;j=q+1&3;k=a-15>>>0>4294967288;o=(c<<9)+413088|0;while(1){c:{if(!h){break c}g=(f+384|0)+(r<<3)|0;i=(L(h,r)<<1)+d|0;D[g|0]=G[o+(G[i+21|0]<<1)|0];D[g+4|0]=G[o+(G[i+22|0]<<1)|0];if((h|0)==1){break c}D[g+1|0]=G[o+(G[i+23|0]<<1)|0];c=g|4;D[c+1|0]=G[o+(G[i+24|0]<<1)|0];D[g+2|0]=G[o+(G[i+25|0]<<1)|0];D[c+2|0]=G[o+(G[i+26|0]<<1)|0];if((h|0)==3){break c}D[g+3|0]=G[o+(G[i+27|0]<<1)|0];D[c+3|0]=G[o+(G[i+28|0]<<1)|0]}d:{if(k){break d}g=(f+384|0)+(r<<3)|0;s=g|4;l=0;c=h;if(j){while(1){D[c+g|0]=255;D[c+s|0]=255;c=c+1|0;l=l+1|0;if((j|0)!=(l|0)){continue}break}}if(q>>>0<3){break d}while(1){D[c+g|0]=255;D[c+s|0]=255;i=c+1|0;D[i+g|0]=255;D[i+s|0]=255;i=c+2|0;D[i+g|0]=255;D[i+s|0]=255;i=c+3|0;D[i+g|0]=255;D[i+s|0]=255;c=c+4|0;if((i|0)!=(p|0)){continue}break}}r=r+1|0;if((n|0)!=(r|0)){continue}break}break b}i=m>>>0<=1?1:m;g=0;n=(c<<9)+413088|0;while(1){p=(g<<2)+d|0;q=G[n+(G[p+21|0]<<1)|0];c=G[n+(G[p+23|0]<<1)|0];k=G[n+(G[p+22|0]<<1)|0];j=(f+384|0)+(g<<3)|0;D[j+7|0]=G[n+(G[p+24|0]<<1)|0];D[j+6|0]=k;D[j+5|0]=k;D[j+4|0]=k;D[j+3|0]=c;D[j+2|0]=q;D[j+1|0]=q;D[j|0]=q;g=g+1|0;if((i|0)!=(g|0)){continue}break}}y=F[(u<<2)+10528>>2];e:{f:{switch(h|0){case 2:p=m>>>0<=1?1:m;l=0;while(1){h=(f+384|0)+(l<<3)|0;c=G[h+7|0];q=c<<8|c;c=G[h+3|0];k=c<<8|c;c=G[h+4|0];i=c<<8|c;c=G[h|0];h=c<<8|c;g=0;while(1){c=g<<2;j=c+((l<<7)+f|0)|0;n=F[c+y>>2];c=64-n|0;D[j+3|0]=(L(c,k)+L(n,q)|0)+32>>>14;c=(L(c,h)+L(i,n)|0)+32>>>14|0;D[j+2|0]=c;D[j+1|0]=c;D[j|0]=c;g=g+1|0;if(!(g>>>u|0)){continue}break}l=l+1|0;if((p|0)!=(l|0)){continue}break};break e;case 0:h=m>>>0<=1?1:m;k=h&1;g=0;c=0;if(!(458083>>>a&1)){i=h&254;l=0;while(1){h=t<<7;c=0;while(1){F[(h+(c<<2)|0)+f>>2]=-1;c=c+1|0;if(!(c>>>u|0)){continue}break}h=h|128;c=0;while(1){F[(h+(c<<2)|0)+f>>2]=-1;c=c+1|0;if(!(c>>>u|0)){continue}break}t=t+2|0;l=l+2|0;if((i|0)!=(l|0)){continue}break}c=t<<7}if(!k){break e}while(1){F[((g<<2)+c|0)+f>>2]=-1;g=g+1|0;if(!(g>>>u|0)){continue}break};break e;default:break f}}c=3-h|0;j=(c>>>0<=3?c:0)+1|0;n=m>>>0<=1?1:m;p=h&6;q=h&1;while(1){k=t<<7;i=k|1;v=(f+384|0)+(t<<3)|0;w=v|4;r=0;while(1){o=r<<2;x=o+(f+k|0)|0;m=F[o+y>>2];l=64-m|0;c=0;s=0;if((h|0)!=1){while(1){D[c+x|0]=(L(L(l,G[c+v|0]),257)+L(L(m,G[c+w|0]),257)|0)+32>>>14;g=c|1;D[x+g|0]=(L(L(l,G[g+v|0]),257)+L(L(m,G[g+w|0]),257)|0)+32>>>14;c=c+2|0;s=s+2|0;if((p|0)!=(s|0)){continue}break}}if(q){D[c+x|0]=(L(L(l,G[c+v|0]),257)+L(L(m,G[c+w|0]),257)|0)+32>>>14;g=c}if(g>>>0<=2){Ta(((i+o|0)+g|0)+f|0,255,j)}r=r+1|0;if(!(r>>>u|0)){continue}break}t=t+1|0;if((n|0)!=(t|0)){continue}break}}if(!(382655>>>a&1)){g=f|3;h=f|2;b=f|1;c=0;while(1){k=(c<<2)+e|0;a=(c<<1)+d|0;i=G[a+39|0];a=G[a+40|0];D[k|0]=G[((F[d+16>>2]?i:a)<<2)+f|0];D[k+1|0]=G[b+((F[d+16>>2]==1?a:i)<<2)|0];D[k+2|0]=G[h+((F[d+16>>2]==2?a:i)<<2)|0];D[k+3|0]=G[g+((F[d+16>>2]==3?a:i)<<2)|0];c=c+1|0;if((c|0)!=16){continue}break}break a}c=10320;g:{if(!(66204>>>a&1)){break g}h:{switch(a-3|0){case 0:c=(b<<4)+6160|0;break g;case 4:c=(b<<4)+6336|0;break g;default:break h}}c=(b<<4)+5680|0}i:{if(457827>>>a&1){F[e>>2]=F[(G[d+39|0]<<2)+f>>2];F[e+4>>2]=F[(G[d+40|0]<<2)+f>>2];F[e+8>>2]=F[(G[d+41|0]<<2)+f>>2];F[e+12>>2]=F[(G[d+42|0]<<2)+f>>2];F[e+16>>2]=F[(G[d+43|0]<<2)+f>>2];F[e+20>>2]=F[(G[d+44|0]<<2)+f>>2];F[e+24>>2]=F[(G[d+45|0]<<2)+f>>2];F[e+28>>2]=F[(G[d+46|0]<<2)+f>>2];F[e+32>>2]=F[(G[d+47|0]<<2)+f>>2];F[e+36>>2]=F[(G[d+48|0]<<2)+f>>2];F[e+40>>2]=F[(G[d+49|0]<<2)+f>>2];F[e+44>>2]=F[(G[d+50|0]<<2)+f>>2];F[e+48>>2]=F[(G[d+51|0]<<2)+f>>2];F[e+52>>2]=F[(G[d+52|0]<<2)+f>>2];F[e+56>>2]=F[(G[d+53|0]<<2)+f>>2];a=(G[d+54|0]<<2)+f|0;break i}F[e>>2]=F[((G[c|0]<<7)+f|0)+(G[d+39|0]<<2)>>2];F[e+4>>2]=F[((G[c+1|0]<<7)+f|0)+(G[d+40|0]<<2)>>2];F[e+8>>2]=F[((G[c+2|0]<<7)+f|0)+(G[d+41|0]<<2)>>2];F[e+12>>2]=F[((G[c+3|0]<<7)+f|0)+(G[d+42|0]<<2)>>2];F[e+16>>2]=F[((G[c+4|0]<<7)+f|0)+(G[d+43|0]<<2)>>2];F[e+20>>2]=F[((G[c+5|0]<<7)+f|0)+(G[d+44|0]<<2)>>2];F[e+24>>2]=F[((G[c+6|0]<<7)+f|0)+(G[d+45|0]<<2)>>2];F[e+28>>2]=F[((G[c+7|0]<<7)+f|0)+(G[d+46|0]<<2)>>2];F[e+32>>2]=F[((G[c+8|0]<<7)+f|0)+(G[d+47|0]<<2)>>2];F[e+36>>2]=F[((G[c+9|0]<<7)+f|0)+(G[d+48|0]<<2)>>2];F[e+40>>2]=F[((G[c+10|0]<<7)+f|0)+(G[d+49|0]<<2)>>2];F[e+44>>2]=F[((G[c+11|0]<<7)+f|0)+(G[d+50|0]<<2)>>2];F[e+48>>2]=F[((G[c+12|0]<<7)+f|0)+(G[d+51|0]<<2)>>2];F[e+52>>2]=F[((G[c+13|0]<<7)+f|0)+(G[d+52|0]<<2)>>2];F[e+56>>2]=F[((G[c+14|0]<<7)+f|0)+(G[d+53|0]<<2)>>2];a=((G[c+15|0]<<7)+f|0)+(G[d+54|0]<<2)|0}F[e+60>>2]=F[a>>2]}Ea=f+416|0}function Nc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=Ea-16|0;Ea=s;F[s+12>>2]=0;F[s+8>>2]=0;e=-44;z=Oc(d+740|0,d,s+8|0,s+12|0,b,c,d+128|0);a:{b:{if(z>>>0>4294967176){break b}t=F[s+12>>2];b=F[a>>2];if(t>>>0>(b&255)+1>>>0){break a}F[a>>2]=b&-16776961|t<<16&16711680;q=F[s+8>>2];e=0;c:{if((t|0)<0){break c}c=t+1|0;j=c&3;b=0;if(t>>>0>=3){n=c&-4;l=d- -64|0;while(1){i=e<<2;f=F[i+d>>2];F[i+l>>2]=b;c=i|4;h=F[c+d>>2];g=c+l|0;c=b+f|0;F[g>>2]=c;b=i|8;f=F[b+d>>2];h=c+h|0;F[b+l>>2]=h;b=i|12;c=F[b+d>>2];g=b+l|0;b=f+h|0;F[g>>2]=b;b=b+c|0;e=e+4|0;m=m+4|0;if((n|0)!=(m|0)){continue}break}}if(!j){break c}c=0;while(1){h=(e<<2)+d|0;F[h- -64>>2]=b;e=e+1|0;b=F[h>>2]+b|0;c=c+1|0;if((j|0)!=(c|0)){continue}break}}e=0;if((q|0)>3){h=q-3|0;i=d- -64|0;j=d+740|0;n=d+484|0;while(1){b=i+(G[e+j|0]<<2)|0;c=F[b>>2];F[b>>2]=c+1;D[c+n|0]=e;c=e|1;b=i+(G[c+j|0]<<2)|0;f=F[b>>2];F[b>>2]=f+1;D[f+n|0]=c;c=e|2;b=i+(G[c+j|0]<<2)|0;f=F[b>>2];F[b>>2]=f+1;D[f+n|0]=c;c=e|3;b=i+(G[c+j|0]<<2)|0;f=F[b>>2];F[b>>2]=f+1;D[f+n|0]=c;e=e+4|0;if((h|0)>(e|0)){continue}break}}d:{if((e|0)>=(q|0)){break d}b=e+1|0;if(q-e&1){c=((G[(d+e|0)+740|0]<<2)+d|0)- -64|0;h=F[c>>2];F[c>>2]=h+1;D[(d+h|0)+484|0]=e;e=b}if((b|0)==(q|0)){break d}j=d- -64|0;n=d+740|0;f=d+484|0;while(1){b=j+(G[e+n|0]<<2)|0;c=F[b>>2];F[b>>2]=c+1;D[c+f|0]=e;c=e+1|0;b=j+(G[c+n|0]<<2)|0;h=F[b>>2];F[b>>2]=h+1;D[f+h|0]=c;e=e+2|0;if((q|0)!=(e|0)){continue}break}}q=t+1|0;if(q>>>0<2){break b}r=a+4|0;m=F[d>>2];c=0;e=1;while(1){n=e;g=q-e|0;k=F[(e<<2)+d>>2];e:{f:{g:{h:{i:{j:{l=1<>1;switch(y-1|0){case 0:break g;case 1:break h;case 3:break i;case 7:break j;default:break f}}if((k|0)<=0){break e}l=g<<8&65280;e=0;b=c;if((k|0)!=1){i=k&-2;a=0;while(1){f=r+(b<<1)|0;j=d+484|0;h=We(l|G[j+(e+m|0)|0],0,65537,65537);D[f+8|0]=h;o=h>>>8|0;D[f+9|0]=o;p=h>>>16|0;D[f+10|0]=p;u=h>>>24|0;D[f+11|0]=u;g=Fa;D[f+12|0]=g;v=g>>>8|0;D[f+13|0]=v;w=g>>>16|0;D[f+14|0]=w;x=g>>>24|0;D[f+15|0]=x;D[f|0]=h;D[f+1|0]=o;D[f+2|0]=p;D[f+3|0]=u;D[f+4|0]=g;D[f+5|0]=v;D[f+6|0]=w;D[f+7|0]=x;h=We(l|G[j+((e|1)+m|0)|0],0,65537,65537);D[f+24|0]=h;D[f+25|0]=h>>>8;D[f+26|0]=h>>>16;D[f+27|0]=h>>>24;j=Fa;D[f+28|0]=j;g=j>>>8|0;D[f+29|0]=g;o=j>>>16|0;D[f+30|0]=o;p=j>>>24|0;D[f+31|0]=p;D[f+16|0]=h;D[f+17|0]=h>>>8;D[f+18|0]=h>>>16;D[f+19|0]=h>>>24;D[f+20|0]=j;D[f+21|0]=g;D[f+22|0]=o;D[f+23|0]=p;e=e+2|0;b=b+16|0;a=a+2|0;if((i|0)!=(a|0)){continue}break}}if(!(k&1)){break e}a=We(l|G[((e+m|0)+d|0)+484|0],0,65537,65537);e=r+(b<<1)|0;D[e+8|0]=a;h=a>>>8|0;D[e+9|0]=h;f=a>>>16|0;D[e+10|0]=f;g=a>>>24|0;D[e+11|0]=g;b=Fa;D[e+12|0]=b;i=b>>>8|0;D[e+13|0]=i;j=b>>>16|0;D[e+14|0]=j;l=b>>>24|0;D[e+15|0]=l;D[e|0]=a;D[e+1|0]=h;D[e+2|0]=f;D[e+3|0]=g;D[e+4|0]=b;D[e+5|0]=i;D[e+6|0]=j;D[e+7|0]=l;break e}if((k|0)<=0){break e}l=g<<8&65280;e=0;b=c;if((k|0)!=1){i=k&-2;h=0;while(1){a=r+(b<<1)|0;j=d+484|0;f=We(l|G[j+(e+m|0)|0],0,65537,65537);D[a|0]=f;D[a+1|0]=f>>>8;D[a+2|0]=f>>>16;D[a+3|0]=f>>>24;f=Fa;D[a+4|0]=f;D[a+5|0]=f>>>8;D[a+6|0]=f>>>16;D[a+7|0]=f>>>24;f=We(l|G[j+((e|1)+m|0)|0],0,65537,65537);D[a+8|0]=f;D[a+9|0]=f>>>8;D[a+10|0]=f>>>16;D[a+11|0]=f>>>24;f=Fa;D[a+12|0]=f;D[a+13|0]=f>>>8;D[a+14|0]=f>>>16;D[a+15|0]=f>>>24;e=e+2|0;b=b+8|0;h=h+2|0;if((i|0)!=(h|0)){continue}break}}if(!(k&1)){break e}b=r+(b<<1)|0;a=We(l|G[((e+m|0)+d|0)+484|0],0,65537,65537);D[b|0]=a;D[b+1|0]=a>>>8;D[b+2|0]=a>>>16;D[b+3|0]=a>>>24;a=Fa;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24;break e}if((k|0)<=0){break e}b=0;h=c;if((k|0)!=1){j=k&-2;a=0;while(1){i=r+(h<<1)|0;f=d+484|0;e=G[f+(b+m|0)|0];D[i+2|0]=e;D[i+1|0]=g;D[i|0]=e;D[i+3|0]=g;e=G[f+((b|1)+m|0)|0];D[i+5|0]=g;D[i+4|0]=e;D[i+7|0]=g;D[i+6|0]=e;b=b+2|0;h=h+4|0;a=a+2|0;if((j|0)!=(a|0)){continue}break}}if(!(k&1)){break e}e=r+(h<<1)|0;a=G[((b+m|0)+d|0)+484|0];D[e+2|0]=a;D[e+1|0]=g;D[e|0]=a;D[e+3|0]=g;break e}if((k|0)<=0){break e}e=0;h=c;if((k|0)!=1){j=k&-2;a=0;while(1){f=d+484|0;b=G[f+(e+m|0)|0];i=r+(h<<1)|0;D[i+1|0]=g;D[i|0]=b;b=G[f+((e|1)+m|0)|0];D[i+3|0]=g;D[i+2|0]=b;e=e+2|0;h=h+2|0;a=a+2|0;if((j|0)!=(a|0)){continue}break}}if(!(k&1)){break e}b=G[((e+m|0)+d|0)+484|0];a=r+(h<<1)|0;D[a+1|0]=g;D[a|0]=b;break e}if((k|0)<=0){break e}i=g<<8&65280;h=0;a=c;while(1){if((l|0)>=2){f=We(i|G[((h+m|0)+d|0)+484|0],0,65537,65537);e=Fa;j=r+(a<<1)|0;b=0;while(1){g=j+(b<<1)|0;D[g+24|0]=f;o=f>>>8|0;D[g+25|0]=o;p=f>>>16|0;D[g+26|0]=p;u=f>>>24|0;D[g+27|0]=u;D[g+28|0]=e;v=e>>>8|0;D[g+29|0]=v;w=e>>>16|0;D[g+30|0]=w;x=e>>>24|0;D[g+31|0]=x;D[g+16|0]=f;D[g+17|0]=o;D[g+18|0]=p;D[g+19|0]=u;D[g+20|0]=e;D[g+21|0]=v;D[g+22|0]=w;D[g+23|0]=x;D[g+8|0]=f;D[g+9|0]=o;D[g+10|0]=p;D[g+11|0]=u;D[g+12|0]=e;D[g+13|0]=v;D[g+14|0]=w;D[g+15|0]=x;D[g|0]=f;D[g+1|0]=o;D[g+2|0]=p;D[g+3|0]=u;D[g+4|0]=e;D[g+5|0]=v;D[g+6|0]=w;D[g+7|0]=x;b=b+16|0;if((y|0)>(b|0)){continue}break}}a=a+y|0;h=h+1|0;if((k|0)!=(h|0)){continue}break}}e=n+1|0;m=k+m|0;c=L(k,y)+c|0;if((n|0)!=(t|0)){continue}break}}e=z}Ea=s+16|0;return e}function ge(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(F[a>>2]==-559038750){c=a+4|0;a:{b:{if(!F[c>>2]){break b}a=1;if(F[c+52>>2]!=1){break a}a=1;if(F[c+196>>2]){break a}m=F[c>>2]+F[c+72>>2]|0;e=m;f=G[e+4|0]|G[e+5|0]<<8|(G[e+6|0]<<16|G[e+7|0]<<24);a=G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24);D[c+124|0]=a;D[c+125|0]=a>>>8;D[c+126|0]=a>>>16;D[c+127|0]=a>>>24;D[c+128|0]=f;D[c+129|0]=f>>>8;D[c+130|0]=f>>>16;D[c+131|0]=f>>>24;f=G[e+12|0]|G[e+13|0]<<8|(G[e+14|0]<<16|G[e+15|0]<<24);a=G[e+8|0]|G[e+9|0]<<8|(G[e+10|0]<<16|G[e+11|0]<<24);D[c+132|0]=a;D[c+133|0]=a>>>8;D[c+134|0]=a>>>16;D[c+135|0]=a>>>24;D[c+136|0]=f;D[c+137|0]=f>>>8;D[c+138|0]=f>>>16;D[c+139|0]=f>>>24;a=G[e+16|0]|G[e+17|0]<<8|(G[e+18|0]<<16|G[e+19|0]<<24);D[c+140|0]=a;D[c+141|0]=a>>>8;D[c+142|0]=a>>>16;D[c+143|0]=a>>>24;g=F[c+128>>2];c:{if(!g){break c}e=F[c+132>>2];if(!e){break c}f=F[c+136>>2];if(!H[c+126>>1]|(!f|!H[c+124>>1])){break c}a=F[c+40>>2];i=L(F[c+48>>2],L(F[c+44>>2],a>>>0<=1?1:a));k=L(i,20);if(I[c+80>>2]<(F[c+140>>2]+(f+(e+(g+k|0)|0)|0)|0)+20>>>0){break c}d=F[c+148>>2];if((d|0)!=(i|0)){if(!(i>>>0<=I[c+152>>2]|d>>>0>i>>>0)){a=k;e=i;d:{if((e|0)!=(d+1|0)){break d}f=e-1|0;if(!(!e|f&e)){break d}a=0-!e|0;j=f|a;g=a>>>16|a;f=g>>>8|0;e=f|g;f=e>>>4|0;a=j|((a&65535)<<16|j>>>16);a=(g&255)<<24|a>>>8|a;a=(e&15)<<28|a>>>4|a;e=e|f;f=e>>>2|0;a=a|((e&3)<<30|a>>>2);e=(a|(((e|f)&1)<<31|a>>>1))+1|0;if(i>>>0>e>>>0){break c}a=L(e,20)}f=Ya(a);if(!f){break c}g=F[c+144>>2];e:{if(!d){break e}b=f;a=g;d=L(d,20);j=d-20|0;if(!((j>>>0)/20&1)){h=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=h;D[b+1|0]=h>>>8;D[b+2|0]=h>>>16;D[b+3|0]=h>>>24;h=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);D[b+4|0]=h;D[b+5|0]=h>>>8;D[b+6|0]=h>>>16;D[b+7|0]=h>>>24;h=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=h;D[b+9|0]=h>>>8;D[b+10|0]=h>>>16;D[b+11|0]=h>>>24;h=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);D[b+12|0]=h;D[b+13|0]=h>>>8;D[b+14|0]=h>>>16;D[b+15|0]=h>>>24;h=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=h;D[b+17|0]=h>>>8;D[b+18|0]=h>>>16;D[b+19|0]=h>>>24;b=b+20|0;a=a+20|0}if(j>>>0<20){break e}j=d+g|0;while(1){d=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24);D[b|0]=d;D[b+1|0]=d>>>8;D[b+2|0]=d>>>16;D[b+3|0]=d>>>24;d=G[a+4|0]|G[a+5|0]<<8|(G[a+6|0]<<16|G[a+7|0]<<24);D[b+4|0]=d;D[b+5|0]=d>>>8;D[b+6|0]=d>>>16;D[b+7|0]=d>>>24;d=G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24);D[b+8|0]=d;D[b+9|0]=d>>>8;D[b+10|0]=d>>>16;D[b+11|0]=d>>>24;d=G[a+12|0]|G[a+13|0]<<8|(G[a+14|0]<<16|G[a+15|0]<<24);D[b+12|0]=d;D[b+13|0]=d>>>8;D[b+14|0]=d>>>16;D[b+15|0]=d>>>24;d=G[a+16|0]|G[a+17|0]<<8|(G[a+18|0]<<16|G[a+19|0]<<24);D[b+16|0]=d;D[b+17|0]=d>>>8;D[b+18|0]=d>>>16;D[b+19|0]=d>>>24;d=G[a+20|0]|G[a+21|0]<<8|(G[a+22|0]<<16|G[a+23|0]<<24);D[b+20|0]=d;D[b+21|0]=d>>>8;D[b+22|0]=d>>>16;D[b+23|0]=d>>>24;d=G[a+24|0]|G[a+25|0]<<8|(G[a+26|0]<<16|G[a+27|0]<<24);D[b+24|0]=d;D[b+25|0]=d>>>8;D[b+26|0]=d>>>16;D[b+27|0]=d>>>24;d=G[a+28|0]|G[a+29|0]<<8|(G[a+30|0]<<16|G[a+31|0]<<24);D[b+28|0]=d;D[b+29|0]=d>>>8;D[b+30|0]=d>>>16;D[b+31|0]=d>>>24;d=G[a+32|0]|G[a+33|0]<<8|(G[a+34|0]<<16|G[a+35|0]<<24);D[b+32|0]=d;D[b+33|0]=d>>>8;D[b+34|0]=d>>>16;D[b+35|0]=d>>>24;d=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);D[b+36|0]=d;D[b+37|0]=d>>>8;D[b+38|0]=d>>>16;D[b+39|0]=d>>>24;b=b+40|0;a=a+40|0;if((j|0)!=(a|0)){continue}break}}if(g){Ra(g)}F[c+152>>2]=e;F[c+144>>2]=f}F[c+148>>2]=i}f=m+20|0;Va(F[c+144>>2],f,k);f:{if(!i){break f}e=F[c+144>>2];a=0;if(!G[c+1200|0]){while(1){b=0;g=e+L(a,20)|0;if(!(G[g+8|0]|G[g+9|0]<<8|(G[g+10|0]<<16|G[g+11|0]<<24))){break c}a=a+1|0;if((i|0)!=(a|0)){continue}break f}}while(1){b=0;g=e+L(a,20)|0;if(!(G[g+8|0]|G[g+9|0]<<8|(G[g+10|0]<<16|G[g+11|0]<<24))|!(G[g+16|0]|G[g+17|0]<<8|(G[g+18|0]<<16|G[g+19|0]<<24))){break c}a=a+1|0;if((i|0)!=(a|0)){continue}break}}b=0;e=c+188|0;f=f+k|0;a=f+F[c+128>>2]|0;if(!xb(e,a+F[c+132>>2]|0,F[c+136>>2])){break c}b=Eb(e,H[c+124>>1],f,F[c+128>>2],H[c+126>>1],a,F[c+132>>2])}if(!b){break b}a=1;if(G[c+1201|0]){break a}a=1;if(F[c+44>>2]!=1){break a}n=1;if(I[c+40>>2]<2){break b}f=F[c+148>>2];a=1;if(!f){break a}a=F[c+144>>2];while(1){if(!(G[a+L(l,20)|0]&2)){l=l+1|0;if((f|0)!=(l|0)){continue}break b}break}D[c+1201|0]=1}a=n}}else{a=0}return a|0}function sb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=G[b|0];c=G[b+16|0];g=d>>>0>>0?d:c;e=G[b+32|0];h=e>>>0>g>>>0?g:e;g=G[b+48|0];i=g>>>0>h>>>0?h:g;h=G[b+4|0];k=G[b+20|0];j=h>>>0>>0?h:k;l=G[b+36|0];f=j>>>0>>0?j:l;j=G[b+52|0];f=f>>>0>>0?f:j;n=f>>>0>i>>>0?i:f;i=G[b+8|0];f=G[b+24|0];o=f>>>0>i>>>0?i:f;r=G[b+40|0];m=o>>>0>>0?o:r;o=G[b+56|0];m=m>>>0>>0?m:o;p=m>>>0>n>>>0?n:m;n=G[b+12|0];m=G[b+28|0];q=m>>>0>n>>>0?n:m;t=G[b+44|0];s=q>>>0>>0?q:t;q=G[b+60|0];s=q>>>0>s>>>0?s:q;p=p>>>0>>0?p:s;D[a+1|0]=p;d=d>>>0>c>>>0?d:c;d=d>>>0>e>>>0?d:e;d=d>>>0>g>>>0?d:g;c=h>>>0>k>>>0?h:k;c=c>>>0>l>>>0?c:l;c=c>>>0>j>>>0?c:j;d=d>>>0>c>>>0?d:c;c=f>>>0>>0?i:f;c=c>>>0>r>>>0?c:r;c=c>>>0>o>>>0?c:o;d=d>>>0>c>>>0?d:c;c=m>>>0>>0?n:m;c=c>>>0>t>>>0?c:t;c=c>>>0>q>>>0?c:q;c=d>>>0>c>>>0?d:c;D[a|0]=c;if((c|0)==(p|0)){D[a+2|0]=0;D[a+3|0]=0;D[a+4|0]=0;D[a+5|0]=0;D[a+6|0]=0;D[a+7|0]=0;return}r=G[b+44|0];o=G[b+40|0];n=G[b+32|0];m=G[b+36|0];t=G[b+48|0];q=G[b+52|0];s=G[b+56|0];u=G[b+60|0];g=L(p,-14)+4|0;d=g+L(G[b+20|0],14)|0;e=c-p|0;h=L(e,13);k=L(e,11);l=L(e,9);j=L(e,7);i=L(e,5);f=L(e,3);c=F[((((((((d|0)>=(h|0))+((k|0)<=(d|0))|0)+((l|0)<=(d|0))|0)+((j|0)<=(d|0))|0)+((i|0)<=(d|0))|0)+((f|0)<=(d|0))|0)+((d|0)>=(e|0))<<2)+13104>>2];d=g+L(G[b+16|0],14)|0;c=(c|F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13072>>2])<<12;d=g+L(G[b+4|0],14)|0;c=c|F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13104>>2];d=g+L(G[b|0],14)|0;c=c|F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13072>>2];d=g+L(G[b+8|0],14)|0;p=F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13136>>2];d=g+L(G[b+24|0],14)|0;c=c|(p|F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13136>>2]<<12);d=g+L(G[b+12|0],14)|0;b=g+L(G[b+28|0],14)|0;d=c|(F[((((((((d|0)>=(h|0))+((d|0)>=(k|0))|0)+((d|0)>=(l|0))|0)+((d|0)>=(j|0))|0)+((d|0)>=(i|0))|0)+((d|0)>=(f|0))|0)+((d|0)>=(e|0))<<2)+13168>>2]|F[((((((((b|0)>=(h|0))+((b|0)>=(k|0))|0)+((b|0)>=(l|0))|0)+((b|0)>=(j|0))|0)+((b|0)>=(i|0))|0)+((b|0)>=(f|0))|0)+((b|0)>=(e|0))<<2)+13168>>2]<<12);D[a+2|0]=d;b=g+L(r,14)|0;c=F[((((((((b|0)>=(h|0))+((b|0)>=(k|0))|0)+((b|0)>=(l|0))|0)+((b|0)>=(j|0))|0)+((b|0)>=(i|0))|0)+((b|0)>=(f|0))|0)+((b|0)>=(e|0))<<2)+13168>>2];b=g+L(o,14)|0;o=F[((((((((b|0)>=(h|0))+((b|0)>=(k|0))|0)+((b|0)>=(l|0))|0)+((b|0)>=(j|0))|0)+((b|0)>=(i|0))|0)+((b|0)>=(f|0))|0)+((b|0)>=(e|0))<<2)+13136>>2];b=g+L(n,14)|0;n=F[((((((((b|0)>=(h|0))+((b|0)>=(k|0))|0)+((b|0)>=(l|0))|0)+((b|0)>=(j|0))|0)+((b|0)>=(i|0))|0)+((b|0)>=(f|0))|0)+((b|0)>=(e|0))<<2)+13072>>2];b=g+L(m,14)|0;b=c|(o|(n|F[((((((((b|0)>=(h|0))+((b|0)>=(k|0))|0)+((b|0)>=(l|0))|0)+((b|0)>=(j|0))|0)+((b|0)>=(i|0))|0)+((b|0)>=(f|0))|0)+((b|0)>=(e|0))<<2)+13104>>2]));c=b>>>8|0;r=b<<24;b=c;c=g+L(t,14)|0;m=F[((((((((c|0)>=(h|0))+((c|0)>=(k|0))|0)+((c|0)>=(l|0))|0)+((c|0)>=(j|0))|0)+((c|0)>=(i|0))|0)+((c|0)>=(f|0))|0)+((c|0)>=(e|0))<<2)+13072>>2];c=g+L(q,14)|0;n=F[((((((((c|0)>=(h|0))+((c|0)>=(k|0))|0)+((c|0)>=(l|0))|0)+((c|0)>=(j|0))|0)+((c|0)>=(i|0))|0)+((c|0)>=(f|0))|0)+((c|0)>=(e|0))<<2)+13104>>2];c=g+L(s,14)|0;o=F[((((((((c|0)>=(h|0))+((c|0)>=(k|0))|0)+((c|0)>=(l|0))|0)+((c|0)>=(j|0))|0)+((c|0)>=(i|0))|0)+((c|0)>=(f|0))|0)+((c|0)>=(e|0))<<2)+13136>>2];c=g+L(u,14)|0;c=b|(m|(n|(o|F[((((((((c|0)>=(h|0))+((c|0)>=(k|0))|0)+((c|0)>=(l|0))|0)+((c|0)>=(j|0))|0)+((c|0)>=(i|0))|0)+((c|0)>=(f|0))|0)+((c|0)>=(e|0))<<2)+13168>>2])))<<4;D[a+7|0]=c>>>8;D[a+6|0]=c;D[a+4|0]=d>>>16;D[a+3|0]=d>>>8;D[a+5|0]=(b&16777215)<<8|(d|r)>>>24}function Ob(a,b,c,d,e,f,g,h,i,j,k,l,m,n){var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0;q=Ea-128|0;Ea=q;F[q+124>>2]=d;o=-1;a:{b:{switch(c|0){case 1:if(!g){o=-72;break a}o=-20;c=G[f|0];if(c>>>0>d>>>0){break a}c=c<<2;d=F[c+i>>2];c=F[c+h>>2];D[a+11|0]=0;F[a>>2]=0;F[a+4>>2]=0;F[a+12>>2]=c;D[a+10|0]=d;E[a+8>>1]=0;F[b>>2]=a;o=1;break a;case 0:F[b>>2]=j;o=0;break a;case 3:if(!k){o=-20;break a}o=0;if(!l|(m|0)<25){break a}b=8<>>6|0)+1|0;a=c&7;d=0;if(b>>>0>=448){b=c&134217720;c=0;while(1){d=d+512|0;c=c+8|0;if((b|0)!=(c|0)){continue}break}}if(!a){break a}c=0;while(1){d=d- -64|0;c=c+1|0;if((a|0)!=(c|0)){continue}break};break a;case 2:break b;default:break a}}o=-20;j=Qb(q,q+124|0,q+120|0,f,g);if(j>>>0>4294967176){break a}c=F[q+120>>2];if(c>>>0>e>>>0){break a}k=h;e=0;l=0;m=0;f=0;z=n+106|0;v=a+8|0;o=1;h=c;w=1<>2];e:{if((y|0)==-1){F[a+4>>2]=c;F[a>>2]=1;f=((w>>>3)+(w>>>1)|0)+3|0;break e}c=y+1|0;t=c&1;r=65536<>16;f:{if(!y){c=d;break f}u=c&-2;c=d;while(1){p=e<<1;g=H[p+q>>1];g:{if((g|0)==65535){F[((c<<3)+v|0)+4>>2]=e;c=c-1|0;g=1;break g}o=(r|0)>g<<16>>16?o:0}E[n+p>>1]=g;p=e|1;s=p<<1;g=H[s+q>>1];h:{if((g|0)!=65535){o=(r|0)>g<<16>>16?o:0;break h}F[((c<<3)+v|0)+4>>2]=p;c=c-1|0;g=1}E[n+s>>1]=g;e=e+2|0;f=f+2|0;if((u|0)!=(f|0)){continue}break}}if(t){g=H[(e<<1)+q>>1];i:{if((g|0)!=65535){o=(r|0)>g<<16>>16?o:0;break i}F[((c<<3)+v|0)+4>>2]=e;c=c-1|0;g=1}E[(e<<1)+n>>1]=g}F[a+4>>2]=h;F[a>>2]=o;C=w>>>3|0;if((c|0)!=(d|0)){break d}f=0;e=0;while(1){g=e;A=E[(e<<1)+q>>1];B=f+z|0;c=B;D[c|0]=m;D[c+1|0]=m>>>8;D[c+2|0]=m>>>16;D[c+3|0]=m>>>24;D[c+4|0]=l;D[c+5|0]=l>>>8;D[c+6|0]=l>>>16;D[c+7|0]=l>>>24;j:{if((A|0)<9){break j}e=A-9|0;o=(e>>>3|0)+1|0;I=o&7;c=8;if(e>>>0>=56){J=o&1073741816;o=0;while(1){e=c+B|0;D[e|0]=m;r=m>>>8|0;D[e+1|0]=r;t=m>>>16|0;D[e+2|0]=t;u=m>>>24|0;D[e+3|0]=u;D[e+4|0]=l;p=l>>>8|0;D[e+5|0]=p;s=l>>>16|0;D[e+6|0]=s;x=l>>>24|0;D[e+7|0]=x;D[e+56|0]=m;D[e+57|0]=r;D[e+58|0]=t;D[e+59|0]=u;D[e+60|0]=l;D[e+61|0]=p;D[e+62|0]=s;D[e+63|0]=x;D[e+48|0]=m;D[e+49|0]=r;D[e+50|0]=t;D[e+51|0]=u;D[e+52|0]=l;D[e+53|0]=p;D[e+54|0]=s;D[e+55|0]=x;D[e+40|0]=m;D[e+41|0]=r;D[e+42|0]=t;D[e+43|0]=u;D[e+44|0]=l;D[e+45|0]=p;D[e+46|0]=s;D[e+47|0]=x;D[e+32|0]=m;D[e+33|0]=r;D[e+34|0]=t;D[e+35|0]=u;D[e+36|0]=l;D[e+37|0]=p;D[e+38|0]=s;D[e+39|0]=x;D[e+24|0]=m;D[e+25|0]=r;D[e+26|0]=t;D[e+27|0]=u;D[e+28|0]=l;D[e+29|0]=p;D[e+30|0]=s;D[e+31|0]=x;D[e+16|0]=m;D[e+17|0]=r;D[e+18|0]=t;D[e+19|0]=u;D[e+20|0]=l;D[e+21|0]=p;D[e+22|0]=s;D[e+23|0]=x;D[e+8|0]=m;D[e+9|0]=r;D[e+10|0]=t;D[e+11|0]=u;D[e+12|0]=l;D[e+13|0]=p;D[e+14|0]=s;D[e+15|0]=x;c=c- -64|0;o=o+8|0;if((J|0)!=(o|0)){continue}break}}e=0;if(!I){break j}while(1){o=c+B|0;D[o|0]=m;D[o+1|0]=m>>>8;D[o+2|0]=m>>>16;D[o+3|0]=m>>>24;D[o+4|0]=l;D[o+5|0]=l>>>8;D[o+6|0]=l>>>16;D[o+7|0]=l>>>24;c=c+8|0;e=e+1|0;if((I|0)!=(e|0)){continue}break}}c=l+16843009|0;m=m+16843009|0;l=m>>>0<16843009?c+1|0:c;e=g+1|0;f=f+A|0;if((g|0)!=(y|0)){continue}break}f=(C+(w>>>1|0)|0)+3|0}g=f<<1;e=0;c=0;while(1){F[(((c&d)<<3)+v|0)+4>>2]=G[e+z|0];F[(((d&c+f)<<3)+v|0)+4>>2]=G[z+(e|1)|0];c=d&c+g;e=e+2|0;if(w>>>0>e>>>0){continue}break}break c}l=(C+(w>>>1|0)|0)+3|0;e=0;f=0;while(1){g=f;m=E[(g<<1)+q>>1];k:{if((m|0)<=0){break k}if((m|0)!=1){o=m&-2;f=0;while(1){F[((e<<3)+v|0)+4>>2]=g;while(1){e=d&e+l;if(c>>>0>>0){continue}break}F[((e<<3)+v|0)+4>>2]=g;while(1){e=d&e+l;if(c>>>0>>0){continue}break}f=f+2|0;if((o|0)!=(f|0)){continue}break}}if(!(m&1)){break k}F[((e<<3)+v|0)+4>>2]=g;while(1){e=d&e+l;if(c>>>0>>0){continue}break}}f=g+1|0;if((g|0)!=(y|0)){continue}break}}f=h+1|0;d=0;while(1){c=(d<<3)+v|0;g=F[c+4>>2];h=(g<<1)+n|0;e=H[h>>1];E[h>>1]=e+1;h=f+(O(e)^-32)|0;D[c+3|0]=h;E[c>>1]=(e<>2];F[c+4>>2]=F[e+k>>2];d=d+1|0;if((w|0)!=(d|0)){continue}break}F[b>>2]=a;o=j}Ea=q+128|0;return o}function ac(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=Ea-256|0;Ea=e;g=F[a+4>>2];a:{if(!b){if((g|0)>0){F[a+4>>2]=0}b=F[a+16>>2];if((b|0)>0){F[a+16>>2]=b&-1073741824}o=1;b=F[a+28>>2];if((b|0)<=0){break a}F[a+28>>2]=b&-2147483648;break a}if((b|0)!=(g|0)){if(b>>>0>=g>>>0){if(I[a+8>>2]>>0){Wa(a,b,(g+1|0)==(b|0),1);g=F[a+4>>2]}Ta(F[a>>2]+g|0,0,b-g|0)}F[a+4>>2]=b}Va(F[a>>2],c,b);if(F[a+16>>2]){F[a+16>>2]=0}p=a+12|0;g=0;if(I[a+20>>2]<1024){Wa(p,1024,0,4);g=F[a+16>>2]}Ta(F[a+12>>2]+(g<<2)|0,0,1024-g<<2);F[a+16>>2]=1024;if(F[a+28>>2]){F[a+28>>2]=0}n=a+24|0;f=b<<1;if(f){if(f>>>0>I[a+32>>2]){Wa(n,f,0,2);h=F[a+28>>2]}Ta(F[a+24>>2]+(h<<1)|0,0,f-h<<1);F[a+28>>2]=f}Ta(e+128|0,0,128);g=0;while(1){f=G[c+g|0];if(f>>>0>31){break a}f=(e+128|0)+(f<<2)|0;F[f>>2]=F[f>>2]+1;g=g+1|0;if((g|0)!=(b|0)){continue}break}F[e+4>>2]=0;f=F[e+132>>2];j=f<<1;F[e+8>>2]=j;g=j;j=F[e+136>>2];g=g+j<<1;F[e+12>>2]=g;h=g;g=F[e+140>>2];h=h+g<<1;F[e+16>>2]=h;i=h;h=F[e+144>>2];i=i+h<<1;F[e+20>>2]=i;k=i;i=F[e+148>>2];l=k+i<<1;F[e+24>>2]=l;k=l;l=F[e+152>>2];k=k+l<<1;F[e+28>>2]=k;m=k;k=F[e+156>>2];m=m+k<<1;F[e+32>>2]=m;d=m;m=F[e+160>>2];d=d+m<<1;F[e+36>>2]=d;q=F[e+164>>2];d=d+q<<1;F[e+40>>2]=d;r=F[e+168>>2];d=d+r<<1;F[e+44>>2]=d;s=F[e+172>>2];d=d+s<<1;F[e+48>>2]=d;t=F[e+176>>2];d=d+t<<1;F[e+52>>2]=d;u=F[e+180>>2];d=d+u<<1;F[e+56>>2]=d;v=F[e+184>>2];d=d+v<<1;F[e+60>>2]=d;w=F[e+188>>2];d=d+w<<1;F[e+64>>2]=d;x=F[e+192>>2];d=d+x<<1;F[e+68>>2]=d;y=F[e+196>>2];d=d+y<<1;F[e+72>>2]=d;z=F[e+200>>2];d=d+z<<1;F[e+76>>2]=d;A=F[e+204>>2];d=d+A<<1;F[e+80>>2]=d;B=F[e+208>>2];d=d+B<<1;F[e+84>>2]=d;C=F[e+212>>2];d=d+C<<1;F[e+88>>2]=d;D=F[e+216>>2];d=d+D<<1;F[e+92>>2]=d;J=F[e+220>>2];d=d+J<<1;F[e+96>>2]=d;K=F[e+224>>2];d=d+K<<1;F[e+100>>2]=d;L=F[e+228>>2];d=d+L<<1;F[e+104>>2]=d;M=F[e+232>>2];d=d+M<<1;F[e+108>>2]=d;N=F[e+236>>2];d=d+N<<1;F[e+112>>2]=d;O=F[e+240>>2];d=d+O<<1;F[e+116>>2]=d;P=F[e+244>>2];d=d+P<<1;F[e+120>>2]=d;Q=F[e+248>>2];d=d+Q<<1;F[e+124>>2]=d;if((d|0)!=-2147483648&(((((((((((((((((((((((m+(k+(l+(i+(h+(g+(f+j|0)|0)|0)|0)|0)|0)|0)+q|0)+r|0)+s|0)+t|0)+u|0)+v|0)+w|0)+x|0)+y|0)+z|0)+A|0)+B|0)+C|0)+D|0)+J|0)+K|0)+L|0)+M|0)+N|0)+O|0)+P|0)+Q|0)!=1){break a}o=1;if((b|0)<=0){break a}o=0;l=0;f=-1;while(1){i=G[c+l|0];b:{if(!i){break b}j=(i<<2)+e|0;g=F[j>>2];F[j>>2]=g+1;j=i&3;k=0;c:{if(i>>>0<4){h=0;break c}d=i&252;h=0;m=0;while(1){h=g>>>3&1|(g>>>2&1|(g&2|(g<<2&4|h<<3)))<<1;g=g>>>4|0;m=m+4|0;if((d|0)!=(m|0)){continue}break}}if(j){while(1){h=g&1|h<<1;g=g>>>1|0;k=k+1|0;if((j|0)!=(k|0)){continue}break}}if(i>>>0<=10){if(h>>>0>=1024){break b}j=i<<16|l;g=1<>2]+(h<<2)|0;if(F[i>>2]){break a}F[i>>2]=j;h=g+h|0;if(h>>>0<1024){continue}break}break b}j=F[p>>2]+((h&1023)<<2)|0;g=F[j>>2];d:{if(g){j=f;f=g;break d}F[j>>2]=f;j=f-2|0}if((f|0)>=0){break a}k=h>>>9|0;if((i|0)>11){while(1){k=k>>>1|0;f=f-(k&1)|0;if((f|0)>=0){break a}g=F[a+28>>2];h=f^-1;e:{if((g|0)>(h|0)){break e}f=0-f|0;if((f|0)==(g|0)){break e}if(g>>>0<=f>>>0){if(f>>>0>I[a+32>>2]){Wa(n,f,(f|0)==(g+1|0),2);g=F[a+28>>2]}Ta(F[n>>2]+(g<<1)|0,0,f-g<<1)}F[a+28>>2]=f}g=F[n>>2]+(h<<1)|0;f=E[g>>1];f:{if(!f){E[g>>1]=j;f=j;j=f-2|0;break f}if((f|0)>=0){break a}}i=i-1|0;if((i|0)>11){continue}break}}f=(k>>>1&1)-f|0;if((f|0)<=0){break a}h=F[a+28>>2];if((f|0)>(h|0)){if(f>>>0>=h>>>0){if(f>>>0>I[a+32>>2]){Wa(n,f,(f|0)==(h+1|0),2);h=F[a+28>>2]}Ta(F[n>>2]+(h<<1)|0,0,f-h<<1)}F[a+28>>2]=f}f=F[n>>2]+(f-1<<1)|0;if(H[f>>1]){break a}E[f>>1]=l;f=j}l=l+1|0;o=(l|0)>=(b|0);if((b|0)!=(l|0)){continue}break}}Ea=e+256|0;return o}function id(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ea-96|0;Ea=d;F[a>>2]=0;F[a+4>>2]=0;F[a+56>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;a:{if(F[b>>2]!=-559038751){break a}F[d+76>>2]=0;F[d+60>>2]=0;F[d+68>>2]=0;F[d+72>>2]=0;F[d+52>>2]=0;F[d+56>>2]=0;c=F[b+592>>2];b:{if(!lc(c,F[b+596>>2])){break b}b=c+8|0;g=65535;e=69;while(1){f=G[b|0]^(g&65280)>>>8;f=f>>>4^f;g=(f|g<<8)^f<<5;f=g^f<<12;if((e|0)!=1){f=G[b+1|0]^(f&65280)>>>8;f=f>>>4^f;g=(f|g<<8)^f<<5^f<<12;e=e-2|0;b=b+2|0;continue}break}if(((f^-1)&65535)!=(G[c+6|0]|G[c+7|0]<<8)){break b}e=G[c+65|0]|G[c+66|0]<<8|(G[c+67|0]<<16|G[c+68|0]<<24);F[d>>2]=G[c+2|0]|G[c+3|0]<<8;F[d+4>>2]=L(G[c+14|0]|(G[c+15|0]<<8|G[c+16|0]<<16),23)+77;F[d+8>>2]=G[c+48|0]|G[c+49|0]<<8;F[d+12>>2]=G[c+50|0]|G[c+51|0]<<8|(G[c+52|0]<<16|G[c+53|0]<<24);F[d+16>>2]=G[c+54|0]|(G[c+55|0]<<8|G[c+56|0]<<16);F[d+20>>2]=G[c+39|0]|G[c+40|0]<<8;F[d+24>>2]=G[c+41|0]|G[c+42|0]<<8|(G[c+43|0]<<16|G[c+44|0]<<24);F[d+28>>2]=G[c+45|0]|(G[c+46|0]<<8|G[c+47|0]<<16);F[d+32>>2]=G[c+57|0]|G[c+58|0]<<8|(G[c+59|0]<<16|G[c+60|0]<<24);F[d+36>>2]=G[c+61|0]|G[c+62|0]<<8|(G[c+63|0]<<16|G[c+64|0]<<24);F[d+88>>2]=G[c+20|0];D[d+93|0]=!G[c+20|0];D[d+92|0]=G[c+21|0]>>>1&1;D[d+94|0]=G[c+21|0]>>>2&1;f=G[c+14|0]|(G[c+15|0]<<8|G[c+16|0]<<16);b=F[d+56>>2];if((f|0)!=(b|0)){if(!(b>>>0>f>>>0|I[d+60>>2]>=f>>>0)){Wa(d+52|0,f,(b+1|0)==(f|0),52)}F[d+56>>2]=f}F[d+40>>2]=0;b=G[c+23|0];F[d+44>>2]=b;if(b>>>0>5){break b}F[d+48>>2]=G[c+24|0]|(G[c+25|0]<<8|G[c+26|0]<<16);F[d+80>>2]=G[c+31|0]|G[c+32|0]<<8|(G[c+33|0]<<16|G[c+34|0]<<24);F[d+84>>2]=G[c+35|0]|G[c+36|0]<<8|(G[c+37|0]<<16|G[c+38|0]<<24);if(F[d+72>>2]){F[d+72>>2]=0}j=d+68|0;g=0;b=G[c+17|0]|(G[c+18|0]<<8|G[c+19|0]<<16);if(b){if(b>>>0>I[d+76>>2]){Wa(j,b,(b|0)==1,4);g=F[d+72>>2]}Ta(F[d+68>>2]+(g<<2)|0,0,b-g<<2);F[d+72>>2]=b;b=G[c+17|0]|(G[c+18|0]<<8|G[c+19|0]<<16)}else{b=0}F[d+64>>2]=b;if(!f){k=1;break b}l=c+e|0;g=0;while(1){b=l+L(g,23)|0;F[d+40>>2]=F[d+40>>2]+(G[b+17|0]|G[b+18|0]<<8|(G[b+19|0]<<16|G[b+20|0]<<24));e=F[d+52>>2]+L(g,52)|0;F[e>>2]=G[b+5|0]|G[b+6|0]<<8;F[e+4>>2]=G[b+7|0]|G[b+8|0]<<8;F[e+8>>2]=G[b+9|0]<<2|G[b+10|0]<<10;F[e+12>>2]=G[b+11|0]<<2|G[b+12|0]<<10;h=G[b+9|0]|G[b+10|0]<<8;F[e+16>>2]=h;i=G[b+11|0]|G[b+12|0]<<8;F[e+20>>2]=i;F[e+24>>2]=L(h,i);h=G[b+17|0]|G[b+18|0]<<8|(G[b+19|0]<<16|G[b+20|0]<<24);F[e+32>>2]=g;F[e+28>>2]=h;F[e+36>>2]=G[b|0]|(G[b+1|0]<<8|G[b+2|0]<<16);F[e+40>>2]=G[b+3|0];F[e+44>>2]=G[b+21|0]|G[b+22|0]<<8;D[e+48|0]=D[b+4|0]&1;D[e+49|0]=G[b+4|0]>>>1&1;e=G[b|0]|(G[b+1|0]<<8|G[b+2|0]<<16);if(e>>>0>=(G[c+17|0]|(G[c+18|0]<<8|G[c+19|0]<<16))>>>0){break b}h=F[j>>2]+(e<<2)|0;e=F[h>>2];i=h;h=G[b+3|0]+1|0;F[i>>2]=e>>>0>h>>>0?e:h;if(I[F[j>>2]+((G[b|0]|(G[b+1|0]<<8|G[b+2|0]<<16))<<2)>>2]>=17){break b}g=g+1|0;k=f>>>0<=g>>>0;if((f|0)!=(g|0)){continue}break}}if(k){F[a>>2]=F[d>>2];F[a+4>>2]=F[d+48>>2];F[a+8>>2]=F[d+64>>2];F[a+12>>2]=F[d+80>>2];F[a+16>>2]=F[d+84>>2];F[a+20>>2]=F[d+88>>2];D[a+24|0]=G[d+92|0];D[a+25|0]=G[d+94|0];F[a+28>>2]=F[d+20>>2];F[a+32>>2]=F[d+24>>2];F[a+36>>2]=F[d+28>>2];F[a+40>>2]=F[d+8>>2];F[a+44>>2]=F[d+12>>2];F[a+48>>2]=F[d+16>>2];F[a+52>>2]=F[d+32>>2];F[a+56>>2]=F[d+36>>2]}a=F[d+68>>2];if(a){Ra(a)}a=F[d+52>>2];if(!a){break a}Ra(a)}Ea=d+96|0}function bb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=Ea-96|0;Ea=g;if(F[b+4>>2]>0){F[b+4>>2]=0}c=F[b+16>>2];if((c|0)>0){F[b+16>>2]=c&-1073741824}c=F[b+28>>2];if((c|0)>0){F[b+28>>2]=c&-2147483648}e=F[a+20>>2];a:{if(e>>>0>=14){d=F[a+16>>2];break a}h=F[a+16>>2];c=F[a+4>>2];j=F[a+12>>2];b:{if(c>>>0>=j>>>0){f=c;break b}f=c+1|0;F[a+4>>2]=f;d=G[c|0]}c=e+8|0;F[a+20>>2]=c;d=h|d<>2]=d;if(e>>>0>5){e=c;break a}if(f>>>0>>0){F[a+4>>2]=f+1;i=G[f|0]}e=e+16|0;F[a+20>>2]=e;d=i<>2]=d}f=e-14|0;F[a+20>>2]=f;c=d>>>14|0;F[a+16>>2]=c;j=d&16383;c:{if(!j){d=1;break c}D[g+77|0]=0;D[g+78|0]=0;D[g+79|0]=0;D[g+80|0]=0;D[g+81|0]=0;D[g+82|0]=0;D[g+83|0]=0;D[g+84|0]=0;F[g+72>>2]=0;F[g+76>>2]=0;F[g+64>>2]=0;F[g+68>>2]=0;if(f>>>0<=4){d=F[a+4>>2];if(d>>>0>2]){F[a+4>>2]=d+1;d=G[d|0]}else{d=0}c=d<>2]=e;i=c>>>5|0;F[a+16>>2]=i;d=0;k=c&31;if(k-22>>>0<4294967275){break c}h=F[a+4>>2];l=F[a+12>>2];while(1){d:{if(e>>>0>2){c=i;break d}c=0;if(h>>>0>>0){f=h+1|0;F[a+4>>2]=f;c=G[h|0];h=f}c=c<>2]=e;i=c>>>3|0;F[a+16>>2]=i;f=g- -64|0;D[f+G[d+74672|0]|0]=c&7;d=d+1|0;if((k|0)!=(d|0)){continue}break}d=0;F[g+56>>2]=0;F[g+48>>2]=0;F[g+52>>2]=0;F[g+40>>2]=0;F[g+44>>2]=0;F[g+32>>2]=0;F[g+36>>2]=0;F[g+24>>2]=0;F[g+28>>2]=0;e:{if(!ac(g+24|0,21,f)|!F[g+28>>2]){break e}F[g+20>>2]=0;F[g+12>>2]=0;F[g+16>>2]=0;Wa(g+12|0,j,(j|0)==1,1);k=F[g+12>>2];c=F[g+16>>2];Ta(k+c|0,0,j-c|0);F[g+16>>2]=j;h=0;f:{g:{while(1){c=F[a+20>>2];h:{if(c>>>0>=16){i=F[a+16>>2];break h}e=0;d=F[a+4>>2];l=F[a+12>>2];i:{if(d>>>0>=l>>>0){f=d;break i}f=d+1|0;F[a+4>>2]=f;e=G[d|0]}i=F[a+16>>2];d=c+8|0;F[a+20>>2]=d;i=i|e<>2]=i;if(c>>>0>7){c=d;break h}e=0;if(f>>>0>>0){F[a+4>>2]=f+1;e=G[f|0]}c=c+16|0;F[a+20>>2]=c;i=e<>2]=i}d=F[F[g+36>>2]+((i&1023)<<2)>>2];j:{if((d|0)<0){e=10;f=F[g+48>>2];while(1){l=i>>>e|0;e=e+1|0;d=E[f+((l&1)+(d^-1)<<1)>>1];if((d|0)<0){continue}break}break j}e=d>>>16|0;d=d&65535}c=c-e|0;F[a+20>>2]=c;e=i>>>e|0;F[a+16>>2]=e;k:{if((d|0)<=16){D[h+k|0]=d;h=h+1|0;break k}l:{switch(d-17|0){case 0:if(c>>>0<=2){f=F[a+4>>2];if(f>>>0>2]){F[a+4>>2]=f+1;d=G[f|0]}else{d=0}e=d<>2]=c-3;F[a+16>>2]=e>>>3;h=((e&7)+h|0)+3|0;break k;case 1:if(c>>>0<=6){f=F[a+4>>2];if(f>>>0>2]){F[a+4>>2]=f+1;d=G[f|0]}else{d=0}e=d<>2]=c-7;F[a+16>>2]=e>>>7;h=((e&127)+h|0)+11|0;break k;default:break l}}f=0;if(!h){break g}m:{if((d|0)==19){if(c>>>0<=1){f=F[a+4>>2];if(f>>>0>2]){F[a+4>>2]=f+1;d=G[f|0]}else{d=0}e=d<>2]=c-2;F[a+16>>2]=e>>>2;e=(e&3)+3|0;break m}if(c>>>0<=6){f=F[a+4>>2];if(f>>>0>2]){F[a+4>>2]=f+1;d=G[f|0]}else{d=0}e=d<>2]=c-7;F[a+16>>2]=e>>>7;e=(e&127)+7|0}c=G[(h+k|0)-1|0];if(!c){d=0;break f}d=h>>>0>j>>>0?h:j;while(1){f=0;if((d|0)==(h|0)){break g}D[h+k|0]=c;h=h+1|0;e=e-1|0;if(e){continue}break}}if(h>>>0>>0){continue}break}f=0;if((h|0)!=(j|0)){break g}f=ac(b,j,k)}d=f;if(!k){break e}}Ra(k)}a=F[g+48>>2];if(a){Ra(a)}a=F[g+36>>2];if(a){Ra(a)}a=F[g+24>>2];if(!a){break c}Ra(a)}Ea=g+96|0;return d}function Sc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=F[a+4>>2]&2147450878|-2147450880;F[a+4>>2]=g;e=G[b+4|0];d=G[c+8|0];f=G[c+9|0];if((d|0)==(f|0)){d=F[((e<<4)+(d<<2)|0)+12752>>2];c=G[b+1|0];c=d+(c<<3|c>>>2)|0;f=(c|0)>=255?255:c;e=G[b|0];e=d+(e<<3|e>>>2)|0;h=(e|0)>=255?255:e;b=G[b+2|0];b=d+(b<<3|b>>>2)|0;d=(b|0)>=255?255:b;b=(b>>>0<256?b:(d|0)>0?d:0)<<1;c=(c>>>0<256?c:(f|0)>0?f:0)<<1;e=(e>>>0<256?e:(h|0)>0?h:0)<<1;d=G[b+429472|0]<<1&30|(G[c+429984|0]<<5&992|G[e+429984|0]<<10&31744);F[a+4>>2]=d|g&-32768;b=G[b+429473|0];c=G[c+429985|0];e=G[e+429985|0];F[a>>2]=1431655765;F[a+4>>2]=d|(b<<16&2031616|(c<<21&65011712|e<<26))|-2147450880;return}a:{if(!((f|0)!=3|e>>>0<7|(G[c+10|0]!=2|d))){k=e<<4;f=F[k+12752>>2];e=G[b+1|0];j=(e<<3|e>>>2)&255;e=f+j|0;h=(e|0)>=255?255:e;d=G[b|0];l=(d<<3|d>>>2)&255;d=l+f|0;i=(d|0)>=255?255:d;b=G[b+2|0];m=(b<<3|b>>>2)&255;b=m+f|0;f=(b|0)>=255?255:b;i=G[(((b>>>0<256?b:(f|0)>0?f:0)&255)<<1)+431009|0]<<1&30|(G[(((e>>>0<256?e:(h|0)>0?h:0)&255)<<1)+431521|0]<<5&992|G[(((d>>>0<256?d:(i|0)>0?i:0)&255)<<1)+431521|0]<<10&31744);F[a+4>>2]=i|g&-32768;d=F[k+12764>>2];b=d+j|0;g=(b|0)>=255?255:b;e=d+l|0;f=(e|0)>=255?255:e;d=d+m|0;h=(d|0)>=255?255:d;F[a+4>>2]=i|(G[(((d>>>0<256?d:(h|0)>0?h:0)&255)<<1)+431521|0]<<16&2031616|(G[(((b>>>0<256?b:(g|0)>0?g:0)&255)<<1)+431521|0]<<21&65011712|G[(((e>>>0<256?e:(f|0)>0?f:0)&255)<<1)+431521|0]<<26))|-2147450880;break a}f=L(F[((d<<4)+(f<<2)|0)+432544>>2],10);g=e<<5;e=f+L(g+G[b+1|0]|0,60)<<2;k=e;d=f+L(g+G[b+2|0]|0,60)<<2;b=f+L(g+G[b|0]|0,60)<<2;g=H[d+330774>>1]+(H[e+207846>>1]+H[b+207846>>1]|0)|0;f=H[d+330770>>1]+(H[e+207842>>1]+H[b+207842>>1]|0)|0;h=g>>>0>>0;i=H[d+330778>>1]+(H[e+207850>>1]+H[b+207850>>1]|0)|0;g=h?g:f;f=i>>>0>>0;j=f?2:h;h=H[d+330782>>1]+(H[e+207854>>1]+H[b+207854>>1]|0)|0;g=f?i:g;f=h>>>0>>0;j=f?3:j;i=H[d+330786>>1]+(H[e+207858>>1]+H[b+207858>>1]|0)|0;g=f?h:g;f=i>>>0>>0;j=f?4:j;h=H[d+330790>>1]+(H[e+207862>>1]+H[b+207862>>1]|0)|0;g=f?i:g;f=h>>>0>>0;j=f?5:j;i=H[d+330794>>1]+(H[e+207866>>1]+H[b+207866>>1]|0)|0;g=f?h:g;f=i>>>0>>0;j=f?6:j;h=H[d+330798>>1]+(H[e+207870>>1]+H[b+207870>>1]|0)|0;g=f?i:g;f=h>>>0>>0;j=f?7:j;i=H[d+330802>>1]+(H[e+207874>>1]+H[b+207874>>1]|0)|0;g=f?h:g;f=i>>>0>>0;e=H[d+330806>>1]+(H[e+207878>>1]+H[b+207878>>1]|0)>>>0<(f?i:g)>>>0?9:f?8:j;f=e<<2;g=k+f|0;b=b+f|0;d=d+f|0;F[a+4>>2]=G[g+207840|0]<<5&992|G[b+207840|0]<<10&31744|G[d+330768|0]<<1&30|(G[d+330769|0]<<16&2031616|(G[g+207841|0]<<21&65011712|G[b+207841|0]<<26))|-2147450880;if((e|0)==6){break a}e=G[c|0];d=G[c+1|0];g=G[c+2|0];b=f+330720|0;c=G[c+3|0];D[a+3|0]=G[b+(c>>>2&3)|0]<<2|G[b+(c&3)|0]|G[b+(c>>>4&3)|0]<<4|G[b+(c>>>6|0)|0]<<6;D[a+2|0]=G[b+(g&3)|0]|G[b+(g>>>2&3)|0]<<2|G[b+(g>>>4&3)|0]<<4|G[b+(g>>>6|0)|0]<<6;D[a+1|0]=G[b+(d&3)|0]|G[b+(d>>>2&3)|0]<<2|G[b+(d>>>4&3)|0]<<4|G[b+(d>>>6|0)|0]<<6;D[a|0]=G[b+(e&3)|0]|G[b+(e>>>2&3)|0]<<2|G[b+(e>>>4&3)|0]<<4|G[b+(e>>>6|0)|0]<<6;return}D[a|0]=G[c|0];D[a+1|0]=G[c+1|0];D[a+2|0]=G[c+2|0];D[a+3|0]=G[c+3|0]}function ub(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=M(0),x=0,y=0,z=0,A=0,B=0,C=0,I=0,J=0,K=M(0);d=F[a+104>>2];if(d-18>>>0>=4294967287){d=G[b+3|0];f=G[b+7|0];g=d>>>0>>0?d:f;e=G[b+11|0];h=e>>>0>g>>>0?g:e;g=G[b+15|0];i=g>>>0>h>>>0?h:g;h=G[b+19|0];k=h>>>0>i>>>0?i:h;i=G[b+23|0];l=i>>>0>k>>>0?k:i;k=G[b+27|0];m=k>>>0>l>>>0?l:k;l=G[b+31|0];n=l>>>0>m>>>0?m:l;m=G[b+35|0];o=m>>>0>n>>>0?n:m;n=G[b+39|0];p=n>>>0>o>>>0?o:n;o=G[b+43|0];q=o>>>0>p>>>0?p:o;p=G[b+47|0];r=p>>>0>q>>>0?q:p;q=G[b+51|0];s=q>>>0>r>>>0?r:q;r=G[b+55|0];j=r>>>0>s>>>0?s:r;s=G[b+59|0];t=s>>>0>j>>>0?j:s;j=G[b+63|0];t=j>>>0>t>>>0?t:j;d=d>>>0>f>>>0?d:f;d=d>>>0>e>>>0?d:e;d=d>>>0>g>>>0?d:g;d=d>>>0>h>>>0?d:h;d=d>>>0>i>>>0?d:i;d=d>>>0>k>>>0?d:k;d=d>>>0>l>>>0?d:l;d=d>>>0>m>>>0?d:m;d=d>>>0>n>>>0?d:n;d=d>>>0>o>>>0?d:o;d=d>>>0>p>>>0?d:p;d=d>>>0>q>>>0?d:q;d=d>>>0>r>>>0?d:r;d=d>>>0>s>>>0?d:s;d=d>>>0>j>>>0?d:j;if((t|0)==(d|0)){E[c>>1]=t|7424;a=H[196104]|H[196105]<<16;E[c+2>>1]=a;E[c+4>>1]=a>>>16;E[c+6>>1]=H[196106];return}k=b+3|0;w=M(t>>>0);K=M(M(d>>>0)-w);d=F[a+132>>2];b=(d&15)<<3;f=D[b+12883|0];e=D[b+12887|0];w=fb(M(M(K*M(M(0-f|0)/M(e-f|0)))+w));a:{if(M(N(w))>1]=a&255|d<<8;d=d>>>4|0;e=a+L(d,e)|0;l=(e>>>0<256?e:(e^-1)>>31)&255;e=a+L(d,D[b+12886|0])|0;m=(e>>>0<256?e:(e^-1)>>31)&255;e=a+L(d,D[b+12885|0])|0;n=(e>>>0<256?e:(e^-1)>>31)&255;e=a+L(d,D[b+12884|0])|0;o=(e>>>0<256?e:(e^-1)>>31)&255;f=a+L(d,f)|0;p=(f>>>0<256?f:(f^-1)>>31)&255;f=a+L(d,D[b+12882|0])|0;q=(f>>>0<256?f:(f^-1)>>31)&255;f=a+L(d,D[b+12881|0])|0;r=(f>>>0<256?f:(f^-1)>>31)&255;a=a+L(d,D[b+12880|0])|0;s=(a>>>0<256?a:(a^-1)>>31)&255;while(1){a=G[(k+((u&3)<<4)|0)+(u&-4)|0];j=s-a|0;b=j>>31;t=r-a|0;d=t>>31;z=q-a|0;f=z>>31;A=p-a|0;e=A>>31;B=o-a|0;g=B>>31;C=n-a|0;h=C>>31;I=m-a|0;i=I>>31;J=l-a|0;a=J>>31;b=(b^j)-b<<3;d=(d^t)-d<<3|1;b=b>>>0>>0?b:d;d=(f^z)-f<<3|2;b=b>>>0>>0?b:d;d=(e^A)-e<<3|3;b=b>>>0>>0?b:d;d=(g^B)-g<<3|4;b=b>>>0>>0?b:d;d=(h^C)-h<<3|5;b=b>>>0>>0?b:d;d=(i^I)-i<<3|6;b=b>>>0>>0?b:d;a=(a^J)-a<<3|7;a=(a>>>0>b>>>0?b:a)&7;d=We(u,y,-3,-1);d=d+45|0;b=d&31;if((d&63)>>>0>=32){d=a<>>32-b;a=a<>>8;D[c+5|0]=(v&65535)<<16|x>>>16;D[c+4|0]=(v&16777215)<<8|x>>>24;D[c+3|0]=v;D[c+2|0]=v>>>8;return}a=G[a+115|0];b=H[196104]|H[196105]<<16;E[c+2>>1]=b;E[c+4>>1]=b>>>16;E[c+6>>1]=H[196106];E[c>>1]=(d|0)!=8?7679:a|7424}function mb(a,b,c,d,e,f,g){var h=0,i=0,j=M(0),k=0,l=M(0),m=0,n=0,o=0,p=M(0),q=M(0),r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=M(0),z=M(0),A=M(0),B=M(0),C=M(0),E=M(0),H=0,I=M(0),K=0,L=0;m=Ea-16|0;n=7-b|0;o=b+1|0;b=2<>2]*p)-j)*M(.5))+M(.5));a:{if(M(N(l))>2];q=J[c+12>>2];y=J[d+8>>2];z=J[c+8>>2];A=J[d+4>>2];B=J[c+4>>2];C=J[d>>2];r=h<<1|i;k=i|L;r=(h|0)<0?i:(k|0)>(r|0)?r:k;h=(r&255)<>>o|h;C=M(M(M(M(C*p)-j)*M(.5))+M(.5));b:{if(M(N(C))(s|0)?s:k;h=(s&255)<>>o|h;B=M(M(M(M(B*p)-j)*M(.5))+M(.5));c:{if(M(N(B))(t|0)?t:k;h=(t&255)<>>o|h;A=M(M(M(M(A*p)-j)*M(.5))+M(.5));d:{if(M(N(A))(u|0)?u:k;h=(u&255)<>>o|h;z=M(M(M(M(z*p)-j)*M(.5))+M(.5));e:{if(M(N(z))(v|0)?v:k;h=(v&255)<>>o|h;y=M(M(M(M(y*p)-j)*M(.5))+M(.5));f:{if(M(N(y))(w|0)?w:k;h=(w&255)<>>o|h;q=M(M(M(M(q*p)-j)*M(.5))+M(.5));g:{if(M(N(q))(x|0)?x:k;h=(x&255)<>>o|h;j=M(M(M(M(l*p)-j)*M(.5))+M(.5));h:{if(M(N(j))(K|0)?K:k;h=(k&255)<>>o|h;j=M(0);l=M(0);if(a){while(1){q=l;h=b<<2;l=M(M(G[(m+8|0)+b|0])-M(J[h+d>>2]*M(255)));l=M(q+M(l*l));q=j;j=M(M(G[(m+12|0)+b|0])-M(J[c+h>>2]*M(255)));j=M(q+M(j*j));b=b+1|0;if((b|0)!=(a|0)){continue}break}}if(j>2]=i;D[e+3|0]=(x&254)>>>1;D[e+2|0]=(v&254)>>>1;D[e+1|0]=(t&254)>>>1;D[e|0]=(r&254)>>>1;I=j}if(l>2]=i;D[f+3|0]=(k&254)>>>1;D[f+2|0]=(w&254)>>>1;D[f+1|0]=(u&254)>>>1;D[f|0]=(s&254)>>>1;E=l}i=1;b=H;H=0;if(b){continue}break}} +function Cb(a){var b=0,c=0,d=0,e=0,f=0;d=Ta(a,0,88);a=F[d+88>>2];if(a){Ra(a);F[d+96>>2]=0;F[d+88>>2]=0;F[d+92>>2]=0}a=F[d+100>>2];if(a){Ra(a);F[d+108>>2]=0;F[d+100>>2]=0;F[d+104>>2]=0}a=F[d+112>>2];if(a){b=F[d+116>>2];if(b){b=L(b,24)+a|0;while(1){c=F[a+12>>2];if(c){Ra(c)}c=F[a>>2];if(c){Ra(c)}a=a+24|0;if((b|0)!=(a|0)){continue}break}a=F[d+112>>2]}Ra(a);F[d+120>>2]=0;F[d+112>>2]=0;F[d+116>>2]=0}F[d+124>>2]=0;F[d+128>>2]=0;F[d+140>>2]=0;F[d+132>>2]=0;F[d+136>>2]=0;a=F[d+144>>2];if(a){Ra(a);F[d+152>>2]=0;F[d+144>>2]=0;F[d+148>>2]=0}F[d+156>>2]=0;F[d+160>>2]=0;F[d+180>>2]=0;F[d+184>>2]=0;F[d+172>>2]=0;F[d+176>>2]=0;F[d+164>>2]=0;F[d+168>>2]=0;Db(d+188|0);e=d+776|0;c=0;a=1;while(1){b=L(c,12)+e|0;f=F[b>>2];if(f){Ra(f);F[b>>2]=0;F[b+4>>2]=0;F[b+8>>2]=0}b=L(c,192)+e|0;c=F[b+24>>2];if(c){Ra(c);F[b+24>>2]=0;F[b+28>>2]=0;F[b+32>>2]=0}c=F[b+36>>2];if(c){Ra(c);F[b+36>>2]=0;F[b+40>>2]=0;F[b+44>>2]=0}c=F[b+48>>2];if(c){Ra(c);F[b+48>>2]=0;F[b+52>>2]=0;F[b+56>>2]=0}c=F[b+60>>2];if(c){Ra(c);F[b+60>>2]=0;c=b- -64|0;F[c>>2]=0;F[c+4>>2]=0}c=F[b+72>>2];if(c){Ra(c);F[b+72>>2]=0;F[b+76>>2]=0;F[b+80>>2]=0}c=F[b+84>>2];if(c){Ra(c);F[b+84>>2]=0;F[b+88>>2]=0;F[b+92>>2]=0}c=F[b+96>>2];if(c){Ra(c);F[b+96>>2]=0;F[b+100>>2]=0;F[b+104>>2]=0}c=F[b+108>>2];if(c){Ra(c);F[b+108>>2]=0;F[b+112>>2]=0;F[b+116>>2]=0}c=F[b+120>>2];if(c){Ra(c);F[b+120>>2]=0;F[b+124>>2]=0;F[b+128>>2]=0}c=F[b+132>>2];if(c){Ra(c);F[b+132>>2]=0;F[b+136>>2]=0;F[b+140>>2]=0}c=F[b+144>>2];if(c){Ra(c);F[b+144>>2]=0;F[b+148>>2]=0;F[b+152>>2]=0}c=F[b+156>>2];if(c){Ra(c);F[b+156>>2]=0;F[b+160>>2]=0;F[b+164>>2]=0}c=F[b+168>>2];if(c){Ra(c);F[b+168>>2]=0;F[b+172>>2]=0;F[b+176>>2]=0}c=F[b+180>>2];if(c){Ra(c);F[b+180>>2]=0;F[b+184>>2]=0;F[b+188>>2]=0}c=F[b+192>>2];if(c){Ra(c);F[b+192>>2]=0;F[b+196>>2]=0;F[b+200>>2]=0}c=F[b+204>>2];if(c){Ra(c);F[b+204>>2]=0;F[b+208>>2]=0;F[b+212>>2]=0}c=1;b=a;a=0;if(b){continue}break}a=F[d+1184>>2];if(a){Ra(a);F[d+1192>>2]=0;F[d+1184>>2]=0;F[d+1188>>2]=0}E[d+1200>>1]=0;F[d+1196>>2]=-1}function ic(a,b,c,d,e,f,g,h,i,j,k){var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=h>>>0<=21?F[(h<<2)+398364>>2]:p;a:{if(i&2|c>>>0<78|(!G[a+585|0]|(G[b|0]|G[b+1|0]<<8)!=17011)){break a}if((G[b+2|0]|G[b+3|0]<<8)!=19|(G[b+4|0]|G[b+5|0]<<8)!=77|(G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24))+77>>>0>c>>>0){break a}l=G[b+14|0]|(G[b+15|0]<<8|G[b+16|0]<<16);if(!l|!(G[b+17|0]|(G[b+18|0]<<8|G[b+19|0]<<16))){break a}m=G[b+65|0]|G[b+66|0]<<8|(G[b+67|0]<<16|G[b+68|0]<<24);if(m>>>0>=c>>>0|c-m>>>0>>0){break a}n=b+m|0;q=G[b+21|0]&4;m=0;while(1){o=n+L(m,23)|0;if(!((G[o+1|0]<<8|G[o+2|0]<<16|G[o|0])==(d|0)&G[o+3|0]==(e|0))){m=m+1|0;if((l|0)!=(m|0)){continue}break a}break}d=G[b+20|0];b:{if(d){break b}e=n+L(m,23)|0;if(D[e+4|0]&1){break a}if(!q){break b}s=l;l=m+1|0;if(s>>>0<=l>>>0){break a}l=n+L(l,23)|0;if(!(D[l+4|0]&1)|(G[e+9|0]|G[e+10|0]<<8)!=(G[l+9|0]|G[l+10|0]<<8)|(G[e+11|0]|G[e+12|0]<<8)!=(G[l+11|0]|G[l+12|0]<<8)){break a}}e=n+L(m,23)|0;h=(h|0)==9?q?9:8:h;c:{if((h&-2)!=8){break c}l=L(G[e+11|0]|G[e+12|0]<<8,G[e+9|0]|G[e+10|0]<<8);if(l>>>0>=g>>>0){break c}Ta(L(l,p)+f|0,0,L(g-l|0,p));d=G[b+20|0]}l=G[e+7|0]|G[e+8|0]<<8;p=G[e+5|0]|G[e+6|0]<<8;r=G[e+11|0]|G[e+12|0]<<8;e=G[e+9|0]|G[e+10|0]<<8;if((d&255)==1){a=n+L(m,23)|0;return Fb(h,f,g,b,c,e,r,p,l,G[a+13|0]|G[a+14|0]<<8|(G[a+15|0]<<16|G[a+16|0]<<24),G[a+17|0]|G[a+18|0]<<8|(G[a+19|0]<<16|G[a+20|0]<<24),i,(q|0)!=0,j,k,-1,-1)}d=n+L(m,23)|0;t=G[d+17|0]|G[d+18|0]<<8|(G[d+19|0]<<16|G[d+20|0]<<24);s=G[d+13|0]|G[d+14|0]<<8|(G[d+15|0]<<16|G[d+16|0]<<24);o=G[o+3|0];n=0;m=0;if(q){n=G[d+36|0]|G[d+37|0]<<8|(G[d+38|0]<<16|G[d+39|0]<<24);m=G[d+40|0]|G[d+41|0]<<8|(G[d+42|0]<<16|G[d+43|0]<<24)}r=Ub(a,h,f,g,b,c,e,r,p,l,o,s,t,n,m,i,(q|0)!=0,G[b+23|0]==3,j,0,k)}return r}function hc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=e?0:-1;l=e?-1:1;i=e?-1:0;f=-2;j=(e|0)!=0;k=!e;a:{b:{switch(c-2|0){case 0:f=h;break a;case 3:case 4:f=0;break a;case 5:f=k;break a;case 9:case 13:f=0;break a;case 16:f=i;break a;case 17:case 18:f=0;break a;case 19:f=j;break a;case 6:case 22:f=0;break a;case 25:f=h;break a;case 26:f=l;break a;case 27:f=j;break a;case 28:f=i;break a;case 29:f=k;break a;case 8:break a;default:break b}}f=((c>>>0)%3|0)-1|0}g=G[b|0];e=(f|0)==-2?3:f+1|0;c:{if(!g){break c}e=(d+f|0)-1|0;if((d|0)==(g|0)){break c}e=g-f|0;m=e;e=f+g|0;e=(e|0)<0?m:(d|0)<(e|0)?m:e}D[a|0]=e;e=-2;d:{e:{switch(c-2|0){case 29:e=k;break d;case 28:e=i;break d;case 27:e=j;break d;case 26:e=l;break d;case 25:e=h;break d;case 6:e=0;break d;case 22:e=j;break d;case 18:case 19:e=0;break d;case 17:e=i;break d;case 13:case 16:e=0;break d;case 9:e=k;break d;case 4:case 5:e=0;break d;case 3:e=h;break d;case 0:e=0;break d;case 8:break d;default:break e}}e=(((c>>>0)/3>>>0)%3|0)-1|0}f=G[b+1|0];f:{if(f){if((d|0)!=(f|0)){g=f-e|0;e=e+f|0;e=(e|0)<0?g:(d|0)<(e|0)?g:e;break f}e=(d+e|0)-1|0;break f}e=(e|0)==-2?3:e+1|0}D[a+1|0]=e;e=-2;g:{h:{switch(c-2|0){case 29:e=k;break g;case 28:e=i;break g;case 27:e=j;break g;case 26:e=l;break g;case 25:e=h;break g;case 6:e=j;break g;case 19:case 22:e=0;break g;case 18:e=i;break g;case 16:case 17:e=0;break g;case 13:e=k;break g;case 5:case 9:e=0;break g;case 4:e=h;break g;case 0:case 3:e=0;break g;case 8:break g;default:break h}}e=(((c>>>0)/9>>>0)%3|0)-1|0}b=G[b+2|0];if(b){if((b|0)!=(d|0)){f=a;a=b-e|0;c=a;a=b+e|0;D[f+2|0]=(a|0)<0?c:(a|0)>(d|0)?c:a;return}D[a+2|0]=(d+e|0)-1;return}D[a+2|0]=(e|0)==-2?3:e+1|0}function ld(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(F[a>>2]==-559038751){e=a+4|0;b=F[a+592>>2];d=F[a+596>>2];a:{if((G[b|0]|G[b+1|0]<<8)!=17011|d>>>0<78|((G[b+2|0]|G[b+3|0]<<8)!=19|(G[b+4|0]|G[b+5|0]<<8)!=77)){break a}if(d>>>0<(G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24))+77>>>0){break a}c=G[b+14|0]|(G[b+15|0]<<8|G[b+16|0]<<16);if(!c|!(G[b+17|0]|(G[b+18|0]<<8|G[b+19|0]<<16))){break a}a=G[b+65|0]|G[b+66|0]<<8|(G[b+67|0]<<16|G[b+68|0]<<24);if(a>>>0>=d>>>0|d-a>>>0>>0){break a}a=F[e+8>>2];b:{if(!G[b+20|0]){if(a){Db(e)}c:{if(G[b+21|0]&8){c=F[e>>2];if(!c){break a}a=F[c+8>>2];if(!a|(a|0)!=(G[b+39|0]|G[b+40|0]<<8)|F[c+20>>2]!=(G[b+48|0]|G[b+49|0]<<8)){break a}c=G[b+61|0]|G[b+62|0]<<8|(G[b+63|0]<<16|G[b+64|0]<<24);if(!c){break a}a=G[b+57|0]|G[b+58|0]<<8|(G[b+59|0]<<16|G[b+60|0]<<24);if(d>>>0>>0){break a}if(d-a>>>0>=c>>>0){break c}break a}f=G[b+45|0]|(G[b+46|0]<<8|G[b+47|0]<<16);if(!f){break a}g=G[b+54|0]|(G[b+55|0]<<8|G[b+56|0]<<16);if(!g){break a}a=G[b+61|0]|G[b+62|0]<<8|(G[b+63|0]<<16|G[b+64|0]<<24);if(!a){break a}h=G[b+41|0]|G[b+42|0]<<8|(G[b+43|0]<<16|G[b+44|0]<<24);if(d>>>0>>0){break a}c=G[b+50|0]|G[b+51|0]<<8|(G[b+52|0]<<16|G[b+53|0]<<24);if(d>>>0>>0){break a}i=a;a=G[b+57|0]|G[b+58|0]<<8|(G[b+59|0]<<16|G[b+60|0]<<24);if(i>>>0>d-a>>>0|g>>>0>d-c>>>0|(f>>>0>d-h>>>0|a>>>0>d>>>0)){break a}if(!Eb(e,G[b+39|0]|G[b+40|0]<<8,b+h|0,f,G[b+48|0]|G[b+49|0]<<8,b+c|0,g)){break a}c=G[b+61|0]|G[b+62|0]<<8|(G[b+63|0]<<16|G[b+64|0]<<24);a=G[b+57|0]|G[b+58|0]<<8|(G[b+59|0]<<16|G[b+60|0]<<24)}if(xb(e,a+b|0,c)){break b}break a}if(!a){break b}Db(e)}j=1;D[e+585|0]=1}}return j|0}function qc(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=F[a+104>>2];c=(G[h+7072|0]<<9)+413088|0;d=G[c+(G[a+21|0]<<1)|0];a:{if(h-15>>>0<=2){c=G[c+(G[a+22|0]<<1)|0];f=(L(d,63)+127>>>0)/255<<5;d=(L(d,31)+127>>>0)/255|0;e=f|d;D[b|0]=e;g=((f|d<<11)&65280)>>>8|0;D[b+1|0]=g;f=(L(c,63)+127>>>0)/255<<5;c=(L(c,31)+127>>>0)/255|0;d=f|c;c=((f|c<<11)&65280)>>>8|0;break a}e=(L(G[c+(G[a+25|0]<<1)|0],31)+127>>>0)/255|(L(G[c+(G[a+23|0]<<1)|0],63)+127>>>0)/255<<5;D[b|0]=e;g=(((L(d,31)+127>>>0)/255<<11|e)&65280)>>>8|0;D[b+1|0]=g;d=(L(G[c+(G[a+26|0]<<1)|0],31)+127>>>0)/255|(L(G[c+(G[a+24|0]<<1)|0],63)+127>>>0)/255<<5;c=((d|(L(G[c+(G[a+22|0]<<1)|0],31)+127>>>0)/255<<11)&65280)>>>8|0}D[b+2|0]=d;D[b+3|0]=c;i=d&255|c<<8;f=e&255|g<<8;if((i|0)==(f|0)){a=f?0:1431655765;D[b+4|0]=a;D[b+5|0]=a>>>8;D[b+6|0]=a>>>16;D[b+7|0]=a>>>24;a=f?f:1;D[b|0]=a;c=f?f-1|0:0;D[b+2|0]=c;D[b+1|0]=a>>>8;D[b+3|0]=c>>>8;return}if(f>>>0>>0){D[b+2|0]=e;D[b|0]=d;D[b+3|0]=g;D[b+1|0]=c}c=F[(G[h+7008|0]<<2)+405664>>2];d=a+39|0;e=G[h+7136|0]-1|0;h=G[c+G[d+(1<>>0>>0;c=(((a^G[c+G[d+(15<>>6;c=(c<<4|(a^o)<<2|a^n)<<4|(a^m)<<2|a^l;D[b+6|0]=c>>>6;c=(c<<4|(a^k)<<2|a^j)<<4|(a^g)<<2|a^h;D[b+5|0]=c>>>6;D[b+4|0]=a^p|c<<2}function Ya(a){var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=8;a:{b:{if(a>>>0>4294967239){break b}while(1){h=h>>>0<=8?8:h;d=F[109111];e=F[109110];a=a>>>0<=8?8:a+3&-4;c:{if(a>>>0<=127){f=(a>>>3|0)-1|0;break c}c=O(a);f=((a>>>29-c^4)-(c<<2)|0)+110|0;if(a>>>0<=4095){break c}c=((a>>>30-c^2)-(c<<1)|0)+71|0;f=c>>>0>=63?63:c}b=f&31;if((f&63)>>>0>=32){c=0;b=d>>>b|0}else{c=d>>>b|0;b=((1<>>b}if(b|c){while(1){d=b;d:{if(c|d){e=c-1|0;g=e+1|0;b=e;e=d-1|0;g=(e|0)!=-1?g:b;b=O(c^g);b=(b|0)==32?O(d^e)+32|0:b;e=63-b|0;Fa=0-(b>>>0>63)|0;break d}Fa=0;e=64}g=e;e=g&31;if((g&63)>>>0>=32){b=0;e=c>>>e|0}else{b=c>>>e|0;e=((1<>>e}c=b;f=f+g|0;g=f<<4;d=F[g+435416>>2];i=g+435408|0;e:{if((d|0)!=(i|0)){b=Jb(d,h,a);if(b){break b}b=F[d+4>>2];F[b+8>>2]=F[d+8>>2];F[F[d+8>>2]+4>>2]=b;F[d+8>>2]=i;b=g+435412|0;F[d+4>>2]=F[b>>2];F[b>>2]=d;F[F[d+4>>2]+8>>2]=d;f=f+1|0;b=(c&1)<<31|e>>>1;c=c>>>1|0;break e}b=F[109111];j=436440,k=F[109110]&Ze(-2,-1,f),F[j>>2]=k;F[109111]=Fa&b;b=e^1}if(c|b){continue}break}e=F[109110];d=F[109111]}f:{if(d|e){c=O(d);g=63-((c|0)==32?O(e)+32|0:c)|0;b=g<<4;c=F[b+435416>>2];g:{if(!d&e>>>0<1073741824){break g}f=99;d=b+435408|0;if((d|0)==(c|0)){break g}while(1){if(!f){break g}b=Jb(c,h,a);if(b){break b}f=f-1|0;c=F[c+8>>2];if((d|0)!=(c|0)){continue}break}c=d}if(Kb(a+48|0)){break f}if(!c){break a}d=(g<<4)+435408|0;if((d|0)==(c|0)){break a}while(1){b=Jb(c,h,a);if(b){break b}c=F[c+8>>2];if((d|0)!=(c|0)){continue}break}break a}if(!Kb(a+48|0)){break a}}b=0;if(h-1&h){break b}if(a>>>0<=4294967239){continue}break}}return b}return 0}function nb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:{if(!a){a=Ya(b);break a}if(!b){Ra(a);a=0;break a}b:{if(b>>>0>4294967239){break b}h=b>>>0<=8?8:b+3&-4;b=h+8|0;c:{d:{k=a-4|0;f=k;e=F[f>>2];c=e+f|0;j=F[c>>2];g=j+c|0;e:{f:{if(F[g-4>>2]!=(j|0)){d=b+f|0;if(d+16>>>0<=g>>>0){e=F[c+4>>2];F[e+8>>2]=F[c+8>>2];F[F[c+8>>2]+4>>2]=e;c=g-d|0;F[d>>2]=c;F[(d+(c&-4)|0)-4>>2]=c|1;e=F[d>>2]-8|0;g:{if(e>>>0<=127){c=(e>>>3|0)-1|0;break g}g=O(e);c=((e>>>29-g^4)-(g<<2)|0)+110|0;if(e>>>0<=4095){break g}c=((e>>>30-g^2)-(g<<1)|0)+71|0;c=c>>>0>=63?63:c}e=c<<4;F[d+4>>2]=e+435408;e=e+435416|0;F[d+8>>2]=F[e>>2];F[e>>2]=d;F[F[d+8>>2]+4>>2]=d;e=F[109111];d=c&31;if((c&63)>>>0>=32){c=1<>>32-d}F[109110]=g|F[109110];F[109111]=c|e;F[f>>2]=b;break d}if(d>>>0>g>>>0){break f}b=F[c+4>>2];F[b+8>>2]=F[c+8>>2];F[F[c+8>>2]+4>>2]=b;b=e+j|0;F[f>>2]=b;break d}if(e>>>0>=b+16>>>0){F[f>>2]=b;F[(f+(b&-4)|0)-4>>2]=b;d=b+f|0;b=e-b|0;F[d>>2]=b;F[(d+(b&-4)|0)-4>>2]=b|1;c=F[d>>2]-8|0;h:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break h}f=O(c);b=((c>>>29-f^4)-(f<<2)|0)+110|0;if(c>>>0<=4095){break h}b=((c>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;F[d+4>>2]=c+435408;c=c+435416|0;F[d+8>>2]=F[c>>2];F[c>>2]=d;F[F[d+8>>2]+4>>2]=d;c=F[109111];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d}F[109110]=e|F[109110];F[109111]=b|c;d=1;break c}d=1;if(b>>>0<=e>>>0){break e}}d=0}break c}F[(f+(b&-4)|0)-4>>2]=b;d=1}if(d){break a}b=Ya(h);if(!b){break b}i=F[k>>2]-8|0;Va(b,a,h>>>0>>0?h:i);Ra(a);i=b}a=i}return a}function Fb(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){var r=0,s=0,t=0;r=j+k|0;s=j>>>0>r>>>0;a:{if(!s&e>>>0>>0|s){break a}e=8;if((a&-2)==8){if((Xe(f<<2)|0)!=1){break a}if((Xe(g<<2)|0)!=1){break a}}r=4;b:{c:{d:{e:{f:{g:{h:{a=(a|0)==9?m?9:8:a;switch(a|0){case 13:break d;case 0:case 2:case 4:case 8:case 9:case 11:case 18:case 19:case 20:break e;case 14:case 15:case 16:break g;case 1:case 3:case 5:case 6:case 7:case 10:case 12:case 17:case 21:break h;default:break f}}e=16;break e}r=2;break d}e=0}if(a-13>>>0>3){break c}r=e}if(L(o?o:i,n?n:h)>>>0<=c>>>0){break b}break a}if(L(f,g)>>>0>c>>>0){break a}r=e;if((a|0)==17){break a}}c=l&4;i:{switch(a|0){case 0:return _a(b,f,g,d+j|0,k,0,r,h,i,n,o,p,q);case 1:return _a(b,f,g,d+j|0,k,1,r,h,i,n,o,p,q);case 2:return _a(b,f,g,d+j|0,k,2,r,h,i,n,o,p,q);case 3:return _a(b,f,g,d+j|0,k,3,r,h,i,n,o,p,q);case 4:return _a(b,f,g,d+j|0,k,4,r,h,i,n,o,c?m?3:0:0,-1);case 5:return _a(b,f,g,d+j|0,k,5,r,h,i,n,o,0,3);case 6:case 7:return _a(b,f,g,d+j|0,k,8,r,h,i,n,o,-1,-1);case 8:return _a(b,f,g,d+j|0,k,6,r,h,i,n,o,-1,-1);case 9:return _a(b,f,g,d+j|0,k,7,r,h,i,n,o,-1,-1);case 10:return _a(b,f,g,d+j|0,k,12,r,h,i,n,o,-1,-1);case 20:return _a(b,f,g,d+j|0,k,18,r,h,i,n,o,c?m?3:0:0,-1);case 21:return _a(b,f,g,d+j|0,k,19,r,h,i,n,o,0,3);case 13:return _a(b,f,g,d+j|0,k,22,r,h,i,n,o,-1,-1);case 14:return _a(b,f,g,d+j|0,k,24,r,h,i,n,o,-1,-1);case 15:return _a(b,f,g,d+j|0,k,25,r,h,i,n,o,-1,-1);case 16:break i;default:break a}}t=_a(b,f,g,d+j|0,k,29,r,h,i,n,o,-1,-1)}return t}function Qb(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=Ea-16|0;Ea=l;a:{if(e>>>0<=7){F[l+8>>2]=0;F[l+12>>2]=0;g=l+8|0;Va(g,d,e);a=Qb(a,b,c,g,8);g=a>>>0<4294967177?a>>>0>e>>>0?-20:a:a;break a}m=F[b>>2]+1|0;q=Ta(a,0,m<<1);f=G[d|0]|G[d+1|0]<<8|(G[d+2|0]<<16|G[d+3|0]<<24);a=f&15;g=-44;if(a>>>0>10){break a}F[c>>2]=a+5;c=d+e|0;g=c-4|0;n=c-7|0;o=a+6|0;c=4;f=f>>>4|0;k=32<>>0>=24){while(1){a=a+36|0;if(e>>>0<=n>>>0){e=e+3|0}else{c=(e-n<<3)+c&31;e=g}f=(G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24))>>>c|0;h=Ve(f^-1|-2147483648);if(h>>>0>23){continue}break}}i=h&30;c=(i+c|0)+2|0;a=(L(h>>>1|0,3)+a|0)+(f>>>i&3)|0;if(m>>>0<=a>>>0){break b}f=(c>>>3|0)+e|0;c:{if(!(e>>>0>n>>>0&f>>>0>g>>>0)){c=c&7;e=f;break c}c=(e-g<<3)+c&31;e=g}f=(G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24))>>>c|0}h=k-1&f;i=(k<<1)-1|0;p=i-j|0;if(h>>>0

    >>0){f=o-1|0}else{f=f&i;h=f-((f|0)>=(k|0)?p:0)|0;f=o}i=h-1|0;E[(a<<1)+q>>1]=i;a=a+1|0;c=c+f|0;j=((h|0)>0?1-h|0:i)+j|0;if((j|0)<(k|0)){if((j|0)<2){break b}f=O(j);o=32-f|0;k=1<<(f^31)}if(a>>>0>=m>>>0){break b}h=(i|0)!=0;f=(c>>3)+e|0;d:{if(!(e>>>0>n>>>0&f>>>0>g>>>0)){c=c&7;e=f;break d}c=(e-g<<3)+c&31;e=g}f=(G[e|0]|G[e+1|0]<<8|(G[e+2|0]<<16|G[e+3|0]<<24))>>>c|0;continue}break}g=-20;if((j|0)!=1){break a}g=-48;if(a>>>0>m>>>0){break a}g=-20;if((c|0)>32){break a}F[b>>2]=a-1;g=((c+7>>3)+e|0)-d|0}Ea=l+16|0;return g}function Mc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(!d){return-72}i=H[e+2>>1];a:{b:{c:{if(d>>>0>=4){g=G[(c+d|0)-1|0];f=-1;if(!g){break a}if(d>>>0<=4294967176){break c}return d}h=G[c|0];d:{switch(d-2|0){case 1:h=G[c+2|0]<<16|h;case 0:h=(G[c+1|0]<<8)+h|0;break;default:break d}}f=G[(c+d|0)-1|0];if(!f){return-20}f=(O(f)-(d<<3)|0)+9|0;d=0;break b}f=O(g)-23|0;d=d-4|0;g=d+c|0;h=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24)}k=e+4|0;l=a+b|0;j=l-3|0;i=0-i&31;e:{f:{g:{h:{while(1){i:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break i}if(!d){d=0;g=c;e=f;break h}e=f;g=f>>>3|0;f=(c+d|0)-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24);if(!(f|a>>>0>=j>>>0)){f=(h<>>i<<1)+k|0;m=G[f+1|0];D[a|0]=G[f|0];e=e+m|0;f=(h<>>i<<1)+k|0;m=G[f+1|0];D[a+1|0]=G[f|0];a=a+2|0;f=e+m|0;if(f>>>0<=32){continue}break g}break}if(e>>>0<=32){break h}f=e;break g}f=e;while(1){j:{if((d|0)>=4){e=f&7;h=f>>>3|0;f=0;break j}if(!d){break g}e=f;h=g;g=f>>>3|0;f=h-g>>>0>>0;h=f?d:g;e=e-(h<<3)|0}d=d-h|0;g=d+c|0;h=G[g|0]|G[g+1|0]<<8|(G[g+2|0]<<16|G[g+3|0]<<24);j=a>>>0>=l>>>0;if(!(f|j)){f=(h<>>i<<1)+k|0;j=G[f+1|0];D[a|0]=G[f|0];a=a+1|0;f=e+j|0;if(f>>>0>32){break g}continue}break}f=e;if(j){break e}break f}if(a>>>0>=l>>>0){break e}}while(1){d=(h<>>i<<1)+k|0;e=G[d+1|0];D[a|0]=G[d|0];f=e+f|0;a=a+1|0;if(l>>>0>a>>>0){continue}break}}f=(c|0)!=(g|0)?-20:(f|0)!=32?-20:b}return f}function jc(a,b,c,d,e){var f=0,g=0,h=0,i=0,j=0;a:{if((G[a|0]|G[a+1|0]<<8)!=17011|b>>>0<78|((G[a+2|0]|G[a+3|0]<<8)!=19|(G[a+4|0]|G[a+5|0]<<8)!=77)){break a}if((G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24))+77>>>0>b>>>0){break a}g=G[a+14|0]|(G[a+15|0]<<8|G[a+16|0]<<16);if(!g){break a}i=G[a+17|0]|(G[a+18|0]<<8|G[a+19|0]<<16);if(!i){break a}f=G[a+65|0]|G[a+66|0]<<8|(G[a+67|0]<<16|G[a+68|0]<<24);if(f>>>0>=b>>>0|b-f>>>0>>0){break a}f=a+f|0;while(1){b=f+L(h,23)|0;if(!((G[b+1|0]<<8|G[b+2|0]<<16|G[b|0])==(d|0)&G[b+3|0]==(e|0))){h=h+1|0;if((g|0)!=(h|0)){continue}break a}break}if(d>>>0>=i>>>0){break a}F[c+4>>2]=e;F[c>>2]=d;j=1;if(G[a+20|0]){b=G[(f+L(h,23)|0)+4|0]}else{b=G[a+21|0]>>>2|0}D[c+56|0]=b&1;e=L(h,23);b=e+f|0;D[c+57|0]=G[b+4|0]>>>1&1;F[c+16>>2]=G[b+9|0]<<2|G[b+10|0]<<10;F[c+20>>2]=G[b+11|0]<<2|G[b+12|0]<<10;F[c+8>>2]=G[b+5|0]|G[b+6|0]<<8;F[c+12>>2]=G[b+7|0]|G[b+8|0]<<8;g=G[b+9|0]|G[b+10|0]<<8;F[c+24>>2]=g;d=G[b+11|0]|G[b+12|0]<<8;F[c+36>>2]=h;F[c+28>>2]=d;F[c+32>>2]=L(d,g);F[c+40>>2]=G[b+13|0]|G[b+14|0]<<8|(G[b+15|0]<<16|G[b+16|0]<<24);b=G[b+17|0]|G[b+18|0]<<8|(G[b+19|0]<<16|G[b+20|0]<<24);F[c+48>>2]=0;F[c+52>>2]=0;F[c+44>>2]=b;if(G[a+20|0]|!(G[a+21|0]&4)){break a}a=e+f|0;F[c+48>>2]=G[a+36|0]|G[a+37|0]<<8|(G[a+38|0]<<16|G[a+39|0]<<24);F[c+52>>2]=G[a+40|0]|G[a+41|0]<<8|(G[a+42|0]<<16|G[a+43|0]<<24)}return j}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;f=Ea+-64|0;Ea=f;a:{if(Xa(b,405072,0)){F[c>>2]=0;d=1;break a}b:{if(G[a+8|0]&24){e=1}else{if(!b){break b}e=ab(b,404804);if(!e){break b}e=(G[e+8|0]&24)!=0}g=Xa(a,b,e)}if(g){d=1;a=F[c>>2];if(!a){break a}F[c>>2]=F[a>>2];break a}c:{if(!b){break c}e=ab(b,404852);if(!e){break a}b=F[c>>2];if(b){F[c>>2]=F[b>>2]}g=F[e+8>>2];b=F[a+8>>2];if(g&(b^-1)&7|b&(g^-1)&96){break a}d=1;if(Xa(F[a+12>>2],F[e+12>>2],0)){break a}if(Xa(F[a+12>>2],405060,0)){a=F[e+12>>2];if(!a){break a}d=!ab(a,404904);break a}g=F[a+12>>2];if(!g){break c}d=0;b=ab(g,404852);if(b){if(!(D[a+8|0]&1)){break a}a=F[e+12>>2];c=0;d:{e:{while(1){d=0;if(!a){break d}a=ab(a,404852);if(!a|F[a+8>>2]&(F[b+8>>2]^-1)){break e}d=1;if(Xa(F[b+12>>2],F[a+12>>2],0)){break d}if(!(D[b+8|0]&1)){break e}d=F[b+12>>2];if(!d){break e}b=ab(d,404852);if(b){a=F[a+12>>2];continue}break}b=ab(d,404964);if(!b){break e}c=sc(b,F[a+12>>2])}d=c}break a}b=ab(g,404964);if(b){if(!(D[a+8|0]&1)){break a}d=sc(b,F[e+12>>2]);break a}b=ab(g,404756);if(!b){break a}a=F[e+12>>2];if(!a){break a}a=ab(a,404756);if(!a){break a}Ta(f+12|0,0,52);F[f+56>>2]=1;F[f+20>>2]=-1;F[f+16>>2]=b;F[f+8>>2]=a;Ga[F[F[a>>2]+28>>2]](a,f+8|0,F[c>>2],1);a=F[f+32>>2];if(!(!F[c>>2]|(a|0)!=1)){F[c>>2]=F[f+24>>2]}d=(a|0)==1;break a}d=0}Ea=f- -64|0;return d|0}function kd(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;f=Ea-48|0;Ea=f;a:{if(F[a>>2]!=-559038751|e>>>0>21){break a}k=a+4|0;if(!qb(k,F[a+592>>2],F[a+596>>2],c,d,f+20|0,f+16|0,f+12|0)){break a}F[f>>2]=0;F[f+4>>2]=0;F[f+8>>2]=0;l=((g|0)!=0)<<2;h=e-13|0;b:{if(h>>>0<4){i=F[f+16>>2];g=F[f+20>>2];h=L(i,L(g,h>>>0<=3?F[(h<<2)+398452>>2]:0));if(h){Wa(f,h,(h|0)==1,1);g=F[f+4>>2];Ta(g+F[f>>2]|0,0,h-g|0);F[f+4>>2]=h;j=F[f>>2];i=F[f+16>>2];g=F[f+20>>2]}j=ic(k,F[a+592>>2],F[a+596>>2],c,d,j,L(g,i),e,l,g,i);break b}i=e>>>0<=21?F[(e<<2)+398364>>2]:0;g=0;if((e&-2)!=8){h=L(i,F[f+12>>2])}else{h=F[f+16>>2]+3&-4;j=h>>>0<=8?8:h;h=F[f+20>>2]+3&-4;h=L(j,h>>>0<=8?8:h)>>>1&536870904}if(h){Wa(f,h,(h|0)==1,1);g=F[f+4>>2];Ta(g+F[f>>2]|0,0,h-g|0);F[f+4>>2]=h;g=F[f>>2]}j=ic(k,F[a+592>>2],F[a+596>>2],c,d,g,(h>>>0)/(i>>>0)|0,e,l,0,0)}c=ja(4864)|0;d=$(2107)|0;a=_(c|0,d|0)|0;W(d|0);W(c|0);d=ra(1109)|0;c=F[f>>2];e=F[f+4>>2];aa(a|0);F[f+40>>2]=e;F[f+32>>2]=c;F[f+24>>2]=a;c=ia(d|0,3,398544,f+24|0)|0;W(d|0);b=F[b>>2];if(!(D[435192]&1)){d=ha(2,398556)|0;D[435192]=1;F[108797]=d}d=F[108797];aa(c|0);F[f+24>>2]=c;ka(d|0,b|0,1336,f+24|0);W(c|0);W(a|0);a=F[f>>2];if(!a){break a}Ra(a)}Ea=f+48|0;return j|0}function kc(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;a:{if((G[a|0]|G[a+1|0]<<8)!=17011|b>>>0<78|((G[a+2|0]|G[a+3|0]<<8)!=19|(G[a+4|0]|G[a+5|0]<<8)!=77)){break a}if((G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24))+77>>>0>b>>>0){break a}h=G[a+14|0]|(G[a+15|0]<<8|G[a+16|0]<<16);if(!h){break a}f=G[a+17|0]|(G[a+18|0]<<8|G[a+19|0]<<16);if(!f){break a}e=G[a+65|0]|G[a+66|0]<<8|(G[a+67|0]<<16|G[a+68|0]<<24);if(e>>>0>=b>>>0|b-e>>>0>>0){break a}i=a+e|0;b=0;while(1){e=L(b,23)+i|0;if(!((G[e+1|0]<<8|G[e+2|0]<<16|G[e|0])==(d|0)&!G[e+3|0])){b=b+1|0;if((h|0)!=(b|0)){continue}break a}break}if(d>>>0>=f>>>0){break a}e=1;f=b+1|0;if(h>>>0>f>>>0){while(1){g=L(f,23)+i|0;if((G[g+1|0]<<8|G[g+2|0]<<16|G[g|0])==(d|0)){g=G[g+3|0]+1|0;e=e>>>0>g>>>0?e:g;f=f+1|0;if(h>>>0>f>>>0){continue}}break}if(e>>>0>16){break a}}D[c+40|0]=0;F[c+4>>2]=e;F[c>>2]=d;j=1;if(G[a+20|0]){a=G[(L(b,23)+i|0)+4|0]}else{a=G[a+21|0]>>>2|0}D[c+40|0]=a&1;a=L(b,23)+i|0;D[c+41|0]=G[a+4|0]>>>1&1;F[c+16>>2]=G[a+9|0]<<2|G[a+10|0]<<10;F[c+20>>2]=G[a+11|0]<<2|G[a+12|0]<<10;F[c+8>>2]=G[a+5|0]|G[a+6|0]<<8;F[c+12>>2]=G[a+7|0]|G[a+8|0]<<8;d=G[a+9|0]|G[a+10|0]<<8;F[c+24>>2]=d;a=G[a+11|0]|G[a+12|0]<<8;F[c+36>>2]=b;F[c+28>>2]=a;F[c+32>>2]=L(a,d)}return j}function fe(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=Ea-80|0;Ea=j;a:{if(F[a>>2]!=-559038750|f>>>0>21){break a}a=a+4|0;if(!Ab(a,j+12|0,c,d,e)){break a}k=F[j+48>>2];m=F[j+28>>2];n=F[j+24>>2];F[j>>2]=0;F[j+4>>2]=0;F[j+8>>2]=0;o=((g|0)!=0)<<2;g=f-13|0;b:{if(g>>>0<4){l=L(m,n);k=L(l,g>>>0<=3?F[(g<<2)+398452>>2]:0);if(k){Wa(j,k,(k|0)==1,1);g=F[j+4>>2];Ta(g+F[j>>2]|0,0,k-g|0);F[j+4>>2]=k;g=F[j>>2]}else{g=0}l=fc(a,c,d,e,g,l,f,o,n,m,h,i);break b}l=f>>>0<=21?F[(f<<2)+398364>>2]:0;if((f&-2)!=8){g=L(k,l)}else{g=m+3&-4;k=g>>>0<=8?8:g;g=n+3&-4;g=L(k,g>>>0<=8?8:g)>>>1&536870904}if(g){Wa(j,g,(g|0)==1,1);k=F[j+4>>2];Ta(k+F[j>>2]|0,0,g-k|0);F[j+4>>2]=g;k=F[j>>2]}else{k=0}l=fc(a,c,d,e,k,(g>>>0)/(l>>>0)|0,f,o,0,0,h,i)}c=ja(4864)|0;a=$(2107)|0;e=_(c|0,a|0)|0;W(a|0);W(c|0);d=ra(1109)|0;c=F[j>>2];a=F[j+4>>2];aa(e|0);F[j+72>>2]=a;F[j+64>>2]=c;F[j+56>>2]=e;c=ia(d|0,3,398544,j+56|0)|0;W(d|0);b=F[b>>2];if(!(D[435192]&1)){a=ha(2,398556)|0;D[435192]=1;F[108797]=a}a=F[108797];aa(c|0);F[j+56>>2]=c;ka(a|0,b|0,1336,j+56|0);W(c|0);W(e|0);a=F[j>>2];if(!a){break a}Ra(a)}Ea=j+80|0;return l|0}function Va(a,b,c){var d=0,e=0,f=0;if(c>>>0>=512){za(a|0,b|0,c|0);return a}e=a+c|0;a:{if(!((a^b)&3)){b:{if(!(a&3)){c=a;break b}if(!c){c=a;break b}c=a;while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if(!(c&3)){break b}if(c>>>0>>0){continue}break}}d=e&-4;c:{if(d>>>0<64){break c}f=d+-64|0;if(f>>>0>>0){break c}while(1){F[c>>2]=F[b>>2];F[c+4>>2]=F[b+4>>2];F[c+8>>2]=F[b+8>>2];F[c+12>>2]=F[b+12>>2];F[c+16>>2]=F[b+16>>2];F[c+20>>2]=F[b+20>>2];F[c+24>>2]=F[b+24>>2];F[c+28>>2]=F[b+28>>2];F[c+32>>2]=F[b+32>>2];F[c+36>>2]=F[b+36>>2];F[c+40>>2]=F[b+40>>2];F[c+44>>2]=F[b+44>>2];F[c+48>>2]=F[b+48>>2];F[c+52>>2]=F[b+52>>2];F[c+56>>2]=F[b+56>>2];F[c+60>>2]=F[b+60>>2];b=b- -64|0;c=c- -64|0;if(f>>>0>=c>>>0){continue}break}}if(c>>>0>=d>>>0){break a}while(1){F[c>>2]=F[b>>2];b=b+4|0;c=c+4|0;if(d>>>0>c>>>0){continue}break}break a}if(e>>>0<4){c=a;break a}d=e-4|0;if(d>>>0>>0){c=a;break a}c=a;while(1){D[c|0]=G[b|0];D[c+1|0]=G[b+1|0];D[c+2|0]=G[b+2|0];D[c+3|0]=G[b+3|0];b=b+4|0;c=c+4|0;if(d>>>0>=c>>>0){continue}break}}if(c>>>0>>0){while(1){D[c|0]=G[b|0];b=b+1|0;c=c+1|0;if((e|0)!=(c|0)){continue}break}}return a}function dc(a){var b=0,c=0,d=0,e=0,f=0;d=Ea-16|0;F[d+8>>2]=0;F[d+12>>2]=0;F[d>>2]=0;F[d+4>>2]=0;f=1;c=G[a|0];b=(c&3)<<2|d;F[b>>2]=F[b>>2]+1;b=c&12|d;F[b>>2]=F[b>>2]+1;b=c>>>2&12|d;F[b>>2]=F[b>>2]+1;c=c>>>4&12|d;F[c>>2]=F[c>>2]+1;c=G[a+1|0];b=(c&3)<<2|d;F[b>>2]=F[b>>2]+1;b=c&12|d;F[b>>2]=F[b>>2]+1;b=c>>>2&12|d;F[b>>2]=F[b>>2]+1;c=c>>>4&12|d;F[c>>2]=F[c>>2]+1;c=G[a+2|0];b=(c&3)<<2|d;F[b>>2]=F[b>>2]+1;b=c&12|d;F[b>>2]=F[b>>2]+1;b=c>>>2&12|d;F[b>>2]=F[b>>2]+1;c=c>>>4&12|d;F[c>>2]=F[c>>2]+1;c=G[a+3|0];b=(c&3)<<2|d;F[b>>2]=F[b>>2]+1;b=c&12|d;F[b>>2]=F[b>>2]+1;b=c>>>2&12|d;F[b>>2]=F[b>>2]+1;c=c>>>4&12|d;F[c>>2]=F[c>>2]+1;D[a+10|0]=0;D[a+8|0]=3;D[a+9|0]=0;b=a+10|0;c=a+8|0;a:{b:{c:{d:{e:{f:{if(!F[d>>2]){if(!F[d+4>>2]){break e}D[a+10|0]=1;D[c|0]=1;e=1;break f}D[a+10|0]=1;D[c|0]=0;if(!F[d+4>>2]){break d}D[a+10|0]=2;e=2}D[a+9|0]=1;f=0}if(!F[d+8>>2]){break a}e=e+1|0;D[a+10|0]=e;b=c;if(!f){break b}break c}e=2;if(F[d+8>>2]){break c}e=1;break a}D[b|0]=2}D[a+9|0]=2}if(F[d+12>>2]){D[a+9|0]=3;D[a+10|0]=e+1}}function Kb(a){var b=0,c=0,d=0,e=0,f=0;d=F[101458];c=a+7&-8;b=d+c|0;a:{b:{if(b>>>0<=d>>>0?c:0){break b}if(b>>>0>Ha()<<16>>>0){if(!(xa(b|0)|0)){break b}}F[101458]=b;break a}F[108804]=48;d=-1}if((d|0)!=-1){a=a+d|0;F[a-4>>2]=16;c=a-16|0;F[c>>2]=16;b=F[109108];if(b){f=F[b+8>>2]}else{f=0}c:{d:{if((f|0)==(d|0)){e=d-(F[d-4>>2]&-2)|0;f=F[e-4>>2];F[b+8>>2]=a;a=e-(f&-2)|0;b=-16;if(!(D[(a+F[a>>2]|0)-4|0]&1)){break d}b=F[a+4>>2];F[b+8>>2]=F[a+8>>2];F[F[a+8>>2]+4>>2]=b;b=c-a|0;F[a>>2]=b;break c}F[d+12>>2]=16;F[d>>2]=16;F[d+8>>2]=a;F[d+4>>2]=b;F[109108]=d;b=16}a=b+d|0;b=c-a|0;F[a>>2]=b}F[((b&-4)+a|0)-4>>2]=b|1;c=F[a>>2]-8|0;e:{if(c>>>0<=127){b=(c>>>3|0)-1|0;break e}e=O(c);b=((c>>>29-e^4)-(e<<2)|0)+110|0;if(c>>>0<=4095){break e}b=((c>>>30-e^2)-(e<<1)|0)+71|0;b=b>>>0>=63?63:b}c=b<<4;F[a+4>>2]=c+435408;c=c+435416|0;F[a+8>>2]=F[c>>2];F[c>>2]=a;F[F[a+8>>2]+4>>2]=a;c=F[109110];e=F[109111];a=b&31;if((b&63)>>>0>=32){b=1<>>32-a}F[109110]=f|c;F[109111]=b|e}return(d|0)!=-1}function Yb(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=G[b|0];h=G[b+1|0];g=G[b+2|0];D[a+15|0]=255;D[a+11|0]=255;D[a+7|0]=255;D[a+3|0]=255;b=c<<4;e=F[b+12764>>2];c=(g<<3|g>>>2)&255;g=e+c|0;f=(g|0)>=255?255:g;D[a+14|0]=g>>>0<256?g:(f|0)>0?f:0;g=(h<<3|h>>>2)&255;h=g+e|0;f=(h|0)>=255?255:h;D[a+13|0]=h>>>0<256?h:(f|0)>0?f:0;h=(d<<3|d>>>2)&255;d=h+e|0;e=(d|0)>=255?255:d;D[a+12|0]=d>>>0<256?d:(e|0)>0?e:0;e=F[b+12760>>2];d=e+c|0;f=(d|0)>=255?255:d;D[a+10|0]=d>>>0<256?d:(f|0)>0?f:0;d=e+g|0;f=(d|0)>=255?255:d;D[a+9|0]=d>>>0<256?d:(f|0)>0?f:0;d=e+h|0;e=(d|0)>=255?255:d;D[a+8|0]=d>>>0<256?d:(e|0)>0?e:0;e=F[b+12756>>2];d=e+c|0;f=(d|0)>=255?255:d;D[a+6|0]=d>>>0<256?d:(f|0)>0?f:0;d=e+g|0;f=(d|0)>=255?255:d;D[a+5|0]=d>>>0<256?d:(f|0)>0?f:0;d=e+h|0;e=(d|0)>=255?255:d;D[a+4|0]=d>>>0<256?d:(e|0)>0?e:0;d=c;c=F[b+12752>>2];b=d+c|0;d=(b|0)>=255?255:b;D[a+2|0]=b>>>0<256?b:(d|0)>0?d:0;b=c+g|0;g=(b|0)>=255?255:b;D[a+1|0]=b>>>0<256?b:(g|0)>0?g:0;b=c+h|0;c=(b|0)>=255?255:b;D[a|0]=b>>>0<256?b:(c|0)>0?c:0}function Rb(a){var b=0;b=F[a+396>>2];if(b){Ra(b)}b=F[a+384>>2];if(b){Ra(b)}b=F[a+372>>2];if(b){Ra(b)}b=F[a+360>>2];if(b){Ra(b)}b=F[a+348>>2];if(b){Ra(b)}b=F[a+336>>2];if(b){Ra(b)}b=F[a+324>>2];if(b){Ra(b)}b=F[a+312>>2];if(b){Ra(b)}b=F[a+300>>2];if(b){Ra(b)}b=F[a+288>>2];if(b){Ra(b)}b=F[a+276>>2];if(b){Ra(b)}b=F[a+264>>2];if(b){Ra(b)}b=F[a+252>>2];if(b){Ra(b)}b=F[a+240>>2];if(b){Ra(b)}b=F[a+228>>2];if(b){Ra(b)}b=F[a+216>>2];if(b){Ra(b)}b=F[a+204>>2];if(b){Ra(b)}b=F[a+192>>2];if(b){Ra(b)}b=F[a+180>>2];if(b){Ra(b)}b=F[a+168>>2];if(b){Ra(b)}b=F[a+156>>2];if(b){Ra(b)}b=F[a+144>>2];if(b){Ra(b)}b=F[a+132>>2];if(b){Ra(b)}b=F[a+120>>2];if(b){Ra(b)}b=F[a+108>>2];if(b){Ra(b)}b=F[a+96>>2];if(b){Ra(b)}b=F[a+84>>2];if(b){Ra(b)}b=F[a+72>>2];if(b){Ra(b)}b=F[a+60>>2];if(b){Ra(b)}b=F[a+48>>2];if(b){Ra(b)}b=F[a+36>>2];if(b){Ra(b)}b=F[a+24>>2];if(b){Ra(b)}b=F[a+12>>2];if(b){Ra(b)}a=F[a>>2];if(a){Ra(a)}}function Ic(){Ca(405060,2898);Ba(405084,2340,1,0);ca(405096,2173,1,-128,127);ca(405120,2166,1,-128,127);ca(405108,2164,1,0,255);ca(405132,1171,2,-32768,32767);ca(405144,1162,2,0,65535);ca(405156,1218,4,-2147483648,2147483647);ca(405168,1209,4,0,-1);ca(405180,2552,4,-2147483648,2147483647);ca(405192,2543,4,0,-1);nc(405204,1419,-2147483648,2147483647);nc(405216,1418,0,-1);ua(405228,1340,4);ua(405240,2819,8);ta(400052,2583);ta(403280,4669);oa(403352,4,2557);oa(403428,2,2595);oa(403504,4,2610);Aa(398528,2386);Z(403544,0,4600);Z(403584,0,4702);Z(403624,1,4630);Z(403664,2,4165);Z(403704,3,4196);Z(403744,4,4236);Z(403784,5,4265);Z(403824,4,4739);Z(403864,5,4769);Z(403584,0,4367);Z(403624,1,4334);Z(403664,2,4433);Z(403704,3,4399);Z(403744,4,4567);Z(403784,5,4533);Z(403904,8,4500);Z(403944,9,4466);Z(403984,6,4303);Z(404024,7,4808)}function Jb(a,b,c){var d=0,e=0,f=0,g=0;d=a+4|0;e=(d+b|0)-1&0-b;b=F[a>>2];if(e+c>>>0<=(b+a|0)-4>>>0){f=F[a+4>>2];F[f+8>>2]=F[a+8>>2];F[F[a+8>>2]+4>>2]=f;if((d|0)!=(e|0)){e=e-d|0;f=a-(F[a-4>>2]&-2)|0;d=e+F[f>>2]|0;F[f>>2]=d;F[(f+(d&-4)|0)-4>>2]=d;a=a+e|0;b=b-e|0;F[a>>2]=b}a:{if(c+24>>>0<=b>>>0){d=(a+c|0)+8|0;b=(b-c|0)-8|0;F[d>>2]=b;F[(d+(b&-4)|0)-4>>2]=b|1;e=F[d>>2]-8|0;b:{if(e>>>0<=127){b=(e>>>3|0)-1|0;break b}f=O(e);b=((e>>>29-f^4)-(f<<2)|0)+110|0;if(e>>>0<=4095){break b}b=((e>>>30-f^2)-(f<<1)|0)+71|0;b=b>>>0>=63?63:b}e=b<<4;F[d+4>>2]=e+435408;e=e+435416|0;F[d+8>>2]=F[e>>2];F[e>>2]=d;F[F[d+8>>2]+4>>2]=d;e=F[109110];f=F[109111];d=b&31;if((b&63)>>>0>=32){b=1<>>32-d;d=g}F[109110]=d|e;F[109111]=b|f;b=c+8|0;F[a>>2]=b;F[((b&-4)+a|0)-4>>2]=b;break a}F[(a+b|0)-4>>2]=b}a=a+4|0}else{a=0}return a}function xc(a,b){var c=0,d=0,e=0,f=0,g=0;c=Ea-32|0;Ea=c;F[c+28>>2]=a;f=1;a:{b:{switch(b-a>>2){case 2:b=b-4|0;F[c+24>>2]=b;if(I[b>>2]>=I[a>>2]){break a}a=F[c+28>>2];b=F[a>>2];d=a;a=F[c+24>>2];F[d>>2]=F[a>>2];F[a>>2]=b;break a;case 3:tb(a,a+4|0,b-4|0);break a;case 4:Ac(a,a+4|0,a+8|0,b-4|0);break a;case 5:zc(a,a+4|0,a+8|0,a+12|0,b-4|0);break a;case 0:case 1:break a;default:break b}}e=a+8|0;tb(a,a+4|0,e);d=a+12|0;while(1){F[c+20>>2]=d;if((b|0)==(d|0)){break a}c:{if(I[d>>2]>=I[e>>2]){break c}F[c+16>>2]=F[F[c+20>>2]>>2];F[c+12>>2]=e;d=F[c+20>>2];while(1){d:{F[d>>2]=F[F[c+12>>2]>>2];d=F[c+12>>2];if((d|0)==(a|0)){d=a;break d}e=d-4|0;F[c+12>>2]=e;if(I[c+16>>2]>2]){continue}}break}F[d>>2]=F[c+16>>2];g=g+1|0;if((g|0)!=8){break c}f=(F[c+20>>2]+4|0)==(b|0);break a}e=F[c+20>>2];d=e+4|0;continue}}Ea=c+32|0;return f}function hb(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;g=Ea-16|0;Ea=g;F[g+12>>2]=c;f=Ea-160|0;Ea=f;d=f+8|0;Va(d,404528,144);F[f+52>>2]=a;F[f+28>>2]=a;e=-2-a|0;h=e>>>0>2147483647?2147483647:e;F[f+56>>2]=h;a=a+h|0;F[f+36>>2]=a;F[f+24>>2]=a;e=Ea-208|0;Ea=e;F[e+204>>2]=c;a=e+160|0;Ta(a,0,40);F[e+200>>2]=F[e+204>>2];a:{if((Ec(0,b,e+200|0,e+80|0,a)|0)<0){break a}c=F[d+76>>2]<0;a=F[d>>2];F[d>>2]=a&-33;b:{c:{d:{if(!F[d+48>>2]){F[d+48>>2]=80;F[d+28>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0;i=F[d+44>>2];F[d+44>>2]=e;break d}if(F[d+16>>2]){break c}}if(Gc(d)){break b}}Ec(d,b,e+200|0,e+80|0,e+160|0)}if(i){Ga[F[d+36>>2]](d,0,0)|0;F[d+48>>2]=0;F[d+44>>2]=i;F[d+28>>2]=0;F[d+16>>2]=0;F[d+20>>2]=0}F[d>>2]=F[d>>2]|a&32;if(c){break a}}Ea=e+208|0;if(h){a=F[f+28>>2];D[a-((a|0)==F[f+24>>2])|0]=0}Ea=f+160|0;Ea=g+16|0}function $d(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=Ea-32|0;Ea=f;d=F[a+28>>2];F[f+16>>2]=d;g=F[a+20>>2];F[f+28>>2]=c;F[f+24>>2]=b;b=g-d|0;F[f+20>>2]=b;g=b+c|0;i=2;a:{b:{b=f+16|0;d=sa(F[a+60>>2],b|0,2,f+12|0)|0;if(d){F[108804]=d;d=-1}else{d=0}c:{d:{if(d){d=b;break d}while(1){e=F[f+12>>2];if((e|0)==(g|0)){break c}if((e|0)<0){d=b;break b}h=F[b+4>>2];j=h>>>0>>0;d=(j<<3)+b|0;h=e-(j?h:0)|0;F[d>>2]=h+F[d>>2];b=(j?12:4)+b|0;F[b>>2]=F[b>>2]-h;g=g-e|0;b=d;i=i-j|0;e=sa(F[a+60>>2],b|0,i|0,f+12|0)|0;if(e){F[108804]=e;e=-1}else{e=0}if(!e){continue}break}}if((g|0)!=-1){break b}}b=F[a+44>>2];F[a+28>>2]=b;F[a+20>>2]=b;F[a+16>>2]=b+F[a+48>>2];a=c;break a}F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a>>2]=F[a>>2]|32;a=0;if((i|0)==2){break a}a=c-F[d+4>>2]|0}Ea=f+32|0;return a|0}function yd(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;d=Qa(604);f=Ea-32|0;Ea=f;F[d>>2]=0;e=d+4|0;Hb(e);D[e+585|0]=0;F[f+8>>2]=a;h=f+8|0;b=h;Pc(d+592|0,b);if(G[435168]){e=F[a>>2];c=$(2413)|0;e=_(e|0,c|0)|0;W(c|0);g=+fa(e|0,405168,b|0);ea(F[f+8>>2]);W(e|0);b=ja(4864)|0;c=$(2107)|0;e=_(b|0,c|0)|0;W(c|0);W(b|0);b=F[a>>2];c=$(2095)|0;b=_(b|0,c|0)|0;W(c|0);c=F[d+592>>2];aa(e|0);F[f+24>>2]=g<4294967296&g>=0?~~g>>>0:0;F[f+16>>2]=c;F[f+8>>2]=e;c=ia(b|0,3,398496,h|0)|0;W(b|0);if(!(D[435184]&1)){b=ha(2,398536)|0;D[435184]=1;F[108795]=b}b=F[108795];aa(F[a>>2]);F[f+8>>2]=F[a>>2];ka(b|0,c|0,1336,f+8|0);a:{if(lc(F[d+592>>2],F[d+596>>2])){break a}a=F[d+592>>2];if(!a){break a}Ra(a);F[d+600>>2]=0;F[d+592>>2]=0;F[d+596>>2]=0}F[d>>2]=-559038751;W(c|0);W(e|0)}Ea=f+32|0;return d|0}function qb(a,b,c,d,e,f,g,h){var i=0,j=0,k=0;a=0;a:{if((G[b|0]|G[b+1|0]<<8)!=17011|c>>>0<78|((G[b+2|0]|G[b+3|0]<<8)!=19|(G[b+4|0]|G[b+5|0]<<8)!=77)){break a}if((G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24))+77>>>0>c>>>0){break a}i=G[b+14|0]|(G[b+15|0]<<8|G[b+16|0]<<16);if(!i){break a}k=G[b+17|0]|(G[b+18|0]<<8|G[b+19|0]<<16);if(!k){break a}j=G[b+65|0]|G[b+66|0]<<8|(G[b+67|0]<<16|G[b+68|0]<<24);if(j>>>0>=c>>>0|c-j>>>0>>0){break a}b=b+j|0;c=0;while(1){a=b+L(c,23)|0;if(!((G[a+1|0]<<8|G[a+2|0]<<16|G[a|0])==(d|0)&G[a+3|0]==(e|0))){a=0;c=c+1|0;if((i|0)!=(c|0)){continue}break a}break}a=0;if(d>>>0>=k>>>0){break a}a=b+L(c,23)|0;F[f>>2]=G[a+5|0]|G[a+6|0]<<8;F[g>>2]=G[a+7|0]|G[a+8|0]<<8;F[h>>2]=L(G[a+11|0]|G[a+12|0]<<8,G[a+9|0]|G[a+10|0]<<8);a=1}return a}function Yc(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0;t=Ea-32|0;Ea=t;a:{if(!G[435168]){break a}F[t+28>>2]=0;F[t+20>>2]=0;F[t+24>>2]=0;lb(e,t+20|0);b:{if(!F[t+24>>2]){break b}e=F[c>>2];u=$(2420)|0;e=_(e|0,u|0)|0;W(u|0);v=+fa(e|0,405168,t+8|0);ea(F[t+8>>2]);W(e|0);if(v<4294967296&v>=0){e=~~v>>>0}else{e=0}if(!e){break b}F[t+16>>2]=0;F[t+8>>2]=0;F[t+12>>2]=0;u=t+8|0;Wa(u,e,(e|0)==1,1);w=F[t+12>>2];Ta(w+F[t+8>>2]|0,0,e-w|0);F[t+12>>2]=e;if(Ub(a,b,F[t+8>>2],d,F[t+20>>2],F[t+24>>2],f,g,h,i,j,k,l,m,n,o,p,q,r,a+584|0,s)){x=ob(c,u)}a=F[t+8>>2];if(!a){break b}Ra(a)}a=F[t+20>>2];if(!a){break a}Ra(a)}Ea=t+32|0;return x|0}function db(a,b,c){var d=0,e=0;a:{if((a|0)==(b|0)){break a}e=a+c|0;if(b-e>>>0<=0-(c<<1)>>>0){return Va(a,b,c)}d=(a^b)&3;b:{c:{if(a>>>0>>0){if(d){d=a;break b}if(!(a&3)){d=a;break c}d=a;while(1){if(!c){break a}D[d|0]=G[b|0];b=b+1|0;c=c-1|0;d=d+1|0;if(d&3){continue}break}break c}d:{if(d){break d}if(e&3){while(1){if(!c){break a}c=c-1|0;d=c+a|0;D[d|0]=G[b+c|0];if(d&3){continue}break}}if(c>>>0<=3){break d}while(1){c=c-4|0;F[c+a>>2]=F[b+c>>2];if(c>>>0>3){continue}break}}if(!c){break a}while(1){c=c-1|0;D[c+a|0]=G[b+c|0];if(c){continue}break}break a}if(c>>>0<=3){break b}while(1){F[d>>2]=F[b>>2];b=b+4|0;d=d+4|0;c=c-4|0;if(c>>>0>3){continue}break}}if(!c){break a}while(1){D[d|0]=G[b|0];d=d+1|0;b=b+1|0;c=c-1|0;if(c){continue}break}}return a}function Cc(a,b,c){a:{switch(b-9|0){case 0:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];return;case 6:b=F[c>>2];F[c>>2]=b+4;b=E[b>>1];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 7:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=H[b>>1];F[a+4>>2]=0;return;case 8:b=F[c>>2];F[c>>2]=b+4;b=D[b|0];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 9:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=G[b|0];F[a+4>>2]=0;return;case 16:b=F[c>>2]+7&-8;F[c>>2]=b+8;K[a>>3]=K[b>>3];return;case 17:v();default:return;case 1:case 4:case 14:b=F[c>>2];F[c>>2]=b+4;b=F[b>>2];F[a>>2]=b;F[a+4>>2]=b>>31;return;case 2:case 5:case 11:case 15:b=F[c>>2];F[c>>2]=b+4;F[a>>2]=F[b>>2];F[a+4>>2]=0;return;case 3:case 10:case 12:case 13:break a}}b=F[c>>2]+7&-8;F[c>>2]=b+8;c=F[b+4>>2];F[a>>2]=F[b>>2];F[a+4>>2]=c}function Kd(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0;i=Ea-32|0;Ea=i;a:{if(!G[435168]){break a}F[i+28>>2]=0;F[i+20>>2]=0;F[i+24>>2]=0;lb(d,i+20|0);b:{if(!F[i+24>>2]){break b}d=F[b>>2];n=$(2420)|0;d=_(d|0,n|0)|0;W(n|0);s=+fa(d|0,405168,i+8|0);ea(F[i+8>>2]);W(d|0);if(s<4294967296&s>=0){d=~~s>>>0}else{d=0}if(!d){break b}F[i+16>>2]=0;F[i+8>>2]=0;F[i+12>>2]=0;n=i+8|0;Wa(n,d,(d|0)==1,1);t=F[i+12>>2];Ta(t+F[i+8>>2]|0,0,d-t|0);F[i+12>>2]=d;if(Fb(a,F[i+8>>2],c,F[i+20>>2],F[i+24>>2],e,f,g,h,j,k,l,m,o,p,q,r)){u=ob(b,n)}a=F[i+8>>2];if(!a){break b}Ra(a)}a=F[i+20>>2];if(!a){break a}Ra(a)}Ea=i+32|0;return u|0}function ab(a,b){var c=0,d=0,e=0;c=Ea+-64|0;Ea=c;d=F[a>>2];e=F[d-4>>2];d=F[d-8>>2];F[c+32>>2]=0;F[c+36>>2]=0;F[c+40>>2]=0;F[c+44>>2]=0;F[c+48>>2]=0;F[c+52>>2]=0;D[c+55|0]=0;D[c+56|0]=0;D[c+57|0]=0;D[c+58|0]=0;D[c+59|0]=0;D[c+60|0]=0;D[c+61|0]=0;D[c+62|0]=0;F[c+24>>2]=0;F[c+28>>2]=0;F[c+20>>2]=0;F[c+16>>2]=404708;F[c+12>>2]=a;F[c+8>>2]=b;a=a+d|0;d=0;a:{if(Xa(e,b,0)){F[c+56>>2]=1;Ga[F[F[e>>2]+20>>2]](e,c+8|0,a,a,1,0);d=F[c+32>>2]==1?a:0;break a}Ga[F[F[e>>2]+24>>2]](e,c+8|0,a,1,0);b:{switch(F[c+44>>2]){case 0:d=F[c+48>>2]==1?F[c+36>>2]==1?F[c+40>>2]==1?F[c+28>>2]:0:0:0;break a;case 1:break b;default:break a}}if(F[c+32>>2]!=1){if(F[c+48>>2]|F[c+36>>2]!=1|F[c+40>>2]!=1){break a}}d=F[c+24>>2]}Ea=c- -64|0;return d}function Ta(a,b,c){var d=0,e=0,f=0,g=0;a:{if(!c){break a}D[a|0]=b;d=a+c|0;D[d-1|0]=b;if(c>>>0<3){break a}D[a+2|0]=b;D[a+1|0]=b;D[d-3|0]=b;D[d-2|0]=b;if(c>>>0<7){break a}D[a+3|0]=b;D[d-4|0]=b;if(c>>>0<9){break a}d=0-a&3;e=d+a|0;b=L(b&255,16843009);F[e>>2]=b;d=c-d&-4;c=d+e|0;F[c-4>>2]=b;if(d>>>0<9){break a}F[e+8>>2]=b;F[e+4>>2]=b;F[c-8>>2]=b;F[c-12>>2]=b;if(d>>>0<25){break a}F[e+24>>2]=b;F[e+20>>2]=b;F[e+16>>2]=b;F[e+12>>2]=b;F[c-16>>2]=b;F[c-20>>2]=b;F[c-24>>2]=b;F[c-28>>2]=b;g=e&4|24;c=d-g|0;if(c>>>0<32){break a}d=We(b,0,1,1);f=Fa;b=e+g|0;while(1){F[b+24>>2]=d;F[b+28>>2]=f;F[b+16>>2]=d;F[b+20>>2]=f;F[b+8>>2]=d;F[b+12>>2]=f;F[b>>2]=d;F[b+4>>2]=f;b=b+32|0;c=c-32|0;if(c>>>0>31){continue}break}}return a}function Db(a){var b=0;b=F[a+4>>2];if(b){Ra(b);F[a+12>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0}b=F[a+16>>2];if(b){Ra(b);F[a+24>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0}if(F[a+32>>2]>0){F[a+32>>2]=0}b=F[a+44>>2];if((b|0)>0){F[a+44>>2]=b&-1073741824}b=F[a+56>>2];if((b|0)>0){F[a+56>>2]=b&-2147483648}if(F[a+68>>2]>0){F[a+68>>2]=0}b=F[a+80>>2];if((b|0)>0){F[a+80>>2]=b&-1073741824}b=F[a+92>>2];if((b|0)>0){F[a+92>>2]=b&-2147483648}if(F[a+104>>2]>0){F[a+104>>2]=0}b=F[a+116>>2];if((b|0)>0){F[a+116>>2]=b&-1073741824}b=F[a+128>>2];if((b|0)>0){F[a+128>>2]=b&-2147483648}if(F[a+140>>2]>0){F[a+140>>2]=0}b=F[a+152>>2];if((b|0)>0){F[a+152>>2]=b&-1073741824}b=F[a+164>>2];if((b|0)>0){F[a+164>>2]=b&-2147483648}F[a+172>>2]=0}function mc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=F[a+104>>2];D[c|0]=1;D[c+1|0]=0;D[c+2|0]=0;D[c+3|0]=0;e=a+39|0;f=G[d+7136|0]-1|0;d=F[(G[d+7008|0]<<2)+405664>>2];g=G[G[e+(1<>>6;d=(d<<4|n<<2|m)<<4|l<<2|k;D[c+6|0]=d>>>6;d=(d<<4|j<<2|i)<<4|h<<2|g;D[c+5|0]=d>>>6;D[c+4|0]=a|d<<2;Gb(c,b,4)}function Ra(a){var b=0,c=0,d=0,e=0,f=0;if(a){b=a-4|0;e=F[b>>2];d=e;c=b;f=F[a-8>>2];a=f&-2;if((a|0)!=(f|0)){c=b-a|0;f=F[c+4>>2];F[f+8>>2]=F[c+8>>2];F[F[c+8>>2]+4>>2]=f;d=a+d|0}a=b+e|0;b=F[a>>2];if((b|0)!=F[(a+b|0)-4>>2]){e=F[a+4>>2];F[e+8>>2]=F[a+8>>2];F[F[a+8>>2]+4>>2]=e;d=b+d|0}F[c>>2]=d;F[((d&-4)+c|0)-4>>2]=d|1;b=F[c>>2]-8|0;a:{if(b>>>0<=127){a=(b>>>3|0)-1|0;break a}d=O(b);a=((b>>>29-d^4)-(d<<2)|0)+110|0;if(b>>>0<=4095){break a}a=((b>>>30-d^2)-(d<<1)|0)+71|0;a=a>>>0>=63?63:a}b=a<<4;F[c+4>>2]=b+435408;b=b+435416|0;F[c+8>>2]=F[b>>2];F[b>>2]=c;F[F[c+8>>2]+4>>2]=c;b=F[109110];d=F[109111];c=a&31;if((a&63)>>>0>=32){a=1<>>32-c}F[109110]=e|b;F[109111]=a|d}}function xb(a,b,c){var d=0,e=0,f=0,g=0,h=0;d=Ea-32|0;Ea=d;a:{if(!(c?b:1)){break a}F[d+24>>2]=0;F[d+28>>2]=0;F[d+16>>2]=b;F[d+12>>2]=b;F[d+8>>2]=c;F[d+20>>2]=b+c;b=d+8|0;if(!bb(b,a+28|0)|!F[a+32>>2]){break a}if(!bb(b,a- -64|0)|!F[a+68>>2]){break a}if(!bb(b,a+100|0)|!F[a+104>>2]){break a}if(!bb(b,a+136|0)|!F[a+140>>2]){break a}f=F[d+28>>2];b:{if(f>>>0>=13){c=F[d+24>>2];break b}c=0;g=F[d+24>>2];h=F[d+20>>2];b=F[d+12>>2];c:{if(h>>>0<=b>>>0){e=b;break c}e=b+1|0;F[d+12>>2]=e;c=G[b|0]}b=f+8|0;F[d+28>>2]=b;c=g|c<>2]=c;if(f>>>0>4){break b}g=0;if(e>>>0>>0){F[d+12>>2]=e+1;g=G[e|0]}F[d+28>>2]=f+16;c=g<>2]=c}b=a;a=c&8191;F[b+172>>2]=a;e=(a|0)!=0}Ea=d+32|0;return e}function Vb(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=G[b+1|0];e=G[b|0];k=G[b+2|0];l=G[b+3|0];m=G[b+4|0];h=G[((((L(f>>>d|0,3)+(e>>>d|0)|0)+L(k>>>d|0,9)|0)+L(l>>>d|0,27)|0)+L(m>>>d|0,81)|0)+207584|0];n=d+2|0;i=-1<>2];while(1){g=(e>>3)+a|0;e=e&7;D[g|0]=G[g|0]|f<>2]|0;F[c>>2]=e;f=f>>>g|0;b=b-g|0;if(b){continue}break}}f=L(d,3);b=f+6|0;if(b){f=(h>>>4&1)<>>7<>>5&3)<>>2&3|(i&k)<<2)|(i&l)<>2];while(1){d=(e>>3)+a|0;g=d;h=G[d|0];d=e&7;D[g|0]=h|f<>2]|0;F[c>>2]=e;f=f>>>d|0;b=b-d|0;if(b){continue}break}}}function wc(a,b,c){var d=0,e=0,f=0,g=0,h=0,i=0;d=Ea-16|0;Ea=d;F[d+12>>2]=c;a:{if((b|0)<2){break a}i=b-2>>>1|0;e=c-a|0;if((i|0)>2){break a}f=e>>1;e=f+1|0;g=(e<<2)+a|0;F[d+8>>2]=g;f=f+2|0;b:{if((f|0)>=(b|0)){break b}h=g+4|0;if(I[g>>2]>=I[h>>2]){break b}F[d+8>>2]=h;g=h;e=f}if(I[g>>2]>2]){break a}F[d+4>>2]=F[F[d+12>>2]>>2];c:{while(1){F[F[d+12>>2]>>2]=F[F[d+8>>2]>>2];c=F[d+8>>2];F[d+12>>2]=c;if((e|0)>(i|0)){break c}e=e<<1;f=e|1;c=(f<<2)+a|0;F[d+8>>2]=c;d:{e:{e=e+2|0;if((e|0)>=(b|0)){break e}g=F[c>>2];h=F[c+4>>2];c=F[d+8>>2];if(g>>>0>=h>>>0){break e}c=c+4|0;F[d+8>>2]=c;break d}e=f}if(I[c>>2]>=I[d+4>>2]){continue}break}c=F[d+12>>2]}F[c>>2]=F[d+4>>2]}Ea=d+16|0}function lb(a,b){var c=0,d=0,e=0,f=0,g=0,h=0;e=Ea-32|0;Ea=e;c=F[a>>2];d=$(2413)|0;c=_(c|0,d|0)|0;W(d|0);h=+fa(c|0,405168,e+8|0);ea(F[e+8>>2]);W(c|0);d=F[b+4>>2];if(h<4294967296&h>=0){c=~~h>>>0}else{c=0}if((d|0)!=(c|0)){if(c>>>0>=d>>>0){if(c>>>0>I[b+8>>2]){Wa(b,c,(c|0)==(d+1|0),1);d=F[b+4>>2]}Ta(F[b>>2]+d|0,0,c-d|0)}F[b+4>>2]=c}f=ja(4864)|0;g=$(2107)|0;d=_(f|0,g|0)|0;W(g|0);W(f|0);f=F[a>>2];g=$(2095)|0;f=_(f|0,g|0)|0;W(g|0);b=F[b>>2];aa(d|0);F[e+24>>2]=c;F[e+16>>2]=b;F[e+8>>2]=d;b=ia(f|0,3,398496,e+8|0)|0;W(f|0);if(!(D[435184]&1)){c=ha(2,398536)|0;D[435184]=1;F[108795]=c}c=F[108795];aa(F[a>>2]);F[e+8>>2]=F[a>>2];ka(c|0,b|0,1336,e+8|0);W(b|0);W(d|0);Ea=e+32|0}function Ab(a,b,c,d,e){var f=0,g=0,h=0,i=0;a:{if(I[a+92>>2]<=c>>>0){break a}b:{if(I[a+44>>2]>=2){if(e>>>0<=5){break b}break a}if(e){break a}}f=F[a+40>>2];if((f>>>0<=1?1:f)>>>0<=d>>>0){break a}f=F[a+28>>2];g=F[a+32>>2];F[b+4>>2]=d;F[b+8>>2]=e;F[b>>2]=c;g=g>>>c|0;g=g>>>0<=1?1:g;F[b+16>>2]=g;f=f>>>c|0;f=f>>>0<=1?1:f;F[b+12>>2]=f;g=g+3|0;h=g>>>2|0;F[b+32>>2]=h;f=f+3|0;i=f>>>2|0;F[b+28>>2]=i;F[b+24>>2]=g&-4;F[b+20>>2]=f&-4;F[b+36>>2]=L(h,i);f=G[a+1200|0];D[b+41|0]=0;D[b+40|0]=f;g=1;if(!F[a+148>>2]){break a}f=F[a+144>>2];h=F[a+44>>2];a=F[a+40>>2];a=f+L(L(h,L(a>>>0<=1?1:a,c)+d|0)+e|0,20)|0;D[b+41|0]=!((G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24))&2)}return g}function yc(a,b,c){var d=0,e=0,f=0;d=Ea-16|0;Ea=d;F[d+8>>2]=b;F[d+12>>2]=a;F[d+4>>2]=c;b=F[b>>2];e=b>>>0>I[c>>2];Ea=d+16|0;a:{b:{if(b>>>0>=I[a>>2]){b=0;if(!e){break a}c=d+8|0;b=F[c>>2];e=F[b>>2];f=b;b=F[d+4>>2];F[f>>2]=F[b>>2];F[b>>2]=e;b=1;if(I[F[d+8>>2]>>2]>=I[a>>2]){break a}a=F[d+12>>2];b=F[a>>2];f=a;a=F[c>>2];F[f>>2]=F[a>>2];break b}if(e){a=F[d+12>>2];b=F[a>>2];c=a;a=F[d+4>>2];F[c>>2]=F[a>>2];F[a>>2]=b;b=1;break a}a=F[d+12>>2];b=F[a>>2];f=a;a=d+8|0;e=F[a>>2];F[f>>2]=F[e>>2];F[e>>2]=b;b=1;if(I[c>>2]>=I[F[d+8>>2]>>2]){break a}a=F[a>>2];b=F[a>>2];c=a;a=F[d+4>>2];F[c>>2]=F[a>>2]}F[a>>2]=b;b=2}return b}function gc(a,b,c,d,e,f,g,h){var i=0,j=0,k=0,l=0,m=0,n=0;f=f<<2|f>>>4;i=c<<2|c>>>4;c=f-i|0;e=e<<3|e>>>2;j=b<<3|b>>>2;b=e-j|0;g=g<<3|g>>>2;k=d<<3|d>>>2;d=g-k|0;l=(L(c,(i+(f<<1)>>>0)/3|0)+L(b,((e<<1)+j>>>0)/3|0)|0)+L(d,((g<<1)+k>>>0)/3|0)|0;m=(L(c,(f+(i<<1)>>>0)/3|0)+L(b,(e+(j<<1)>>>0)/3|0)|0)+L(d,(g+(k<<1)>>>0)/3|0)|0;n=l+m|0;g=((L(c,f)+L(b,e)|0)+L(d,g)|0)+l|0;i=((L(c,i)+L(b,j)|0)+L(d,k)|0)+m|0;f=0;while(1){e=(f<<2)+a|0;e=(L(c,G[e+1|0])+L(b,G[e|0])|0)+L(d,G[e+2|0])<<1;D[f+h|0]=G[((((e|0)<=(i|0))+((e|0)<(n|0))|0)+((e|0)<(g|0))|0)+5226|0];f=f+1|0;if((f|0)!=16){continue}break}}function ob(a,b){var c=0,d=0,e=0,f=0,g=0;d=Ea-32|0;Ea=d;a:{if(!F[b+4>>2]){break a}e=F[a>>2];c=$(2420)|0;e=_(e|0,c|0)|0;W(c|0);g=+fa(e|0,405156,d+8|0);ea(F[d+8>>2]);W(e|0);if(N(g)<2147483648){c=~~g}else{c=-2147483648}if(c>>>0>2]){break a}c=ja(4864)|0;f=$(2107)|0;e=_(c|0,f|0)|0;W(f|0);W(c|0);c=ra(1109)|0;f=F[b>>2];b=F[b+4>>2];aa(e|0);F[d+24>>2]=b;F[d+16>>2]=f;F[d+8>>2]=e;b=ia(c|0,3,398544,d+8|0)|0;W(c|0);a=F[a>>2];if(!(D[435192]&1)){c=ha(2,398556)|0;D[435192]=1;F[108797]=c}c=F[108797];aa(b|0);F[d+8>>2]=b;ka(c|0,a|0,1336,d+8|0);W(b|0);W(e|0);f=1}Ea=d+32|0;return f}function Me(a,b){a=a|0;b=b|0;F[a>>2]=0;F[a+4>>2]=0;F[a+56>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;if(F[b>>2]==-559038750){F[a>>2]=F[b+24>>2];F[a+4>>2]=F[b+28>>2];F[a+8>>2]=F[b+32>>2];F[a+12>>2]=F[b+36>>2];F[a+16>>2]=F[b+40>>2];F[a+20>>2]=F[b+44>>2];F[a+24>>2]=F[b+48>>2];F[a+28>>2]=F[b+52>>2];F[a+32>>2]=F[b+56>>2];F[a+36>>2]=F[b+60>>2];F[a+40>>2]=F[b- -64>>2];F[a+44>>2]=F[b+68>>2];F[a+48>>2]=F[b+72>>2];F[a+52>>2]=F[b+76>>2];F[a+56>>2]=F[b+84>>2]}}function lc(a,b){var c=0,d=0,e=0,f=0;a:{if((G[a|0]|G[a+1|0]<<8)!=17011|b>>>0<78|((G[a+2|0]|G[a+3|0]<<8)!=19|(G[a+4|0]|G[a+5|0]<<8)!=77)){break a}if((G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24))+77>>>0>b>>>0){break a}c=G[a+17|0]|(G[a+18|0]<<8|G[a+19|0]<<16);if(!c){break a}d=G[a+14|0];e=d|(G[a+15|0]<<8|G[a+16|0]<<16);if(c>>>0>e>>>0){break a}c=G[a+21|0];b:{if(!G[a+20|0]){if(!(c&1)){break a}if(!((c&4)>>>2&d)){break b}break a}if(c&1){break a}}a=G[a+65|0]|G[a+66|0]<<8|(G[a+67|0]<<16|G[a+68|0]<<24);if(a>>>0>=b>>>0){break a}f=b-a>>>0>=L(e,23)>>>0}return f}function Td(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Xa(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(Xa(a,F[b>>2],e)){if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+32>>2]=d;b:{if(F[b+44>>2]==4){break b}E[b+52>>1]=0;a=F[a+8>>2];Ga[F[F[a>>2]+20>>2]](a,b,c,c,1,e);if(G[b+53|0]){F[b+44>>2]=3;if(!G[b+52|0]){break b}break a}F[b+44>>2]=4}F[b+20>>2]=c;F[b+40>>2]=F[b+40>>2]+1;if(F[b+36>>2]!=1|F[b+24>>2]!=2){break a}D[b+54|0]=1;return}a=F[a+8>>2];Ga[F[F[a>>2]+24>>2]](a,b,c,d,e)}}function Wa(a,b,c,d){var e=0,f=0,g=0,h=0;h=Ea-288|0;Ea=h;a:{if(I[a+8>>2]>>0){b:{c:{if(!c){break c}c=b-1|0;if(!(!b|c&b)){break c}f=0-!b|0;g=f;f=c|f;e=g;c=e>>>16|0;e=f|((e&65535)<<16|f>>>16);c=c|g;g=c;f=c>>>8|0;c=(c&255)<<24|e>>>8|e;f=f|g;g=f;e=f>>>4|0;f=(f&15)<<28|c>>>4|c;e=e|g;c=e>>>2|0;c=c|e;e=(e&3)<<30|f>>>2|f;c=(e|((c&1)<<31|e>>>1))+1|0;if(c>>>0>=b>>>0){break b}Fc(5208,17,1,F[101008]);na();v()}c=b}b=L(c,d);d=nb(F[a>>2],b);if(!d){F[h>>2]=b;a=h+32|0;hb(a,1820,h);break a}F[a+8>>2]=c;F[a>>2]=d}Ea=h+288|0;return}Nb(a,F[101008]);na();v()}function pb(a,b){var c=0,d=0,e=0,f=0;d=Ea-288|0;Ea=d;F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;a:{b:{c:{c=F[b+4>>2];d:{if(!c){break d}e=Ya(c);if(!e){break c}F[a+8>>2]=c;F[a>>2]=e;c=F[b+4>>2];F[a+4>>2]=c;f=F[b>>2];if(!f){break d}Va(e,f,c)}F[a+12>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;c=F[b+16>>2];e:{if(!c){break e}e=Ya(c);if(!e){break b}F[a+20>>2]=c;F[a+12>>2]=e;c=F[b+16>>2];F[a+16>>2]=c;b=F[b+12>>2];if(!b){break e}Va(e,b,c)}Ea=d+288|0;return a}F[d+16>>2]=c;a=d+32|0;hb(a,1820,d+16|0);break a}F[d>>2]=c;a=d+32|0;hb(a,1820,d)}Nb(a,F[101008]);na();v()}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ea+-64|0;Ea=c;d=F[a>>2];e=b;b=F[a+4>>2];a=e+(b>>1)|0;Ga[(b&1?F[d+F[a>>2]>>2]:d)|0](c+4|0,a);b=Qa(60);F[b+56>>2]=F[c+60>>2];a=F[c+56>>2];F[b+48>>2]=F[c+52>>2];F[b+52>>2]=a;a=F[c+48>>2];F[b+40>>2]=F[c+44>>2];F[b+44>>2]=a;a=F[c+40>>2];F[b+32>>2]=F[c+36>>2];F[b+36>>2]=a;a=F[c+32>>2];F[b+24>>2]=F[c+28>>2];F[b+28>>2]=a;a=F[c+24>>2];F[b+16>>2]=F[c+20>>2];F[b+20>>2]=a;a=F[c+16>>2];F[b+8>>2]=F[c+12>>2];F[b+12>>2]=a;a=F[c+8>>2];F[b>>2]=F[c+4>>2];F[b+4>>2]=a;Ea=c- -64|0;return b|0}function ud(a){a=a|0;var b=0,c=0,d=0,e=0;if(F[a>>2]==-559038751){b=F[a+592>>2];a=F[a+596>>2];a:{if((G[b|0]|G[b+1|0]<<8)!=17011|a>>>0<78|((G[b+2|0]|G[b+3|0]<<8)!=19|(G[b+4|0]|G[b+5|0]<<8)!=77)){break a}if(a>>>0<(G[b+8|0]|G[b+9|0]<<8|(G[b+10|0]<<16|G[b+11|0]<<24))+77>>>0){break a}c=G[b+14|0]|(G[b+15|0]<<8|G[b+16|0]<<16);if(!c|!(G[b+17|0]|(G[b+18|0]<<8|G[b+19|0]<<16))){break a}d=G[b+65|0]|G[b+66|0]<<8|(G[b+67|0]<<16|G[b+68|0]<<24);if(a>>>0<=d>>>0|a-d>>>0>>0){break a}e=G[b+20|0]}a=(e|0)==1}else{a=0}return a|0}function Kc(a,b,c){var d=0;if(!c){F[a>>2]=0;F[a+4>>2]=0;F[a+16>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return-72}F[a+12>>2]=b;F[a+16>>2]=b+4;if(c>>>0>=4){d=b+c|0;b=d-4|0;F[a+8>>2]=b;F[a>>2]=G[b|0]|G[b+1|0]<<8|(G[b+2|0]<<16|G[b+3|0]<<24);b=G[d-1|0];if(b){F[a+4>>2]=O(b)-23;return c}F[a+4>>2]=0;return-1}F[a+8>>2]=b;d=G[b|0];F[a>>2]=d;a:{switch(c-2|0){case 1:d=G[b+2|0]<<16|d;F[a>>2]=d;case 0:F[a>>2]=(G[b+1|0]<<8)+d;break;default:break a}}b=G[(b+c|0)-1|0];if(!b){F[a+4>>2]=0;return-20}F[a+4>>2]=(O(b)-(c<<3)|0)+9;return c}function td(a){a=a|0;var b=0,c=0,d=0,e=0;if(F[a>>2]==-559038751){a:{b=F[a+596>>2];a=F[a+592>>2];if(b>>>0<78|(G[a|0]|G[a+1|0]<<8)!=17011|((G[a+2|0]|G[a+3|0]<<8)!=19|(G[a+4|0]|G[a+5|0]<<8)!=77)){break a}if(b>>>0<(G[a+8|0]|G[a+9|0]<<8|(G[a+10|0]<<16|G[a+11|0]<<24))+77>>>0){break a}c=G[a+14|0]|(G[a+15|0]<<8|G[a+16|0]<<16);if(!c){break a}d=G[a+17|0]|(G[a+18|0]<<8|G[a+19|0]<<16);if(!d){break a}a=G[a+65|0]|G[a+66|0]<<8|(G[a+67|0]<<16|G[a+68|0]<<24);if(a>>>0>=b>>>0){break a}e=b-a>>>0>=L(c,23)>>>0?d:0}}return e|0}function Bc(a,b){if(!a){return 0}a:{b:{if(a){if(b>>>0<=127){break b}c:{if(!F[F[108843]>>2]){if((b&-128)==57216){break b}break c}if(b>>>0<=2047){D[a+1|0]=b&63|128;D[a|0]=b>>>6|192;a=2;break a}if(!((b&-8192)!=57344&b>>>0>=55296)){D[a+2|0]=b&63|128;D[a|0]=b>>>12|224;D[a+1|0]=b>>>6&63|128;a=3;break a}if(b-65536>>>0<=1048575){D[a+3|0]=b&63|128;D[a|0]=b>>>18|240;D[a+2|0]=b>>>6&63|128;D[a+1|0]=b>>>12&63|128;a=4;break a}}F[108804]=25;a=-1}else{a=1}break a}D[a|0]=b;a=1}return a}function hd(a,b){a=a|0;b=b|0;var c=0;c=Ea+-64|0;Ea=c;Ga[F[a>>2]](c+4|0,b);b=Qa(60);F[b+56>>2]=F[c+60>>2];a=F[c+56>>2];F[b+48>>2]=F[c+52>>2];F[b+52>>2]=a;a=F[c+48>>2];F[b+40>>2]=F[c+44>>2];F[b+44>>2]=a;a=F[c+40>>2];F[b+32>>2]=F[c+36>>2];F[b+36>>2]=a;a=F[c+32>>2];F[b+24>>2]=F[c+28>>2];F[b+28>>2]=a;a=F[c+24>>2];F[b+16>>2]=F[c+20>>2];F[b+20>>2]=a;a=F[c+16>>2];F[b+8>>2]=F[c+12>>2];F[b+12>>2]=a;a=F[c+8>>2];F[b>>2]=F[c+4>>2];F[b+4>>2]=a;Ea=c- -64|0;return b|0}function nd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Ea-16|0;Ea=e;a:{if(F[a>>2]!=-559038751|d>>>0>21){break a}if(!qb(a+4|0,F[a+592>>2],F[a+596>>2],b,c,e+12|0,e+8|0,e+4|0)){break a}a=d-13|0;if(a>>>0<4){f=L(F[e+8>>2],L(F[e+12>>2],a>>>0<=3?F[(a<<2)+398452>>2]:0));break a}a=d>>>0<=21?F[(d<<2)+398364>>2]:0;if((d&-2)==8){a=F[e+8>>2]+3&-4;b=a>>>0<=8?8:a;a=F[e+12>>2]+3&-4;f=L(b,a>>>0<=8?8:a)>>>1&536870904;break a}f=L(a,F[e+4>>2])}Ea=e+16|0;return f|0}function je(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ea-48|0;Ea=f;g=F[a>>2];h=b;b=F[a+4>>2];a=h+(b>>1)|0;Ga[(b&1?F[g+F[a>>2]>>2]:g)|0](f+4|0,a,c,d,e);b=Qa(44);F[b+40>>2]=F[f+44>>2];a=F[f+40>>2];F[b+32>>2]=F[f+36>>2];F[b+36>>2]=a;a=F[f+32>>2];F[b+24>>2]=F[f+28>>2];F[b+28>>2]=a;a=F[f+24>>2];F[b+16>>2]=F[f+20>>2];F[b+20>>2]=a;a=F[f+16>>2];F[b+8>>2]=F[f+12>>2];F[b+12>>2]=a;a=F[f+8>>2];F[b>>2]=F[f+4>>2];F[b+4>>2]=a;Ea=f+48|0;return b|0}function Ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ea-16|0;Ea=e;f=F[a+4>>2];g=(f>>1)+b|0;b=F[c>>2];if(b>>>0<2147483632){a=F[a>>2];f=f&1?F[a+F[g>>2]>>2]:a;a:{if(b>>>0<=10){D[e+15|0]=b;a=e+4|0;break a}h=(b|15)+1|0;a=Qa(h);F[e+12>>2]=h|-2147483648;F[e+4>>2]=a;F[e+8>>2]=b}i=Va(a,c+4|0,b)+b|0,j=0,D[i|0]=j;F[e>>2]=d;a=Ga[f|0](g,e+4|0,e)|0;W(F[e>>2]);if(D[e+15|0]<0){Ra(F[e+4>>2])}Ea=e+16|0;return a|0}Tb();v()}function ie(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Ea-48|0;Ea=f;a:{if(F[a>>2]!=-559038750|e>>>0>21){break a}if(!Ab(a+4|0,f+4|0,b,c,d)){break a}b=F[f+40>>2];d=F[f+20>>2];c=F[f+16>>2];a=e-13|0;if(a>>>0<4){g=L(L(c,d),a>>>0<=3?F[(a<<2)+398452>>2]:0);break a}a=e>>>0<=21?F[(e<<2)+398364>>2]:0;if((e&-2)==8){a=d+3&-4;b=a>>>0<=8?8:a;a=c+3&-4;g=L(b,a>>>0<=8?8:a)>>>1&536870904;break a}g=L(a,b)}Ea=f+48|0;return g|0}function Sb(a){var b=0;Rb(a+176|0);b=F[a+160>>2];if(b){Ra(b)}b=F[a+148>>2];if(b){Ra(b)}b=F[a+136>>2];if(b){Ra(b)}b=F[a+124>>2];if(b){Ra(b)}b=F[a+112>>2];if(b){Ra(b)}b=F[a+100>>2];if(b){Ra(b)}b=F[a+88>>2];if(b){Ra(b)}b=F[a+76>>2];if(b){Ra(b)}b=F[a+64>>2];if(b){Ra(b)}b=F[a+52>>2];if(b){Ra(b)}b=F[a+40>>2];if(b){Ra(b)}b=F[a+28>>2];if(b){Ra(b)}b=F[a+16>>2];if(b){Ra(b)}b=F[a+4>>2];if(b){Ra(b)}return a}function Rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ea-16|0;Ea=d;e=F[a+4>>2];f=(e>>1)+b|0;b=F[c>>2];if(b>>>0<2147483632){a=F[a>>2];e=e&1?F[a+F[f>>2]>>2]:a;a:{if(b>>>0<=10){D[d+15|0]=b;a=d+4|0;break a}g=(b|15)+1|0;a=Qa(g);F[d+12>>2]=g|-2147483648;F[d+4>>2]=a;F[d+8>>2]=b}h=Va(a,c+4|0,b)+b|0,i=0,D[h|0]=i;a=Ga[e|0](f,d+4|0)|0;if(D[d+15|0]<0){Ra(F[d+4>>2])}Ea=d+16|0;return a|0}Tb();v()}function Ze(a,b,c){var d=0,e=0,f=0,g=0;g=c&63;f=g;e=f&31;if(f>>>0>=32){f=-1>>>e|0}else{d=-1>>>e|0;f=d|(1<>>0>=32){d=f<>>32-e|d<>>0>=32){d=-1<>>32-d}a=c&a;b=b&d;d=e&31;if(e>>>0>=32){c=0;a=b>>>d|0}else{c=b>>>d|0;a=((1<>>d}a=a|g;Fa=c|f;return a} +function Xc(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0;u=Ea-16|0;Ea=u;v=F[a+4>>2];b=(v>>1)+b|0;a=F[a>>2];a=v&1?F[F[b>>2]+a>>2]:a;F[u+12>>2]=d;F[u+8>>2]=f;a=Ga[a|0](b,c,u+12|0,e,u+8|0,g,h,i,j,k,l,m,n,o,p,q,r,s,t)|0;W(F[u+8>>2]);W(F[u+12>>2]);Ea=u+16|0;return a|0}function Mb(a,b,c){var d=0,e=0,f=0;d=F[c+16>>2];a:{if(!d){if(Gc(c)){break a}d=F[c+16>>2]}f=F[c+20>>2];if(d-f>>>0>>0){return Ga[F[c+36>>2]](c,a,b)|0}b:{if(F[c+80>>2]<0){d=0;break b}e=b;while(1){d=e;if(!d){d=0;break b}e=d-1|0;if(G[e+a|0]!=10){continue}break}e=Ga[F[c+36>>2]](c,a,d)|0;if(e>>>0>>0){break a}a=a+d|0;b=b-d|0;f=F[c+20>>2]}Va(f,a,b);F[c+20>>2]=F[c+20>>2]+b;e=b+d|0}return e}function Te(a){a=a|0;var b=0,c=0,d=0,e=0;if(a){c=F[a+1208>>2];if(c){Ra(c)}c=a+4|0;b=F[c+1184>>2];if(b){Ra(b)}Rb(c+776|0);Sb(c+188|0);b=F[c+144>>2];if(b){Ra(b)}b=F[c+112>>2];if(b){e=F[c+116>>2];if(e){e=L(e,24)+b|0;while(1){d=F[b+12>>2];if(d){Ra(d)}d=F[b>>2];if(d){Ra(d)}b=b+24|0;if((e|0)!=(b|0)){continue}break}b=F[c+112>>2]}Ra(b)}b=F[c+100>>2];if(b){Ra(b)}c=F[c+88>>2];if(c){Ra(c)}Ra(a)}}function gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ea-48|0;Ea=d;F[a>>2]=0;F[a+4>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;a:{if(F[b>>2]!=-559038751){break a}if(!kc(F[b+592>>2],F[b+596>>2],d+4|0,c)){break a}F[a>>2]=F[d+12>>2];F[a+4>>2]=F[d+16>>2];F[a+8>>2]=F[d+28>>2];F[a+12>>2]=F[d+32>>2];F[a+16>>2]=F[d+8>>2];D[a+20|0]=G[d+44|0];D[a+21|0]=G[d+45|0]}Ea=d+48|0}function Sd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;if(Xa(a,F[b+8>>2],e)){if(!(F[b+28>>2]==1|F[b+4>>2]!=(c|0))){F[b+28>>2]=d}return}a:{if(!Xa(a,F[b>>2],e)){break a}if(!(F[b+16>>2]!=(c|0)&F[b+20>>2]!=(c|0))){if((d|0)!=1){break a}F[b+32>>2]=1;return}F[b+20>>2]=c;F[b+32>>2]=d;F[b+40>>2]=F[b+40>>2]+1;if(!(F[b+36>>2]!=1|F[b+24>>2]!=2)){D[b+54|0]=1}F[b+44>>2]=4}}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;e=F[a+84>>2];f=F[e>>2];d=F[e+4>>2];h=F[a+28>>2];g=F[a+20>>2]-h|0;g=d>>>0>>0?d:g;if(g){Va(f,h,g);f=g+F[e>>2]|0;F[e>>2]=f;d=F[e+4>>2]-g|0;F[e+4>>2]=d}d=c>>>0>d>>>0?d:c;if(d){Va(f,b,d);f=d+F[e>>2]|0;F[e>>2]=f;F[e+4>>2]=F[e+4>>2]-d}D[f|0]=0;b=F[a+44>>2];F[a+28>>2]=b;F[a+20>>2]=b;return c|0}function $c(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=Ea-32|0;Ea=f;F[f+28>>2]=0;F[f+20>>2]=0;F[f+24>>2]=0;F[f+16>>2]=0;F[f+8>>2]=0;F[f+12>>2]=0;lb(c,f+20|0);lb(e,f+8|0);c=F[f+24>>2];a:{if(!c){break a}e=F[f+12>>2];if(!e){break a}g=Eb(a,b,F[f+20>>2],c,d,F[f+8>>2],e)}a=F[f+8>>2];if(a){Ra(a)}a=F[f+20>>2];if(a){Ra(a)}Ea=f+32|0;return g|0}function rc(a,b,c,d){D[a+53|0]=1;a:{if(F[a+4>>2]!=(c|0)){break a}D[a+52|0]=1;c=F[a+16>>2];b:{if(!c){F[a+36>>2]=1;F[a+24>>2]=d;F[a+16>>2]=b;if((d|0)!=1){break a}if(F[a+48>>2]==1){break b}break a}if((b|0)==(c|0)){c=F[a+24>>2];if((c|0)==2){F[a+24>>2]=d;c=d}if(F[a+48>>2]!=1){break a}if((c|0)==1){break b}break a}F[a+36>>2]=F[a+36>>2]+1}D[a+54|0]=1}}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ea+-64|0;Ea=d;e=1;a:{if(Xa(a,b,0)){break a}e=0;if(!b){break a}b=ab(b,404756);e=0;if(!b){break a}Ta(d+12|0,0,52);F[d+56>>2]=1;F[d+20>>2]=-1;F[d+16>>2]=a;F[d+8>>2]=b;Ga[F[F[b>>2]+28>>2]](b,d+8|0,F[c>>2],1);a=F[d+32>>2];if((a|0)==1){F[c>>2]=F[d+24>>2]}e=(a|0)==1}a=e;Ea=d- -64|0;return a|0}function Wc(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0;t=Ea-16|0;Ea=t;F[t+12>>2]=c;F[t+8>>2]=e;a=Ga[a|0](b,t+12|0,d,t+8|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0;W(F[t+8>>2]);W(F[t+12>>2]);Ea=t+16|0;return a|0}function Ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;if(F[b>>2]!=-559038750){D[a|0]=0;D[a+11|0]=0;return}d=F[F[b+116>>2]+L(c,24)>>2];c=vb(d);if(c>>>0<2147483632){a:{if(c>>>0<=10){D[a+11|0]=c;break a}e=(c|15)+1|0;b=Qa(e);F[a+8>>2]=e|-2147483648;F[a>>2]=b;F[a+4>>2]=c;a=b}f=db(a,d,c)+c|0,g=0,D[f|0]=g;return}Tb();v()}function Uc(){var a=0,b=0,c=0;while(1){b=a<<4;c=b+435408|0;F[b+435412>>2]=c;F[b+435416>>2]=c;a=a+1|0;if((a|0)!=64){continue}break}Kb(48);F[108793]=131;F[108794]=0;cc();F[108794]=F[108799];F[108799]=435172;F[108800]=132;F[108801]=0;Ic();F[108801]=F[108799];F[108799]=435200;F[108843]=435252;F[108825]=42}function Pc(a,b){var c=0,d=0,e=0;d=Ea-16|0;Ea=d;b=F[F[b>>2]>>2];c=$(2420)|0;b=_(b|0,c|0)|0;W(c|0);e=+fa(b|0,405192,d+12|0);ea(F[d+12>>2]);W(b|0);F[a+8>>2]=0;F[a>>2]=0;F[a+4>>2]=0;if(e<4294967296&e>=0){b=~~e>>>0}else{b=0}if(b){Wa(a,b,(b|0)==1,1);c=F[a+4>>2];Ta(c+F[a>>2]|0,0,b-c|0);F[a+4>>2]=b}Ea=d+16|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ea+-64|0;Ea=e;F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;a:{if(F[b>>2]!=-559038751){break a}if(!jc(F[b+592>>2],F[b+596>>2],e+4|0,c,d)){break a}F[a>>2]=F[e+44>>2];F[a+4>>2]=F[e+48>>2];F[a+8>>2]=F[e+52>>2];F[a+12>>2]=F[e+56>>2]}Ea=e- -64|0}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=Ea-16|0;Ea=d;e=F[a>>2];g=d+4|0;f=b;b=F[a+4>>2];a=f+(b>>1)|0;Ga[(b&1?F[e+F[a>>2]>>2]:e)|0](g,a,c);b=G[d+15|0];e=b<<24>>24;a=(e|0)<0;b=a?F[d+8>>2]:b;c=Ya(b+4|0);F[c>>2]=b;f=F[d+4>>2];Va(c+4|0,a?f:g,b);if((e|0)<0){Ra(f)}Ea=d+16|0;return c|0}function vb(a){var b=0,c=0,d=0;a:{b:{b=a;if(!(b&3)){break b}if(!G[b|0]){return 0}while(1){b=b+1|0;if(!(b&3)){break b}if(G[b|0]){continue}break}break a}while(1){c=b;b=b+4|0;d=F[c>>2];if(!((d^-1)&d-16843009&-2139062144)){continue}break}while(1){b=c;c=b+1|0;if(G[b|0]){continue}break}}return b-a|0}function fb(a){var b=M(0),c=0,d=0;c=(w(a),y(2));d=c>>>23&255;if(d>>>0<=149){if(d>>>0<=125){return M(a*M(0))}a=(c|0)>=0?a:M(-a);b=M(M(M(a+M(8388608))+M(-8388608))-a);a:{if(b>M(.5)){a=M(M(a+b)+M(-1));break a}a=M(a+b);if(!(b<=M(-.5))){break a}a=M(a+M(1))}a=(c|0)>=0?a:M(-a)}return a}function ee(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;k=Ea-16|0;Ea=k;l=F[a+4>>2];b=(l>>1)+b|0;a=F[a>>2];a=l&1?F[F[b>>2]+a>>2]:a;F[k+12>>2]=c;a=Ga[a|0](b,k+12|0,d,e,f,g,h,i,j)|0;W(F[k+12>>2]);Ea=k+16|0;return a|0}function me(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(F[a>>2]==-559038750){e=b;b=F[a+44>>2];b=L(F[a+48>>2],L(e,b>>>0<=1?1:b)+c|0)+d|0;if(b>>>0>2]){a=F[a+148>>2]+L(b,20)|0;a=G[a|0]|G[a+1|0]<<8|(G[a+2|0]<<16|G[a+3|0]<<24)}else{a=0}}else{a=0}return a|0}function _c(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Ea-16|0;Ea=g;h=F[a+4>>2];b=(h>>1)+b|0;a=F[a>>2];a=h&1?F[F[b>>2]+a>>2]:a;F[g+12>>2]=d;F[g+8>>2]=f;a=Ga[a|0](b,c,g+12|0,e,g+8|0)|0;W(F[g+8>>2]);W(F[g+12>>2]);Ea=g+16|0;return a|0}function fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Ea-32|0;Ea=d;Ga[F[a>>2]](d+8|0,b,c);a=Qa(24);b=F[d+28>>2];F[a+16>>2]=F[d+24>>2];F[a+20>>2]=b;b=F[d+20>>2];F[a+8>>2]=F[d+16>>2];F[a+12>>2]=b;b=F[d+12>>2];F[a>>2]=F[d+8>>2];F[a+4>>2]=b;Ea=d+32|0;return a|0}function ke(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;F[a>>2]=0;F[a+4>>2]=0;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;if(F[b>>2]==-559038750){Ab(b+4|0,a,c,d,e)}}function bc(){var a=0;a=Qa(60);F[a>>2]=0;F[a+4>>2]=0;F[a+56>>2]=0;F[a+48>>2]=0;F[a+52>>2]=0;F[a+40>>2]=0;F[a+44>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function Dc(a){var b=0,c=0,d=0;if(D[F[a>>2]]-48>>>0>=10){return 0}while(1){d=F[a>>2];c=-1;if(b>>>0<=214748364){c=D[d|0]-48|0;b=L(b,10);c=(c|0)>(b^2147483647)?-1:c+b|0}F[a>>2]=d+1;b=c;if(D[d+1|0]-48>>>0<10){continue}break}return b}function Tb(){var a=0,b=0,c=0,d=0,e=0;a=Ya(88)+80|0;F[a>>2]=405492;F[a>>2]=405536;b=vb(2570);c=Qa(b+13|0);F[c+8>>2]=0;F[c+4>>2]=b;F[c>>2]=b;d=a,e=Va(c+12|0,2570,b+1|0),F[d+4>>2]=e;F[a>>2]=405584;Da(a|0,405616,130);v()}function We(a,b,c,d){var e=0,f=0,g=0,h=0,i=0,j=0;e=c>>>16|0;f=a>>>16|0;j=L(e,f);g=c&65535;h=a&65535;i=L(g,h);f=(i>>>16|0)+L(f,g)|0;e=(f&65535)+L(e,h)|0;Fa=(L(b,c)+j|0)+L(a,d)+(f>>>16)+(e>>>16)|0;return i&65535|e<<16}function uc(a,b,c){var d=0;d=F[a+16>>2];if(!d){F[a+36>>2]=1;F[a+24>>2]=c;F[a+16>>2]=b;return}a:{if((b|0)==(d|0)){if(F[a+24>>2]!=2){break a}F[a+24>>2]=c;return}D[a+54|0]=1;F[a+24>>2]=2;F[a+36>>2]=F[a+36>>2]+1}}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ea-16|0;Ea=e;Ga[F[a>>2]](e,b,c,d);a=Qa(16);b=F[e+12>>2];F[a+8>>2]=F[e+8>>2];F[a+12>>2]=b;b=F[e+4>>2];F[a>>2]=F[e>>2];F[a+4>>2]=b;Ea=e+16|0;return a|0}function eb(a,b,c,d,e){var f=0;f=Ea-256|0;Ea=f;if(!(e&73728|(c|0)<=(d|0))){d=c-d|0;c=d>>>0<256;Ta(f,b&255,c?d:256);if(!c){while(1){gb(a,f,256);d=d-256|0;if(d>>>0>255){continue}break}}gb(a,f,d)}Ea=f+256|0}function Bb(a,b){var c=0,d=0,e=0;d=F[a+116>>2];if(d){b=D[b+11|0]<0?F[b>>2]:b;a=F[a+112>>2];while(1){e=a+L(c,24)|0;if(!Lb(F[e>>2],b)){return e+12|0}c=c+1|0;if((d|0)!=(c|0)){continue}break}}return 0}function rb(a,b,c){var d=0,e=0;e=Ea-16|0;Ea=e;d=I[c>>2]>2];F[e+12>>2]=F[(d?c:a)>>2];F[c>>2]=F[(d?a:c)>>2];d=a;a=e+12|0;c=I[a>>2]>2];F[d>>2]=F[(c?d:b)>>2];F[b>>2]=F[(c?b:a)>>2];Ea=e+16|0}function _d(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Ea-16|0;Ea=e;a=va(F[a+60>>2],b|0,c|0,d&255,e+8|0)|0;if(a){F[108804]=a;a=-1}else{a=0}Ea=e+16|0;Fa=a?-1:F[e+12>>2];return(a?-1:F[e+8>>2])|0}function Wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ea-16|0;Ea=d;e=F[a+4>>2];b=(e>>1)+b|0;a=F[a>>2];a=e&1?F[F[b>>2]+a>>2]:a;F[d+12>>2]=c;a=Ga[a|0](b,d+12|0)|0;W(F[d+12>>2]);Ea=d+16|0;return a|0}function jd(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=Ea-16|0;Ea=i;a=F[a>>2];F[i+12>>2]=c;a=Ga[a|0](b,i+12|0,d,e,f,g,h)|0;W(F[i+12>>2]);Ea=i+16|0;return a|0}function Gc(a){var b=0;b=F[a+72>>2];F[a+72>>2]=b-1|b;b=F[a>>2];if(b&8){F[a>>2]=b|32;return-1}F[a+4>>2]=0;F[a+8>>2]=0;b=F[a+44>>2];F[a+28>>2]=b;F[a+20>>2]=b;F[a+16>>2]=b+F[a+48>>2];return 0}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ea-16|0;Ea=c;F[c+12>>2]=0;F[c+4>>2]=0;F[c+8>>2]=0;lb(b,c+4|0);b=F[c+8>>2];if(b){d=xb(a,F[c+4>>2],b)}a=F[c+4>>2];if(a){Ra(a)}Ea=c+16|0;return d|0}function Lb(a,b){var c=0,d=0;c=G[a|0];d=G[b|0];a:{if(!c|(c|0)!=(d|0)){break a}while(1){d=G[b+1|0];c=G[a+1|0];if(!c){break a}b=b+1|0;a=a+1|0;if((c|0)==(d|0)){continue}break}}return c-d|0}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ea-16|0;Ea=d;if(F[a>>2]==-559038751){a=qb(a+4|0,F[a+592>>2],F[a+596>>2],b,c,d+12|0,d+8|0,d+4|0);e=a?F[d+12>>2]:0}Ea=d+16|0;return e|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ea-16|0;Ea=d;if(F[a>>2]==-559038751){a=qb(a+4|0,F[a+592>>2],F[a+596>>2],b,c,d+12|0,d+8|0,d+4|0);e=a?F[d+8>>2]:0}Ea=d+16|0;return e|0}function Vc(){var a=0;a=Qa(44);F[a>>2]=0;F[a+4>>2]=0;F[a+40>>2]=0;F[a+32>>2]=0;F[a+36>>2]=0;F[a+24>>2]=0;F[a+28>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function sc(a,b){var c=0;a:{if(!b){break a}b=ab(b,404964);if(!b|F[b+8>>2]&(F[a+8>>2]^-1)){break a}if(!Xa(F[a+12>>2],F[b+12>>2],0)){break a}c=Xa(F[a+16>>2],F[b+16>>2],0)}return c}function he(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=F[a>>2];a=F[a+4>>2];b=(a>>1)+b|0;if(a&1){g=F[g+F[b>>2]>>2]}return Ga[g|0](b,c,d,e,f)|0}function sd(a,b){a=a|0;b=b|0;var c=0,d=0;c=Ea-48|0;Ea=c;if(F[a>>2]==-559038751){a=kc(F[a+592>>2],F[a+596>>2],c+4|0,b);d=a?F[c+8>>2]:0}Ea=c+48|0;return d|0}function Fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a:{if(F[a>>2]!=-559038750){break a}a=Bb(a+4|0,b);if(!a){break a}if(!F[a+4>>2]){return 1}d=ob(c,a)}return d|0}function vd(a){a=a|0;var b=0,c=0;b=Ea+-64|0;Ea=b;if(F[a>>2]==-559038751){a=jc(F[a+592>>2],F[a+596>>2],b+4|0,0,0);c=a?G[b+60|0]:0}Ea=b- -64|0;return c|0}function le(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=F[a>>2];a=F[a+4>>2];b=(a>>1)+b|0;if(a&1){f=F[f+F[b>>2]>>2]}return Ga[f|0](b,c,d,e)|0}function Rd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Xa(a,F[b+8>>2],f)){rc(b,c,d,e);return}a=F[a+8>>2];Ga[F[F[a>>2]+20>>2]](a,b,c,d,e,f)}function xd(a){a=a|0;var b=0;a:{if(F[a>>2]!=-559038751){break a}b=F[a+592>>2];if(!b){break a}Ra(b);F[a+600>>2]=0;F[a+592>>2]=0;F[a+596>>2]=0}}function Qe(a){a=a|0;var b=0;if(F[a>>2]==-559038750){b=F[a+1208>>2];if(b){Ra(b);F[a+1216>>2]=0;F[a+1208>>2]=0;F[a+1212>>2]=0}Cb(a+4|0)}}function Qa(a){var b=0;a=a>>>0<=1?1:a;a:{while(1){b=Ya(a);if(b){break a}b=F[109112];if(b){Ga[b|0]();continue}break}na();v()}return b}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Xa(a,F[b+8>>2],0)){uc(b,c,d);return}a=F[a+8>>2];Ga[F[F[a>>2]+28>>2]](a,b,c,d)}function Ge(a,b){a=a|0;b=b|0;var c=0;a:{if(F[a>>2]!=-559038750){break a}a=Bb(a+4|0,b);if(!a){break a}c=F[a+4>>2]}return c|0}function pc(a){a=a|0;var b=0,c=0;F[a>>2]=405536;b=F[a+4>>2]-12|0;c=F[b+8>>2]-1|0;F[b+8>>2]=c;if((c|0)<0){Ra(b)}return a|0}function _b(a,b){a=a|0;b=b|0;var c=0;c=Ea-16|0;Ea=c;F[c+12>>2]=b;a=Ga[a|0](c+12|0)|0;W(F[c+12>>2]);Ea=c+16|0;return a|0}function Tc(a,b){a=a|0;b=b|0;var c=0;c=F[a>>2];a=F[a+4>>2];b=(a>>1)+b|0;if(a&1){c=F[c+F[b>>2]>>2]}return Ga[c|0](b)|0}function Ne(a,b){a=a|0;b=b|0;if(F[a>>2]==-559038750){if(!F[a+108>>2]){return 1}a=ob(b,a+104|0)}else{a=0}return a|0}function Cd(){var a=0;a=Qa(24);F[a>>2]=0;F[a+4>>2]=0;F[a+16>>2]=0;F[a+20>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function Xa(a,b,c){if(!c){return F[a+4>>2]==F[b+4>>2]}if((a|0)==(b|0)){return 1}return!Lb(F[a+4>>2],F[b+4>>2])}function Pe(a,b){a=a|0;b=b|0;var c=0;c=F[a>>2];a=F[a+4>>2];b=(a>>1)+b|0;if(a&1){c=F[c+F[b>>2]>>2]}Ga[c|0](b)}function ce(a){a=a|0;var b=0,c=0;a=F[a+4>>2];b=vb(a)+1|0;c=Ya(b);if(c){a=Va(c,a,b)}else{a=0}return a|0}function be(){var a=0;a=F[108799];if(a){while(1){Ga[F[a>>2]]();a=F[a+4>>2];if(a){continue}break}}}function Qd(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;if(Xa(a,F[b+8>>2],f)){rc(b,c,d,e)}}function cb(a,b){var c=0,d=0;c=I[a>>2]>2];d=F[(c?a:b)>>2];F[b>>2]=F[(c?b:a)>>2];F[a>>2]=d}function Ke(a,b){a=a|0;b=b|0;if(F[a>>2]==-559038750){a=(Bb(a+4|0,b)|0)!=0}else{a=0}return a|0}function Bd(){var a=0;a=Qa(16);F[a>>2]=0;F[a+4>>2]=0;F[a+8>>2]=0;F[a+12>>2]=0;return a|0}function md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ga[F[a>>2]](b,c,d,e)|0}function Fc(a,b,c,d){b=L(b,c);a:{if(F[d+76>>2]<0){a=Mb(a,b,d);break a}a=Mb(a,b,d)}}function Md(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ga[a|0](b,c,d,e)|0}function zd(a){a=a|0;var b=0;if(a){b=F[a+592>>2];if(b){Ra(b)}Sb(a+4|0);Ra(a)}}function Xe(a){var b=0;while(1){if(a){a=a-1&a;b=b+1|0;continue}break}return b}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Xa(a,F[b+8>>2],0)){uc(b,c,d)}}function zc(a,b,c,d,e){cb(a,b);cb(d,e);rb(c,d,e);cb(b,e);rb(a,c,d);rb(b,c,d)}function Ye(a){var b=0;b=a&31;a=0-a&31;return(-1>>>b&-2)<>>a}function pd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ga[F[a>>2]](b,c,d)|0}function ye(a){a=a|0;return(F[a>>2]==-559038750?F[a+160>>2]:0)|0}function ue(a){a=a|0;return(F[a>>2]==-559038750?F[a+164>>2]:0)|0}function te(a){a=a|0;return(F[a>>2]==-559038750?F[a+168>>2]:0)|0}function se(a){a=a|0;return(F[a>>2]==-559038750?F[a+172>>2]:0)|0}function re(a){a=a|0;return(F[a>>2]==-559038750?F[a+176>>2]:0)|0}function qe(a){a=a|0;return(F[a>>2]==-559038750?F[a+180>>2]:0)|0}function pe(a){a=a|0;return(F[a>>2]==-559038750?F[a+184>>2]:0)|0}function oe(a){a=a|0;return(F[a>>2]==-559038750?F[a+188>>2]:0)|0}function ad(){var a=0;a=Hb(Qa(992));Ta(a+584|0,0,408);return a|0}function Pd(a){a=a|0;if(!a){return 0}return(ab(a,404852)|0)!=0|0}function Je(a){a=a|0;return(F[a>>2]==-559038750?F[a+120>>2]:0)|0}function ze(a){a=a|0;return(F[a>>2]==-559038750?F[a+52>>2]:0)|0}function De(a){a=a|0;return(F[a>>2]==-559038750?F[a+32>>2]:0)|0}function Ce(a){a=a|0;return(F[a>>2]==-559038750?F[a+36>>2]:0)|0}function Be(a){a=a|0;return(F[a>>2]==-559038750?F[a+48>>2]:0)|0}function Ae(a){a=a|0;return(F[a>>2]==-559038750?F[a+44>>2]:0)|0}function xe(a){a=a|0;return F[a>>2]==-559038750&F[a+160>>2]==1}function ve(a){a=a|0;return F[a>>2]==-559038750&G[a+1204|0]!=0}function rd(a,b,c){a=a|0;b=b|0;c=c|0;return Ga[F[a>>2]](b,c)|0}function ne(a){a=a|0;return F[a>>2]==-559038750&G[a+1205|0]!=0}function Re(a){a=a|0;return F[a>>2]==-559038750&G[a+1220|0]!=0}function Jd(a){a=a|0;return(a>>>0<=21?F[(a<<2)+398364>>2]:0)|0}function Ac(a,b,c,d){cb(a,c);cb(b,d);cb(a,b);cb(c,d);cb(b,c)} +function we(a){a=a|0;return!F[a+160>>2]&F[a>>2]==-559038750}function vc(a,b,c){a=a|0;b=b|0;c=c|0;return Xa(a,b,0)|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;F[F[a>>2]+b>>2]=c}function yb(a,b,c){a=a|0;b=b|0;c=c|0;D[F[a>>2]+b|0]=c}function Zb(a,b){a=a|0;b=b|0;return Ga[F[a>>2]](b)|0}function jb(a,b){a=a|0;b=b|0;return F[F[a>>2]+b>>2]}function Ve(a){if(a){return 31-O(a-1^a)|0}return 32}function zb(a,b){a=a|0;b=b|0;return G[F[a>>2]+b|0]}function Gd(a){a=a|0;return 4063039>>>a&1&a>>>0<22}function bd(a){a=a|0;if(a){Rb(a+584|0);Ra(Sb(a))}}function $b(a,b){a=a|0;b=b|0;return Ga[a|0](b)|0}function nc(a,b,c,d){wa(a|0,b|0,8,0,c|0,-1,d|0)}function Id(a){a=a|0;return 603850>>>a&a>>>0<20}function gb(a,b,c){if(!(G[a|0]&32)){Mb(b,c,a)}}function ae(a){a=a|0;return ya(F[a+60>>2])|0}function Fd(a){a=a|0;return((a|0)==17?8:4)|0}function wd(a,b){a=a|0;b=b|0;Ga[F[a>>2]](b)}function Hd(a){a=a|0;return a-13>>>0<4|0}function Xb(a){a=a|0;return Ga[a|0]()|0}function Oe(a){a=a|0;return F[a+108>>2]}function Nd(a){a=a|0;return F[a+4>>2]}function tb(a,b,c){cb(b,c);rb(a,b,c)}function Yd(a){a=a|0;return Ya(a)|0}function cd(a){a=a|0;return 399248}function Ue(a){a=a|0;return 399856}function Ad(a){a=a|0;return 398832}function kb(a){a=a|0;if(a){Ra(a)}}function Hb(a){return Ta(a,0,584)}function oc(a){a=a|0;pc(a);Ra(a)}function Od(a){a=a|0;return 2223}function Nb(a,b){Fc(a,1,vb(a),b)}function Qc(a){a=a|0;return a|0}function Dd(a){a=a|0;Ga[a|0]()}function Ed(a){a=a|0;return 4}function Sa(a){a=a|0;Ra(a)}function ec(){return 1}function Hc(a){a=a|0} +// EMSCRIPTEN_END_FUNCS +e=G;p(q);var Ga=c([null,de,wb,Dd,Ld,bc,kb,jb,ib,zb,yb,Cd,kb,jb,ib,zb,yb,Bd,kb,jb,ib,$b,Jd,$b,Id,Hd,Gd,Fd,Ed,Ad,zd,_b,yd,xd,wd,vd,Zb,ud,Zb,td,sd,rd,qd,pd,od,nd,md,ld,kd,jd,id,hd,gd,fd,ed,dd,cd,bd,Xb,ad,$c,_c,Zc,Wb,Yc,Xc,Wc,Kd,Xb,ec,ec,Vc,kb,jb,ib,zb,yb,bc,kb,jb,ib,Ue,Te,_b,Se,Re,Tc,Qe,Pe,Oe,Tc,Ne,Wb,Me,Le,Ke,Rc,Je,Ie,He,Ge,Rc,Fe,Ee,De,Ce,Be,Ae,ze,ye,xe,we,ve,ue,te,se,re,qe,pe,oe,ne,me,le,ke,je,ie,he,ge,fe,ee,pc,cc,Ic,ae,$d,_d,Zd,Qc,Sa,Hc,Hc,vc,Sa,vc,Sa,Xd,Qd,Sd,Wd,Sa,Rd,Td,Vd,Sa,Ud,Qc,Sa,Od,oc,Nd,oc]);function Ha(){return C.byteLength/65536|0}function Ma(Na){Na=Na|0;var Ia=Ha()|0;var Ja=Ia+Na|0;if(Ia=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(Module["wasmMemory"])wasmMemory=Module["wasmMemory"];else wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536});updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false; +function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length)addOnPreRun(Module["preRun"].shift())}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)} +function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length)addOnPostRun(Module["postRun"].shift())}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)} +if(!Math.imul||Math.imul(4294967295,5)!==-5)Math.imul=function(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};if(!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(x){froundBuffer[0]=x;return froundBuffer[0]}}if(!Math.clz32)Math.clz32=function(x){var n=32;var y=x>>16;if(y){n-=16;x=y}y=x>>8;if(y){n-=8;x=y}y=x>>4;if(y){n-=4;x=y}y=x>>2;if(y){n-=2;x=y}y=x>>1;if(y)return n-2;return n-x}; +if(!Math.trunc)Math.trunc=function(x){return x<0?Math.ceil(x):Math.floor(x)};var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"])Module["monitorRunDependencies"](runDependencies)} +function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"])Module["monitorRunDependencies"](runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}} +function abort(what){if(Module["onAbort"])Module["onAbort"](what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e;}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="<<< WASM_BINARY_FILE >>>"; +if(!isDataURI(wasmBinaryFile))wasmBinaryFile=locateFile(wasmBinaryFile);function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);var binary=tryParseAsDataURI(file);if(binary)return binary;if(readBinary)return readBinary(file);throw"both async and sync fetching of the wasm failed";}function getBinaryPromise(binaryFile){return Promise.resolve().then(function(){return getBinarySync(binaryFile)})} +function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(function(binary){return WebAssembly.instantiate(binary,imports)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){return instantiateArrayBuffer(binaryFile,imports,callback)} +function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmTable=wasmExports["P"];addOnInit(wasmExports["M"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"])try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+ +e);readyPromiseReject(e)}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var callRuntimeCallbacks=function(callbacks){while(callbacks.length>0)callbacks.shift()(Module)}; +function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown= +rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer)return HEAPU32[this.excPtr>>2];var adjusted= +this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=function(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast;};var structRegistrations={};var runDestructors=function(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}; +function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError;var throwInternalError=function(message){throw new InternalError(message);}; +var whenDependentTypesAreResolved=function(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length)throwInternalError("Mismatched type converter count");for(var i=0;i=char_0&&f<=char_9)return"_"+name;return name}; +function createNamedFunction(name,body){name=makeLegalFunctionName(name);var $jscomp$compprop1={};return($jscomp$compprop1[name]=function(){return body.apply(this,arguments)},$jscomp$compprop1)[name]} +var ensureOverloadTable=function(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length))throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!");return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable= +[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}; +var exposePublicSymbol=function(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments])throwBindingError("Cannot register public name '"+name+"' twice");ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments))throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!");Module[name].overloadTable[numArguments]= +value}else{Module[name]=value;if(undefined!==numArguments)Module[name].numArguments=numArguments}};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]} +var upcastPointer=function(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast)throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name);ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}; +function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference)throwBindingError("null is not a valid "+this.name);return 0}if(!handle.$$)throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);if(!handle.$$.ptr)throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr} +function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference)throwBindingError("null is not a valid "+this.name);if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null)destructors.push(this.rawDestructor,ptr);return ptr}else return 0}if(!handle.$$)throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);if(!handle.$$.ptr)throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);if(!this.isConst&&handle.$$.ptrType.isConst)throwBindingError("Cannot convert argument of type "+ +(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr)throwBindingError("Passing raw pointer to smart pointer is illegal");switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this)ptr=handle.$$.smartPtr;else throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType? +handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name);break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this)ptr=handle.$$.smartPtr;else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){return clonedHandle["delete"]()}));if(destructors!==null)destructors.push(this.rawDestructor,ptr)}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr} +function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference)throwBindingError("null is not a valid "+this.name);return 0}if(!handle.$$)throwBindingError('Cannot pass "'+embindRepr(handle)+'" as a '+this.name);if(!handle.$$.ptr)throwBindingError("Cannot pass deleted object as a pointer of type "+this.name);if(handle.$$.ptrType.isConst)throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name);var handleClass= +handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])} +var init_RegisteredPointer=function(){var $jscomp$compprop2={};Object.assign(RegisteredPointer.prototype,($jscomp$compprop2.getPointee=function(ptr){if(this.rawGetPointee)ptr=this.rawGetPointee(ptr);return ptr},$jscomp$compprop2.destructor=function(ptr){if(this.rawDestructor)this.rawDestructor(ptr)},$jscomp$compprop2["argPackAdvance"]=GenericWireTypeSize,$jscomp$compprop2["readValueFromPointer"]=readPointer,$jscomp$compprop2["deleteObject"]=function(handle){if(handle!==null)handle["delete"]()},$jscomp$compprop2["fromWireType"]= +RegisteredPointer_fromWireType,$jscomp$compprop2))}; +function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&& +registeredClass.baseClass===undefined)if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else this["toWireType"]=genericPointerToWireType} +var replacePublicSymbol=function(name,value,numArguments){if(!Module.hasOwnProperty(name))throwInternalError("Replacing nonexistant public symbol");if(undefined!==Module[name].overloadTable&&undefined!==numArguments)Module[name].overloadTable[numArguments]=value;else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=function(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var wasmTable; +var getWasmTableEntry=function(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=function(sig,ptr,args){if(sig.includes("j"))return dynCallLegacy(sig,ptr,args);var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn}; +var getDynCaller=function(sig,ptr){var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}}; +var embind__requireFunction=function(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j"))return getDynCaller(signature,rawFunction);return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function")throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction);return fp}; +var extendError=function(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined)this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined)return this.name;else return this.name+": "+ +this.message};return errorClass};var UnboundTypeError;var getTypeName=function(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}; +var throwUnboundTypeError=function(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type])return;if(registeredTypes[type])return;if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]));}; +var __embind_register_class=function(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast)upcast=embind__requireFunction(upcastSignature,upcast);if(downcast)downcast=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature, +rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else basePrototype=ClassHandle.prototype; +var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype)throw new BindingError("Use 'new' to construct "+name);if(undefined===registeredClass.constructor_body)throw new BindingError(name+" has no accessible constructor");var body=registeredClass.constructor_body[arguments.length];if(undefined===body)throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+ +") parameters instead!");return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined)registeredClass.baseClass.__derivedClasses=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter= +new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}; +var heap32VectorToArray=function(count,firstElement){var array=[];for(var i=0;i>2]);return array}; +function newFunc(constructor,argumentList){if(!(constructor instanceof Function))throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function");var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj} +function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2)throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired;invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack)invokerFnBody+="runDestructors(destructors);\n";else for(var i=isClassMethodFunc?1:2;i=emval_handles.reserved&&0===--emval_handles.get(handle).refcount)emval_handles.free(handle)};var count_emval_handles=function(){var count=0;for(var i=emval_handles.reserved;i>0])}:function(pointer){return this["fromWireType"](HEAPU8[pointer>>0])};case 2:return signed?function(pointer){return this["fromWireType"](HEAP16[pointer>>1])}:function(pointer){return this["fromWireType"](HEAPU16[pointer>>1])};case 4:return signed?function(pointer){return this["fromWireType"](HEAP32[pointer>>2])}:function(pointer){return this["fromWireType"](HEAPU32[pointer>> +2])};default:throw new TypeError("invalid integer width ("+width+"): "+name);}}; +var __embind_register_enum=function(rawType,name,size,isSigned){name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":function(destructors,c){return c.value},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":enumReadValueFromPointer(name,size,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)}; +var requireRegisteredType=function(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl)throwBindingError(humanName+" has unknown type "+getTypeName(rawType));return impl}; +var __embind_register_enum_value=function(rawEnumType,name,enumValue){var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(enumType.name+"_"+name,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value}; +var embindRepr=function(v){if(v===null)return"null";var t=typeof v;if(t==="object"||t==="array"||t==="function")return v.toString();else return""+v};var floatReadValueFromPointer=function(name,width){switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("invalid float width ("+width+"): "+name);}}; +var __embind_register_float=function(rawType,name,size){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":floatReadValueFromPointer(name,size),destructorFunction:null})}; +var __embind_register_function=function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError("Cannot call "+name+" due to unbound types",argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name, +craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}; +var integerReadValueFromPointer=function(name,width,signed){switch(width){case 1:return signed?function(pointer){return HEAP8[pointer>>0]}:function(pointer){return HEAPU8[pointer>>0]};case 2:return signed?function(pointer){return HEAP16[pointer>>1]}:function(pointer){return HEAPU16[pointer>>1]};case 4:return signed?function(pointer){return HEAP32[pointer>>2]}:function(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("invalid integer width ("+width+"): "+name);}}; +var __embind_register_integer=function(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1)maxRange=4294967295;var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.includes("unsigned");var checkAssertions=function(value,toTypeName){};var toWireType;if(isUnsignedType)toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>> +0};else toWireType=function(destructors,value){checkAssertions(value,this.name);return value};registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})}; +var __embind_register_memory_view=function(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":decodeMemoryView}, +{ignoreDuplicateRegistrations:true})}; +var stringToUTF8Array=function(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]= +128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=function(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}; +var lengthBytesUTF8=function(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else len+=3}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined; +var UTF8ArrayToString=function(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder)return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr));var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=function(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}; +var __embind_register_std_string=function(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";var $jscomp$compprop3={};registerType(rawType,($jscomp$compprop3.name=name,$jscomp$compprop3["fromWireType"]=function(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment= +UTF8ToString(decodeStartPtr,maxRead);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString)stringToUTF8(value,ptr,length+1);else if(valueIsOfTypeString)for(var i=0;i255){_free(ptr); +throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}else for(var i=0;i>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}; +var stringToUTF16=function(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined)maxBytesToWrite=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=function(str){return str.length*2}; +var UTF32ToString=function(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else str+=String.fromCharCode(utf32)}return str}; +var stringToUTF32=function(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined)maxBytesToWrite=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}; +var lengthBytesUTF32=function(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}; +var __embind_register_std_wstring=function(rawType,charSize,name){name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=function(){return HEAPU16};shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=function(){return HEAPU32};shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length= +HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value== +"string"))throwBindingError("Cannot pass non-string to C++ string type "+name);var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null)destructors.push(_free,ptr);return ptr},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}; +var __embind_register_value_object=function(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor){structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}}; +var __embind_register_value_object_field=function(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})}; +var __embind_register_void=function(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}; +var __emval_as=function(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)};var emval_symbols={};var getStringOrSymbol=function(address){var symbol=emval_symbols[address];if(symbol===undefined)return readLatin1String(address);return symbol};var emval_methodCallers=[]; +var __emval_call_void_method=function(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)};var emval_get_global=function(){if(typeof globalThis=="object")return globalThis;return function(){return Function}()("return this")()};var __emval_get_global=function(name){if(name===0)return Emval.toHandle(emval_get_global());else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}; +var emval_addMethodCaller=function(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=function(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2],"parameter "+i);return a};var emval_registeredMethods={}; +var __emval_get_method_caller=function(argCount,argTypes){var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined)return returnId;var params=["retType"];var args=[retType];var argsList="";for(var i=0;i4)emval_handles.get(handle).refcount+=1}; +var craftEmvalAllocator=function(argCount){var argsList="";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+ +i+"['argPackAdvance'];\n"+"argTypes += 4;\n";functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return(new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody))(requireRegisteredType,Module,Emval.toHandle,getMemory)};var emval_newers={}; +var __emval_new=function(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)};var __emval_new_cstring=function(v){return Emval.toHandle(getStringOrSymbol(v))};var __emval_run_destructors=function(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var _abort=function(){abort("")}; +var _emscripten_memcpy_js=Uint8Array.prototype.copyWithin?function(dest,src,num){return HEAPU8.copyWithin(dest,src,src+num)}:function(dest,src,num){return HEAPU8.set(HEAPU8.subarray(src,src+num),dest)};var getHeapMax=function(){return 2147483648};var growMemory=function(size){var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}}; +var _emscripten_resize_heap=function(requestedSize){var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize)return false;var alignUp=function(x,multiple){return x+(multiple-x%multiple)%multiple};for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement= +growMemory(newSize);if(replacement)return true}return false};var SYSCALLS={varargs:undefined,get:function(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp:function(){return SYSCALLS.get()},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};var _fd_close=function(fd){return 52};var convertI32PairToI53Checked=function(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}; +function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=function(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else buffer.push(curr)}; +var _fd_write=function(fd,iov,iovcnt,pnum){var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}; +var $var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var0=function(message){var $jscomp$tmp$error;$jscomp$tmp$error=Error.call(this,message),this.message=$jscomp$tmp$error.message,"stack"in $jscomp$tmp$error&&(this.stack=$jscomp$tmp$error.stack),this;this.name="InternalError"};$jscomp.inherits($var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var0,Error);InternalError=Module["InternalError"]=$var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var0; +embind_init_charCodes();var $var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var1=function(message){var $jscomp$tmp$error;$jscomp$tmp$error=Error.call(this,message),this.message=$jscomp$tmp$error.message,"stack"in $jscomp$tmp$error&&(this.stack=$jscomp$tmp$error.stack),this;this.name="BindingError"};$jscomp.inherits($var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var1,Error); +BindingError=Module["BindingError"]=$var$folders$74$xvts57r10jj4_q1973jnyqgc0000gn$T$emscripten_temp_nbrkql29$basis_jso4$classdecl$var1;init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");handleAllocatorInit();init_emval(); +var wasmImports={L:___cxa_throw,t:__embind_finalize_value_object,E:__embind_register_bigint,J:__embind_register_bool,y:__embind_register_class,x:__embind_register_class_constructor,e:__embind_register_class_function,l:__embind_register_constant,I:__embind_register_emval,o:__embind_register_enum,b:__embind_register_enum_value,C:__embind_register_float,j:__embind_register_function,k:__embind_register_integer,f:__embind_register_memory_view,B:__embind_register_std_string,w:__embind_register_std_wstring, +u:__embind_register_value_object,d:__embind_register_value_object_field,K:__embind_register_void,n:__emval_as,s:__emval_call_void_method,c:__emval_decref,z:__emval_get_global,p:__emval_get_method_caller,r:__emval_get_module_property,g:__emval_get_property,i:__emval_incref,q:__emval_new,h:__emval_new_cstring,m:__emval_run_destructors,v:_abort,H:_emscripten_memcpy_js,F:_emscripten_resize_heap,G:_fd_close,D:_fd_seek,A:_fd_write,a:wasmMemory};var wasmExports=createWasm(); +var ___wasm_call_ctors=function(){return(___wasm_call_ctors=wasmExports["M"])()};var _malloc=function(a0){return(_malloc=wasmExports["N"])(a0)};var _free=function(a0){return(_free=wasmExports["O"])(a0)};var ___getTypeName=function(a0){return(___getTypeName=wasmExports["Q"])(a0)};var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=function(){return(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=wasmExports["R"])()}; +var ___errno_location=function(){return(___errno_location=wasmExports["__errno_location"])()};var ___cxa_is_pointer_type=function(a0){return(___cxa_is_pointer_type=wasmExports["S"])(a0)};var dynCall_jiji=Module["dynCall_jiji"]=function(a0,a1,a2,a3,a4){return(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["T"])(a0,a1,a2,a3,a4)}; +if(typeof atob=="undefined"){if(typeof global!="undefined"&&typeof globalThis=="undefined")globalThis=global;globalThis.atob=function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2| +enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64)output=output+String.fromCharCode(chr2);if(enc4!==64)output=output+String.fromCharCode(chr3)}while(i0)return;preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else doRun()} +if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0)Module["preInit"].pop()()}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BASIS; +else if (typeof define === 'function' && define['amd']) + define([], () => BASIS); diff --git a/GemQuest/files/assets/214864109/1/basis.wasm.js b/GemQuest/files/assets/214864109/1/basis.wasm.js new file mode 100644 index 0000000..3ad6183 --- /dev/null +++ b/GemQuest/files/assets/214864109/1/basis.wasm.js @@ -0,0 +1,19 @@ + +var BASIS = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(moduleArg = {}) { + +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="basis.wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["L"];updateMemoryViews();wasmTable=wasmExports["P"];addOnInit(wasmExports["M"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var structRegistrations={};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAP32[pointer>>2])}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};var __embind_finalize_value_object=structType=>{var reg=structRegistrations[structType];delete structRegistrations[structType];var rawConstructor=reg.rawConstructor;var rawDestructor=reg.rawDestructor;var fieldRecords=reg.fields;var fieldTypes=fieldRecords.map(field=>field.getterReturnType).concat(fieldRecords.map(field=>field.setterArgumentType));whenDependentTypesAreResolved([structType],fieldTypes,fieldTypes=>{var fields={};fieldRecords.forEach((field,i)=>{var fieldName=field.fieldName;var getterReturnType=fieldTypes[i];var getter=field.getter;var getterContext=field.getterContext;var setterArgumentType=fieldTypes[i+fieldRecords.length];var setter=field.setter;var setterContext=field.setterContext;fields[fieldName]={read:ptr=>getterReturnType["fromWireType"](getter(getterContext,ptr)),write:(ptr,o)=>{var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,o));runDestructors(destructors)}}});return[{name:reg.name,"fromWireType":ptr=>{var rv={};for(var i in fields){rv[i]=fields[i].read(ptr)}rawDestructor(ptr);return rv},"toWireType":(destructors,o)=>{for(var fieldName in fields){if(!(fieldName in o)){throw new TypeError(`Missing field: "${fieldName}"`)}}var ptr=rawConstructor();for(fieldName in fields){fields[fieldName].write(ptr,o[fieldName])}if(destructors!==null){destructors.push(rawDestructor,ptr)}return ptr},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:rawDestructor}]})};var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(wt){return!!wt},"toWireType":function(destructors,o){return o?trueValue:falseValue},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":function(pointer){return this["fromWireType"](HEAPU8[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{"isAliasOf"(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},"clone"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},"delete"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},"isDeleted"(){return!this.$$.ptr},"deleteLater"(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function createNamedFunction(name,body){name=makeLegalFunctionName(name);return{[name]:function(){return body.apply(this,arguments)}}[name]}var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${arguments.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":readPointer,"deleteObject"(handle){if(handle!==null){handle["delete"]()}},"fromWireType":RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args)=>{if(sig.includes("j")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr).apply(null,args);return rtn};var getDynCaller=(sig,ptr)=>{var argCache=[];return function(){argCache.length=0;Object.assign(argCache,arguments);return dynCall(sig,ptr,argCache)}};var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes("j")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);if(upcast){upcast=embind__requireFunction(upcastSignature,upcast)}if(downcast){downcast=embind__requireFunction(downcastSignature,downcast)}rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],function(base){base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,arguments)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){if(registeredClass.baseClass.__derivedClasses===undefined){registeredClass.baseClass.__derivedClasses=[]}registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns||isAsync?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var __embind_register_constant=(name,type,value)=>{name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})};function handleAllocatorInit(){Object.assign(HandleAllocator.prototype,{get(id){return this.allocated[id]},has(id){return this.allocated[id]!==undefined},allocate(handle){var id=this.freelist.pop()||this.allocated.length;this.allocated[id]=handle;return id},free(id){this.allocated[id]=undefined;this.freelist.push(id)}})}function HandleAllocator(){this.allocated=[undefined];this.freelist=[]}var emval_handles=new HandleAllocator;var __emval_decref=handle=>{if(handle>=emval_handles.reserved&&0===--emval_handles.get(handle).refcount){emval_handles.free(handle)}};var count_emval_handles=()=>{var count=0;for(var i=emval_handles.reserved;i{emval_handles.allocated.push({value:undefined},{value:null},{value:true},{value:false});emval_handles.reserved=emval_handles.allocated.length;Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles.get(handle).value},toHandle:value=>{switch(value){case undefined:return 1;case null:return 2;case true:return 3;case false:return 4;default:{return emval_handles.allocate({refcount:1,value:value})}}}};var __embind_register_emval=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},"toWireType":(destructors,value)=>Emval.toHandle(value),"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})};var enumReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?function(pointer){return this["fromWireType"](HEAP8[pointer>>0])}:function(pointer){return this["fromWireType"](HEAPU8[pointer>>0])};case 2:return signed?function(pointer){return this["fromWireType"](HEAP16[pointer>>1])}:function(pointer){return this["fromWireType"](HEAPU16[pointer>>1])};case 4:return signed?function(pointer){return this["fromWireType"](HEAP32[pointer>>2])}:function(pointer){return this["fromWireType"](HEAPU32[pointer>>2])};default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_enum=(rawType,name,size,isSigned)=>{name=readLatin1String(name);function ctor(){}ctor.values={};registerType(rawType,{name:name,constructor:ctor,"fromWireType":function(c){return this.constructor.values[c]},"toWireType":(destructors,c)=>c.value,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":enumReadValueFromPointer(name,size,isSigned),destructorFunction:null});exposePublicSymbol(name,ctor)};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl};var __embind_register_enum_value=(rawEnumType,name,enumValue)=>{var enumType=requireRegisteredType(rawEnumType,"enum");name=readLatin1String(name);var Enum=enumType.constructor;var Value=Object.create(enumType.constructor.prototype,{value:{value:enumValue},constructor:{value:createNamedFunction(`${enumType.name}_${name}`,function(){})}});Enum.values[enumValue]=Value;Enum[name]=Value};var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":value=>value,"toWireType":(destructors,value)=>value,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":floatReadValueFromPointer(name,size),destructorFunction:null})};var __embind_register_function=(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync)=>{var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,function(argTypes){var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer>>0]:pointer=>HEAPU8[pointer>>0];case 2:return signed?pointer=>HEAP16[pointer>>1]:pointer=>HEAPU16[pointer>>1];case 4:return signed?pointer=>HEAP32[pointer>>2]:pointer=>HEAPU32[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>2];var data=HEAPU32[handle+4>>2];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType"(value){var length=HEAPU32[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,getHeap,lengthBytesUTF,shift;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;getHeap=()=>HEAPU16;shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=()=>HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":value=>{var length=HEAPU32[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":GenericWireTypeSize,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_value_object=(rawType,name,constructorSignature,rawConstructor,destructorSignature,rawDestructor)=>{structRegistrations[rawType]={name:readLatin1String(name),rawConstructor:embind__requireFunction(constructorSignature,rawConstructor),rawDestructor:embind__requireFunction(destructorSignature,rawDestructor),fields:[]}};var __embind_register_value_object_field=(structType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext)=>{structRegistrations[structType].fields.push({fieldName:readLatin1String(fieldName),getterReturnType:getterReturnType,getter:embind__requireFunction(getterSignature,getter),getterContext:getterContext,setterArgumentType:setterArgumentType,setter:embind__requireFunction(setterSignature,setter),setterContext:setterContext})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":()=>undefined,"toWireType":(destructors,o)=>undefined})};var __emval_as=(handle,returnType,destructorsRef)=>{handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);HEAPU32[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol};var emval_methodCallers=[];var __emval_call_void_method=(caller,handle,methodName,args)=>{caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)};var emval_get_global=()=>{if(typeof globalThis=="object"){return globalThis}return function(){return Function}()("return this")()};var __emval_get_global=name=>{if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}};var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a};var emval_registeredMethods={};var __emval_get_method_caller=(argCount,argTypes)=>{var types=emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var params=["retType"];var args=[retType];var argsList="";for(var i=0;i{name=getStringOrSymbol(name);return Emval.toHandle(Module[name])};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>4){emval_handles.get(handle).refcount+=1}};var craftEmvalAllocator=argCount=>{var argsList="";for(var i=0;iHEAPU32;var functionBody="return function emval_allocator_"+argCount+"(constructor, argTypes, args) {\n"+" var HEAPU32 = getMemory();\n";for(var i=0;i>2)], 'parameter "+i+"');\n"+"var arg"+i+" = argType"+i+".readValueFromPointer(args);\n"+"args += argType"+i+"['argPackAdvance'];\n"+"argTypes += 4;\n"}functionBody+="var obj = new constructor("+argsList+");\n"+"return valueToHandle(obj);\n"+"}\n";return new Function("requireRegisteredType","Module","valueToHandle","getMemory",functionBody)(requireRegisteredType,Module,Emval.toHandle,getMemory)};var emval_newers={};var __emval_new=(handle,argCount,argTypes,args)=>{handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)};var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var _abort=()=>{abort("")};var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var SYSCALLS={varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};var _fd_close=fd=>52;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};var _fd_write=(fd,iov,iovcnt,pnum)=>{var num=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");handleAllocatorInit();init_emval();var wasmImports={K:___cxa_throw,s:__embind_finalize_value_object,D:__embind_register_bigint,I:__embind_register_bool,x:__embind_register_class,w:__embind_register_class_constructor,d:__embind_register_class_function,k:__embind_register_constant,H:__embind_register_emval,n:__embind_register_enum,a:__embind_register_enum_value,B:__embind_register_float,i:__embind_register_function,j:__embind_register_integer,e:__embind_register_memory_view,A:__embind_register_std_string,v:__embind_register_std_wstring,t:__embind_register_value_object,c:__embind_register_value_object_field,J:__embind_register_void,m:__emval_as,r:__emval_call_void_method,b:__emval_decref,y:__emval_get_global,o:__emval_get_method_caller,q:__emval_get_module_property,f:__emval_get_property,h:__emval_incref,p:__emval_new,g:__emval_new_cstring,l:__emval_run_destructors,u:_abort,G:_emscripten_memcpy_js,E:_emscripten_resize_heap,F:_fd_close,C:_fd_seek,z:_fd_write};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["M"])();var _malloc=a0=>(_malloc=wasmExports["N"])(a0);var _free=a0=>(_free=wasmExports["O"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports["Q"])(a0);var __embind_initialize_bindings=Module["__embind_initialize_bindings"]=()=>(__embind_initialize_bindings=Module["__embind_initialize_bindings"]=wasmExports["R"])();var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports["S"])(a0);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["T"])(a0,a1,a2,a3,a4);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return moduleArg.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = BASIS; +else if (typeof define === 'function' && define['amd']) + define([], () => BASIS); diff --git a/GemQuest/index.html b/GemQuest/index.html new file mode 100644 index 0000000..8afb060 --- /dev/null +++ b/GemQuest/index.html @@ -0,0 +1,18 @@ + + + + + + + + + GemQuest + + + + + + + + + diff --git a/GemQuest/logo.png b/GemQuest/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb25c2209d9e0fdc253040db119e431a6896ca38 GIT binary patch literal 2599 zcmV+?3fT3DP)%)?4ISzpFhga^Fw}`Bg&s|%RQ;j zwpp|M`GRz$Hw$N*teHhKXWBC{9eE}9=GuIeW-OoGlZ?t~sm~NSKgl!scN$QRyF5=P zNzTl48JAPimFBeNyiAc18JwQXpTm=M<>ZV{GnUJ4Sv?D6`XnRrexAwg|8ZOjq8Sfb zQ@Z&f1=EY_4)hfz6U`+`wYi&uugoNMoZAQr{w=*+*TZVj>2mW(LvH}ADRrG5Ot6Yb z({X!?h+l#YrGo2$-%EGPS7BFa=z{K7i!U6ZpNK>i&eNvv!SA3ugL_3foPxhg9dDta zqu2D9&J}>K{mmgZw3ZDW?rI~!s4|FJ&Y=@*NaNMtV4I!=wtBn>e7=9rEaTpioJk8f*C-W9>2;yMgBRh@d#g)615N19ja248v^B|qsy@cn#B!RE$8osxPO zWer-fN2yY>gLHE+7$Qxa&AXK>(+NeaH;h2uNY-o zu>m+hYPdqGE2 zQgC9oY4Dad>EVAFS)=nmmx6E2D&0H_Y%VQ(Nw)*c%P`U0O#*Fm2iUJ-@Nrv{25(jq zaF6uzXecY-iBNON+87+B@4@>g1*f+h{A@bQ@;#gAucJoOSgYKRv#^LIOrT&l>EU~L zTbs1#b#gKcY6!8h@|6wYiM{#LV#>B0wQ=zH+b zP;gMo!JkUOt;#*D;Gfd4+&`vWyQhGfrE=jirdHjfSH*Z39R@TFbUj^o#T1o-Z}(BX z2Cw|<=lV+z*8vAg>E#$>M(O2M;8n}@E%;R^S-FMa%QdNBdl9iX1*1(b4a@!Ej-=rG zo@Ksl#@3UTeY{s3yMi5?1z#>ff2b6EoYtVh+Z3Ep=akNfZf)dR;Fy}#^%KzLCYu}3 zTJTGhy*OX#*JAMNDOYD@`{ik6u+p&H4>tm8Zpd=e8ze2dRE+{WnQ!nwh2Z;p4D4Jf z_*spw+c@5cPIJ~;`D;wA*XwjhF^@--sk+AAW^EMwC|fJFy+d8CQ;CzM#o#Yj;FnT* zr~)t6sS^+B$!$`@KcQ1v_IEW~u8Y9JO@oiQeUIUOS|Rwjx@;r6JD1KnJ^$&@t8^dT zpw6|~$#Y6{dCH01zhPA4ZBw-v{7l9vu&k8MP(IG`Qo{v|R)V4CkQ)9CL#0KhF{0)M zpC1gVRKm9f&ly-D__ga4^fT(5sP5+@JYC~+jK;N6*F~M?StUCC%ltns_)je;Ee3zI z0xwH9uT{=o=G5Q>WV=TdxVz?h*7r63<+>+mw*&iB z3Vw1ggDsl{Ury&OY8>dDAicc3?)F)^>`j_Gwf(&TII&sqo!;^%tBbT8{Hh8}FiWo@ z_8HWj(PaSyM@t>|1{+8Vt_Dt(8V=Bbrz-^?ix`FP%++{YS)_02b!umvnWcyG>B4WM zrZ1MYql*0uHW3poCGAPU@XXM|0a+;f=h5_q{mP$S&SF`+n``8$-s4)}$t1~IX@!H6 zbmlLq#f1DZ$qHF6Rd^#uCYd2uq<3sG;<{d^JJ4GSLd7b4ZF_cLF1&d<`7AIHquG0E^; zklOqtNpeW`PZj>04YE^K%b7VXjrnc%NqhFo8TmiM{z{3^$1id>jGGB(v|&p}CsHr!uk%Z8aUd*+v^ z!m#X;$I?Il$kI(d$#3$f|1HutCD|ggCHY;Qg=l=PXjoIXNm~xeNvX=%Bwdqsk6+r4 zW7n4V_!ta+CrzBqWIe8ZUm^{h%5c11agQ&nhUODkerf2h!CIArZ*wQO zxXHN7&}E*YZ~txGdurFNbOCI)@(5>`<)yCk>%>3$8vMsTtm(exoCdCzx}K@T{4EDx z-gDqC1txXbpWZm+y!#cOxt4XPY`tgnlv;~vE4 zI`Fvk@&It0H1!&=gou4i1b0}W##DQ?F!g+E)fjQ}+g^svdltS0VVFDA+@K`8>v&sq)p&UyF#1bO2sZrr5Rm=ghLrugZ{2-}GGCjOFVle@w+g zYf=R{JS!)eJ#QyTzRL+YGh1cDES>o>b&~P>>0,n=arguments[1]|0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r|0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),i(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),i(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),i(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var n=0,s=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];nt.length)&&(e=t.length);for(var i=0,n=Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function y(){return y=Object.assign?Object.assign.bind():function(t){for(var e=1;e=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),_}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:D(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),_}},e}function b(t,e){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},b(t,e)}function T(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:e+""}var w=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();w._traceChannels=new Set,w.stack=!1;var E,A,C,M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.offByHandle(this)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},v(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}])}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=g(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(D.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==D.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==D.delimiter&&(s+=D.delimiter),s},split:function(t){var e=t.lastIndexOf(D.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return D.split(t)[1]},getDirectory:function(t){return D.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(D.isRelativePath(t))if("."===i[0])for(n=0;n0),U=!("browser"!==k||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={name:O,environment:k,global:null!=(E=null!=(A=null!=(C="undefined"!=typeof globalThis&&globalThis)?C:"browser"===k&&window)?A:"node"===k&&global)?E:"worker"===k&&self,browser:"browser"===k,worker:"worker"===k,desktop:["windows","osx","linux","cros"].includes(O),mobile:["android","ios"].includes(O),ios:"ios"===O,android:"android"===O,xbox:B,gamepads:U,touch:N,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,j=127462,q=127487,Y=65024,K=65039;function Z(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=56319){var s=t.charCodeAt(e+1);if(s>=56320&&s<=57343)return{code:1024*(n-X)+s-56320+65536,long:!0}}return{code:n,long:!1}}function Q(t,e,i){if(!t)return!1;var n=Z(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function J(t,e){if(e===t.length-1)return 1;if(Q(t[e],X,56319)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return Q(n,127995,127999)||Q(i,j,q)&&Q(n,j,q)?4:Q(n,Y,K)?3:2}return Q(t[e+1],Y,K)?2:1}var $,tt,et,it={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=Z(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=Z(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},nt=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),st=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();st.modules={},st.wasmSupported=($=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},et=tt={},function(){return et===tt&&(et=$()),et});var rt=function(){function t(){}return t.setConfig=function(t,e){var i=st.getModule(t);i.config=e,i.callbacks.length>0&&st.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=st.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=st.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&st.initialize(t,i))},t}(),at=function(){function t(t){this.arraybuffer=void 0,this.dataView=void 0,this.offset=0,this.arraybuffer=t,this.dataView=new DataView(t)}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},v(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}])}(),ot=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ht=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}x(e,t);var i=e.prototype;return i.add=function(){for(var t=!1,e=arguments.length,i=new Array(e),n=0;n=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*ft.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),ft.lerp(t,e,ft.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=ft.intToBytes32(i):(e=ft.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ct=pt,pt.BLACK=Object.freeze(new ct(0,0,0,1)),pt.BLUE=Object.freeze(new ct(0,0,1,1)),pt.CYAN=Object.freeze(new ct(0,1,1,1)),pt.GRAY=Object.freeze(new ct(.5,.5,.5,1)),pt.GREEN=Object.freeze(new ct(0,1,0,1)),pt.MAGENTA=Object.freeze(new ct(1,0,1,1)),pt.RED=Object.freeze(new ct(1,0,0,1)),pt.WHITE=Object.freeze(new ct(1,1,1,1)),pt.YELLOW=Object.freeze(new ct(1,1,0,1));var mt,_t,vt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?ft.lerp(this._p0,this._p1,s):1===n?ft.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),gt=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new vt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=this.keys.map((function(t){return[].concat(t)})),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-xt*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-xt*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-xt*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=ft.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),wt=function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=void 0,this.y=void 0,this.z=void 0,3===t.length?(this.x=t[0],this.y=t[1],this.z=t[2]):(this.x=t,this.y=e,this.z=i)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.cross=function(t,e){var i=t.x,n=t.y,s=t.z,r=e.x,a=e.y,o=e.z;return this.x=n*o-a*s,this.y=s*r-o*i,this.z=i*a-r*n,this},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();mt=wt,wt.ZERO=Object.freeze(new mt(0,0,0)),wt.ONE=Object.freeze(new mt(1,1,1)),wt.UP=Object.freeze(new mt(0,1,0)),wt.DOWN=Object.freeze(new mt(0,-1,0)),wt.RIGHT=Object.freeze(new mt(1,0,0)),wt.LEFT=Object.freeze(new mt(-1,0,0)),wt.FORWARD=Object.freeze(new mt(0,0,-1)),wt.BACK=Object.freeze(new mt(0,0,1));var Et,At=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.getX=function(t){return void 0===t&&(t=new wt),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new wt),t.set(this.data[3],this.data[4],this.data[5])},e.getZ=function(t){return void 0===t&&(t=new wt),t.set(this.data[6],this.data[7],this.data[8])},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.setFromQuat=function(t){var e=t.x,i=t.y,n=t.z,s=t.w,r=e+e,a=i+i,o=n+n,h=e*r,l=e*a,c=e*o,u=i*a,d=i*o,f=n*o,p=s*r,m=s*a,_=s*o,v=this.data;return v[0]=1-(u+f),v[1]=l+_,v[2]=c-m,v[3]=l-_,v[4]=1-(h+f),v[5]=d+p,v[6]=c+m,v[7]=d-p,v[8]=1-(h+u),this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,v=l*r-a*h,g=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*v;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=v*S,b[7]=g*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();_t=At,At.IDENTITY=Object.freeze(new _t),At.ZERO=Object.freeze((new _t).set([0,0,0,0,0,0,0,0,0]));var Ct,Mt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*ft.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*ft.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*ft.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Et=Mt,Mt.ZERO=Object.freeze(new Et(0,0)),Mt.ONE=Object.freeze(new Et(1,1)),Mt.UP=Object.freeze(new Et(0,1)),Mt.DOWN=Object.freeze(new Et(0,-1)),Mt.RIGHT=Object.freeze(new Et(1,0)),Mt.LEFT=Object.freeze(new Et(-1,0));var Pt,Rt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ct=Rt,Rt.ZERO=Object.freeze(new Ct(0,0,0,0)),Rt.ONE=Object.freeze(new Ct(1,1,1,1));var It,Dt=new Mt,Lt=new wt,kt=new wt,Ot=new wt,Ft=new wt,Bt=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],v=a[8],g=a[9],y=a[10],x=a[11],S=a[12],b=a[13],T=a[14],w=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+v*s+S*r,h[1]=c*i+p*n+g*s+b*r,h[2]=u*i+m*n+y*s+T*r,h[3]=d*i+_*n+x*s+w*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+v*s+S*r,h[5]=c*i+p*n+g*s+b*r,h[6]=u*i+m*n+y*s+T*r,h[7]=d*i+_*n+x*s+w*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+v*s+S*r,h[9]=c*i+p*n+g*s+b*r,h[10]=u*i+m*n+y*s+T*r,h[11]=d*i+_*n+x*s+w*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+v*s+S*r,h[13]=c*i+p*n+g*s+b*r,h[14]=u*i+m*n+y*s+T*r,h[15]=d*i+_*n+x*s+w*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],v=r[12],g=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+v,o[13]=l*i+d*n+m*s+g,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Rt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ot.sub2(t,e).normalize(),kt.copy(i).normalize(),Lt.cross(kt,Ot).normalize(),kt.cross(Ot,Lt);var n=this.data;return n[0]=Lt.x,n[1]=Lt.y,n[2]=Lt.z,n[3]=0,n[4]=kt.x,n[5]=kt.y,n[6]=kt.z,n[7]=0,n[8]=Ot.x,n[9]=Ot.y,n[10]=Ot.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(Dt,e,i,n,r),this.setFrustum(-Dt.x,Dt.x,-Dt.y,Dt.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=ft.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],v=e[15],g=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,T=s*l-r*h,w=c*m-u*p,E=c*_-d*p,A=c*v-f*p,C=u*_-d*m,M=u*v-f*m,P=d*v-f*_,R=g*P-y*M+x*C+S*A-b*E+T*w;if(0===R)this.setIdentity();else{var I=1/R,D=this.data;D[0]=(o*P-h*M+l*C)*I,D[1]=(-n*P+s*M-r*C)*I,D[2]=(m*T-_*b+v*S)*I,D[3]=(-u*T+d*b-f*S)*I,D[4]=(-a*P+h*A-l*E)*I,D[5]=(i*P-s*A+r*E)*I,D[6]=(-p*T+_*x-v*y)*I,D[7]=(c*T-d*x+f*y)*I,D[8]=(a*M-o*A+l*w)*I,D[9]=(-i*M+n*A-r*w)*I,D[10]=(p*b-m*x+v*g)*I,D[11]=(-c*b+u*x-f*g)*I,D[12]=(-a*C+o*E-h*w)*I,D[13]=(i*C-n*E+s*w)*I,D[14]=(-p*S+m*y-_*g)*I,D[15]=(c*S-u*y+d*g)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,v=s*d,g=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+g))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+g))*h,b[6]=(v+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(v-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new wt),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new wt),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new wt),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new wt),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new wt),this.getX(Lt),this.getY(kt),this.getZ(Ot),t.set(Lt.length(),kt.length(),Ot.length()),t},e.setFromEulerAngles=function(t,e,i){t*=ft.DEG_TO_RAD,e*=ft.DEG_TO_RAD,i*=ft.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new wt),this.getScale(Ft);var e=Ft.x,i=Ft.y,n=Ft.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(ft.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},v(t,[{key:"scaleSign",get:function(){return this.getX(Lt),this.getY(kt),this.getZ(Ot),Lt.cross(Lt,kt),Lt.dot(Ot)<0?-1:1}}])}();Pt=Bt,Bt.IDENTITY=Object.freeze(new Pt),Bt.ZERO=Object.freeze((new Pt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Nt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(ft.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mulScalar=function(t,e){return void 0===e&&(e=this),this.x=e.x*t,this.y=e.y*t,this.z=e.z*t,this.w=e.w*t,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*ft.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof wt){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*ft.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i=t.data,n=i[0],s=i[1],r=i[2],a=i[4],o=i[5],h=i[6],l=i[8],c=i[9],u=i[10];return 0===(e=n*n+s*s+r*r)?this.set(0,0,0,1):(n*=e=1/Math.sqrt(e),s*=e,r*=e,0===(e=a*a+o*o+h*h)?this.set(0,0,0,1):(a*=e=1/Math.sqrt(e),o*=e,h*=e,0===(e=l*l+c*c+u*u)?this.set(0,0,0,1):(l*=e=1/Math.sqrt(e),c*=e,(u*=e)<0?n>o?this.set(1+n-o-u,s+a,l+r,h-c):this.set(s+a,1-n+o-u,h+c,l-r):n<-o?this.set(l+r,h+c,1-n-o+u,s-a):this.set(h-c,l-r,s-a,1+n+o+u),this.mulScalar(1/this.length()))))},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new wt);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();It=Nt,Nt.IDENTITY=Object.freeze(new It(0,0,0,1)),Nt.ZERO=Object.freeze(new It(0,0,0,0));var Ut=new wt,zt=new wt,Vt=new wt,Gt=new wt,Ht=new wt,Wt=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=new wt(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new wt,this._max=new wt,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,v=m.y,g=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,T=_-x,w=_+x,E=v-S,A=v+S,C=g-b,M=g+b;Tc&&(c=w),Ed&&(d=A),Cp&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Ut.copy(this.getMin()).sub(t.origin),n=zt.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=Vt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Gt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Ut,i=zt,n=Vt,s=Gt,r=Ht,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var v=1/Math.sqrt(m);l*=v,c*=v,u*=v}if((m=d*d+f*f+p*p)>0){var g=1/Math.sqrt(m);d*=g,f*=g,p*=g}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Ut,zt,i),this.setMinMax(Ut,zt)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Ut.add2(this.getMin(),t),zt.add2(this.getMax(),e),this.setMinMax(Ut,zt)},t}(),Xt=new wt,jt=new wt,qt=function(){function t(t,e){void 0===t&&(t=new wt),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Xt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Xt.sub2(t.center,this.center);var e=t.radius+this.radius;return Xt.lengthSq()<=e*e},t}(),Yt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),Kt=function(){function t(t,e){this.origin=new wt,this.direction=wt.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Zt=new Kt,Qt=new wt,Jt=new qt,$t=new Bt,te=function(){function t(t,e){void 0===t&&(t=new Bt),void 0===e&&(e=new wt(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new Wt(new wt,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Zt.origin),this._modelTransform.transformVector(t.direction,Zt.direction),e){var i=this._aabb._intersectsRay(Zt,e);return $t.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Zt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,Qt),this._aabb.containsPoint(Qt)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,Jt.center),Jt.radius=t.radius,!!this._aabb.intersectsBoundingSphere(Jt)},v(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}])}(),ee=function(){function t(t,e){void 0===t&&(t=wt.UP),void 0===e&&(e=0),this.normal=new wt,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),ie=new wt,ne=new wt,se=new wt,re=new wt,ae=new wt,oe=1e-6,he=function(){function t(t,e,i){void 0===t&&(t=wt.ZERO),void 0===e&&(e=wt.ZERO),void 0===i&&(i=wt.ZERO),this.v0=new wt,this.v1=new wt,this.v2=new wt,this.set(t,e,i)}var e=t.prototype;return e.set=function(t,e,i){return this.v0.copy(t),this.v1.copy(e),this.v2.copy(i),this},e.intersectsRay=function(t,e){ie.sub2(this.v1,this.v0),ne.sub2(this.v2,this.v0),se.cross(t.direction,ne);var i=ie.dot(se);if(i>-oe&&i1)return!1;ae.cross(re,ie);var r=n*t.direction.dot(ae);if(r<0||s+r>1)return!1;var a=n*ne.dot(ae);return a>oe&&(e instanceof wt&&e.copy(t.direction).mulScalar(a).add(t.origin),!0)},e.toString=function(){return"["+this.v0.toString()+", "+this.v1.toString()+", "+this.v2.toString()+"]"},t}(),le="linear",ce="inverse",ue="exponential",de=128,fe=10,pe=11,me=12,_e=13,ve=14,ge=15,ye=16,xe=17,Se=18,be=21,Te=24,we=25,Ee=26,Ae=27,Ce=37,Me=49,Pe=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[50,{name:"R16F",size:2}],[51,{name:"RG16F",size:4}],[pe,{name:"RGB16F",size:8}],[me,{name:"RGBA16F",size:8}],[_e,{name:"RGB32F",size:16}],[ve,{name:"RGBA32F",size:16}],[ge,{name:"R32F",size:4}],[ye,{name:"DEPTH",size:4}],[xe,{name:"DEPTHSTENCIL",size:4}],[Se,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[fe,{name:"DXT5",blockSize:16}],[be,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[Te,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[we,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[Ee,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[Ae,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}],[32,{name:"R8I",size:1,isInt:!0}],[33,{name:"R8U",size:1,isInt:!0}],[34,{name:"R16I",size:2,isInt:!0}],[35,{name:"R16U",size:2,isInt:!0}],[36,{name:"R32I",size:4,isInt:!0}],[Ce,{name:"R32U",size:4,isInt:!0}],[38,{name:"RG8I",size:2,isInt:!0}],[39,{name:"RG8U",size:2,isInt:!0}],[40,{name:"RG16I",size:4,isInt:!0}],[41,{name:"RG16U",size:4,isInt:!0}],[42,{name:"RG32I",size:8,isInt:!0}],[43,{name:"RG32U",size:8,isInt:!0}],[44,{name:"RGBA8I",size:4,isInt:!0}],[45,{name:"RGBA8U",size:4,isInt:!0}],[46,{name:"RGBA16I",size:8,isInt:!0}],[47,{name:"RGBA16U",size:8,isInt:!0}],[48,{name:"RGBA32I",size:16,isInt:!0}],[Me,{name:"RGBA32U",size:16,isInt:!0}]]),Re=function(t){var e;return void 0!==(null==(e=Pe.get(t))?void 0:e.blockSize)},Ie=function(t){var e;return!0===(null==(e=Pe.get(t))?void 0:e.isInt)},De=function(t){switch(t){case ge:case _e:case ve:return Float32Array;case 36:case 42:case 48:return Int32Array;case Ce:case 43:case Me:return Uint32Array;case 34:case 40:case 46:return Int16Array;case 35:case 41:case 47:case 3:case 4:case 5:case 50:case 51:case pe:case me:return Uint16Array;case 32:case 38:case 44:return Int8Array;default:return Uint8Array}},Le="POSITION",ke="NORMAL",Oe="TANGENT",Fe="BLENDWEIGHT",Be="BLENDINDICES",Ne="COLOR",Ue="TEXCOORD",ze="TEXCOORD0",Ve="TEXCOORD1",Ge="TEXCOORD2",He="TEXCOORD3",We="TEXCOORD4",Xe="TEXCOORD5",je="TEXCOORD6",qe="TEXCOORD7",Ye="ATTR",Ke="ATTR0",Ze="ATTR1",Qe="ATTR2",Je="ATTR3",$e="ATTR4",ti="ATTR5",ei="ATTR6",ii="ATTR7",ni="ATTR8",si="ATTR9",ri="ATTR10",ai="ATTR11",oi="ATTR12",hi="ATTR13",li="ATTR14",ci="ATTR15",ui="default",di="rgbm",fi="rgbe",pi="rgbp",mi="swizzleGGGR",_i="2d",vi="2d-array",gi="cube",yi="3d",xi="none",Si="cube",bi="equirect",Ti="octahedral",wi="wgsl",Ei=10,Ai=11,Ci=13,Mi=14,Pi=26,Ri=27,Ii=28,Di=29,Li=30,ki=33,Oi=36,Fi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","","","","sampler2DArray","uint","uvec2","uvec3","uvec4","","","","","","","","","","","","","isampler2D","usampler2D","isamplerCube","usamplerCube","isampler3D","usampler3D","isampler2DArray","usampler2DArray"],Bi=new Uint8Array([4,4,6,6,6,6,4,4,4,4,4,4,6,6,6,4,4,6,4,4,4,6,6,6,6,4,5,5,5,5,4,5,4,4,5,4,4,5,4,4,5,4,4,5,4,5,4,5,4,5]),Ni="webgl1",Ui="webgl2",zi="webgpu",Vi="null",Gi=["mesh","view"],Hi="default",Wi=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Uint16Array],Xi=[1,1,2,2,4,4,4,2],ji={Int8Array:0,Uint8Array:1,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},qi=[Uint8Array,Uint16Array,Uint32Array],Yi=[1,2,4],Ki={};Ki[Le]=0,Ki[ke]=1,Ki[Fe]=2,Ki[Be]=3,Ki[Ne]=4,Ki[ze]=5,Ki[Ve]=6,Ki[Ge]=7,Ki[He]=8,Ki[We]=9,Ki[Xe]=10,Ki[je]=11,Ki[qe]=12,Ki[Oe]=13,Ki[Ke]=0,Ki[Ze]=1,Ki[Qe]=2,Ki[Je]=3,Ki[$e]=4,Ki[ti]=5,Ki[ei]=6,Ki[ii]=7,Ki[ni]=8,Ki[si]=9,Ki[ri]=10,Ki[ai]=11,Ki[oi]=12,Ki[hi]=13,Ki[li]=14,Ki[ci]=15;var Zi,Qi="1.65",Ji=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},tn=function(t,e,i){void 0===i&&(i=1);var n=i<3){var a;this.usage=null!=(a=arguments[3])?a:0,s=arguments[4]}this.device=t,this.format=e,this.numVertices=i,this.id=fn++,this.impl=t.createVertexBufferImpl(this,e,n),this.numBytes=e.verticesByteSize?e.verticesByteSize:e.size*i,this.adjustVramSizeTracking(t._vram,this.numBytes),s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.vb+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getUsage=function(){return this.usage},e.getNumVertices=function(){return this.numVertices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},t}();function mn(t){for(var e=0,i=0,n=t.length;i>>0}var vn,gn=function(){function t(){this._cache=new Map}var e=t.prototype;return e.get=function(t,e){var i=this;return this._cache.has(t)||(this._cache.set(t,e()),t.on("destroy",(function(){i.remove(t)})),t.on("devicelost",(function(){var e;null==(e=i._cache.get(t))||null==e.loseContext||e.loseContext(t)}))),this._cache.get(t)},e.remove=function(t){var e;null==(e=this._cache.get(t))||null==e.destroy||e.destroy(t),this._cache.delete(t)},t}(),yn=new rn,xn=[2,4,8,12,16],Sn=new gn,bn=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Xi[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?m:1),this.autoResolve=null==(r=t.autoResolve)||r,this.name=t.name,this.name)||(this.name=null==(f=this._colorBuffer)?void 0:f.name);this.name||(this.name=null==(p=this._depthBuffer)?void 0:p.name);this.name||(this.name="Untitled"),this.flipY=null!=(a=t.flipY)&&a,this.validateMrt(),this.impl=d.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){if(this.width!==t||this.height!==e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)}},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},v(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}])}(),Mn=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=e.format.uniformBufferFormats;e.uniformBuffers.forEach((function(t,e){var n=s[e].slot,r=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:n,resource:{buffer:r,offset:0,size:t.format.byteSize}})}));var r=e.format.textureFormats;e.textures.forEach((function(e,s){var a=e.impl,o=n.textureFormats[s],h=r[s].slot,l=a.getView(t);if(i.push({binding:h,resource:l}),o.hasSampler){var c=a.getSampler(t,o.sampleType);i.push({binding:h+1,resource:c})}}));var a=e.format.storageTextureFormats;e.storageTextures.forEach((function(e,n){var s=e.impl,r=a[n].slot,o=s.getView(t);i.push({binding:r,resource:o})}));var o=e.format.storageBufferFormats;return e.storageBuffers.forEach((function(t,e){var n=t.impl.buffer,s=o[e].slot;i.push({binding:s,resource:{buffer:n}})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),Pn=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),Rn=[];Rn[0]="",Rn[1]="r8unorm",Rn[2]="rg8unorm",Rn[3]="",Rn[4]="",Rn[5]="",Rn[6]="rgba8unorm",Rn[7]="rgba8unorm",Rn[8]="bc1-rgba-unorm",Rn[9]="bc2-rgba-unorm",Rn[10]="bc3-rgba-unorm",Rn[11]="",Rn[12]="rgba16float",Rn[50]="r16float",Rn[51]="rg16float",Rn[13]="",Rn[14]="rgba32float",Rn[15]="r32float",Rn[16]="depth32float",Rn[17]="depth24plus-stencil8",Rn[18]="rg11b10ufloat",Rn[19]="",Rn[20]="",Rn[21]="",Rn[22]="etc2-rgb8unorm",Rn[23]="etc2-rgba8unorm",Rn[24]="",Rn[25]="",Rn[26]="",Rn[27]="",Rn[28]="astc-4x4-unorm",Rn[29]="",Rn[30]="",Rn[31]="bgra8unorm",Rn[32]="r8sint",Rn[33]="r8uint",Rn[34]="r16sint",Rn[35]="r16uint",Rn[36]="r32sint",Rn[37]="r32uint",Rn[38]="rg8sint",Rn[39]="rg8uint",Rn[40]="rg16sint",Rn[41]="rg16uint",Rn[42]="rg32sint",Rn[43]="rg32uint",Rn[44]="rgba8sint",Rn[45]="rgba8uint",Rn[46]="rgba16sint",Rn[47]="rgba16uint",Rn[48]="rgba32sint",Rn[49]="rgba32uint";var In=[];In[0]="filtering",In[1]="non-filtering",In[2]="comparison",In[3]="comparison",In[4]="comparison";var Dn=[];Dn[0]="float",Dn[1]="unfilterable-float",Dn[2]="depth",Dn[3]="sint",Dn[4]="uint";var Ln=new rn,kn=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=Ln.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.createDescriptor=function(t){var e=[],i="";return t.uniformBufferFormats.forEach((function(t){var n=Pn.shaderStage(t.visibility);i+="#"+t.slot+"U:"+n,e.push({binding:t.slot,visibility:n,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var n=Pn.shaderStage(t.visibility),s=t.sampleType,r=t.textureDimension,a=!1,o=Dn[s];if(i+="#"+t.slot+"T:"+n+"-"+o+"-"+r+"-"+a,e.push({binding:t.slot,visibility:n,texture:{sampleType:o,viewDimension:r,multisampled:a}}),t.hasSampler){var h=In[s];i+="#"+(t.slot+1)+"S:"+n+"-"+h,e.push({binding:t.slot+1,visibility:n,sampler:{type:h}})}})),t.storageTextureFormats.forEach((function(t){var n=t.format,s=t.textureDimension,r=t.read,a=t.write;i+="#"+t.slot+"ST:"+n+"-"+s+"-"+(r?"r1":"r0")+"-"+(a?"w1":"w0"),e.push({binding:t.slot,visibility:GPUShaderStage.COMPUTE,storageTexture:{access:r?a?"read-write":"read-only":"write-only",format:Rn[n],viewDimension:s}})})),t.storageBufferFormats.forEach((function(t){var n=t.readOnly,s=Pn.shaderStage(t.visibility);i+="#"+t.slot+"SB:"+s+"-"+(n?"ro":"rw"),e.push({binding:t.slot,visibility:s,buffer:{type:n?"read-only-storage":"storage"}})})),{key:i,descr:{entries:e}}},t}(),On=function(){function t(t){void 0===t&&(t=0),this.buffer=null,this.usageFlags=0,this.usageFlags=t}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.allocate=function(t,e){this.buffer=t.wgpu.createBuffer({size:e,usage:this.usageFlags})},e.unlock=function(t,e){var i,n,s=t.wgpu;if(!this.buffer){var r=e.byteLength+3&-4;this.usageFlags|=GPUBufferUsage.COPY_DST,this.allocate(t,r)}var a=null!=(i=e.byteOffset)?i:0,o=new Uint8Array(null!=(n=e.buffer)?n:e,a,e.byteLength),h=new Uint8Array(this.buffer.size);h.set(o),s.queue.writeBuffer(this.buffer,0,h,0,h.length)},e.read=function(t,e,i,n){return t.readStorageBuffer(this,e,i,n)},e.write=function(t,e,i,n,s){t.writeStorageBuffer(this,e,i,n,s)},e.clear=function(t,e,i){t.clearStorageBuffer(this,e,i)},v(t,[{key:"initialized",get:function(){return!!this.buffer}}])}(),Fn=function(t){function e(e,i){var n;return(n=t.call(this,16|(null!=i&&i.storage?de:0))||this).format=null,n.format=1===e.format?"uint16":"uint32",n}return x(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.storage)},e}(On),Bn=function(t,e){if(t.length!==e.length)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),Vn=function(){function t(t){this.device=t}return t.prototype.getPipelineLayout=function(t){var e=[];t.forEach((function(t){e.push(t.bindGroupLayout)}));var i={bindGroupLayouts:e};return this.device.wgpu.createPipelineLayout(i)},t}(),Gn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],Hn=["add","subtract","reverse-subtract","min","max"],Wn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],Xn=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],jn=["none","back","front"],qn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Yn=function(){this.pipeline=void 0,this.hashes=void 0},Kn=function(t){function e(e){var i;return(i=t.call(this,e)||this).lookupHashes=new Uint32Array(13),i.vertexBufferLayout=new zn,i.cache=new Map,i}x(e,t);var i=e.prototype;return i.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,v,g,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(v=r[1])?void 0:v.key)?_:0,x[10]=null!=(g=null==(y=r[2])?void 0:y.key)?g:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=_n(x),b=this.cache.get(S);if(b)for(var T=0;T0){var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},e}(Vn),Zn=function(t){function e(){return t.apply(this,arguments)||this}x(e,t);var i=e.prototype;return i.get=function(t,e){var i=this.getPipelineLayout([e.impl]);return this.create(t,i)},i.create=function(t,e){var i=this.device.wgpu,n=t.impl,s={compute:{module:n.getComputeShaderModule(),entryPoint:n.computeEntryPoint},layout:e};return i.createComputePipeline(s)},e}(Vn),Qn=new rn,Jn=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),$n=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=Qn.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new Jn),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s0)switch(e){case 2:this.updateType=17;break;case 1:this.updateType=Li;break;case Pi:this.updateType=31;break;case 0:this.updateType=32;break;case 3:this.updateType=21;break;case 6:this.updateType=ki;break;case Ri:this.updateType=34;break;case 9:this.updateType=35;break;case 4:this.updateType=22;break;case 7:this.updateType=Oi;break;case Ii:this.updateType=37;break;case Ei:this.updateType=38;break;case 5:this.updateType=23;break;case 8:this.updateType=39;break;case Di:this.updateType=40;break;case Ai:this.updateType=41;break;case Mi:this.updateType=24}this.count=i;var n=this.numComponents;i&&(n=ft.roundUp(n,4)),this.byteSize=4*n,i&&(this.byteSize*=i)}return t.prototype.calculateOffset=function(t){var e=this.byteSize<=8?this.byteSize:16;this.count&&(e=16),t=ft.roundUp(t,e),this.offset=t/4},v(t,[{key:"isArrayType",get:function(){return this.count>0}}])}(),ns=function(){function t(t,e){this.byteSize=0,this.map=new Map,this.scope=t.scope,this.uniforms=e;for(var i=0,n=0;n>e,1)},t.calcMipLevelsCount=function(t,e,i){return void 0===i&&(i=1),1+Math.floor(Math.log2(Math.max(t,e,i)))},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=Pe.get(n),h=null!=(s=null==(r=Pe.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==Te&&n!==we||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),Ts=[];Ts[0]="repeat",Ts[1]="clamp-to-edge",Ts[2]="mirror-repeat";var ws=[];ws[0]={level:"nearest",mip:"nearest"},ws[1]={level:"linear",mip:"nearest"},ws[2]={level:"nearest",mip:"nearest"},ws[3]={level:"nearest",mip:"linear"},ws[4]={level:"linear",mip:"nearest"},ws[5]={level:"linear",mip:"linear"};var Es=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=Rn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:i.array?i.arrayLength:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC|(Re(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|(i.storage?GPUTextureUsage.STORAGE_BINDING:0)},this.gpuTexture=n.createTexture(this.descr),this.texture.format===xe&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":c.array?"2d-array":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:Ts[n.addressU],addressModeV:Ts[n.addressV],addressModeW:Ts[n.addressW]};if(!e&&n.compareOnRead&&(e=2),2===e||3===e||4===e)s.compare="less",s.magFilter="linear",s.minFilter="linear";else if(1===e)s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest";else{!t.textureFloatFilterable&&(n.format===ve||n.format===me)||this.texture.format===xe||Ie(this.texture.format)?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=ws[n.magFilter].level,s.minFilter=ws[n.minFilter].level,s.mipmapFilter=ws[n.minFilter].mip)}var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?ft.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=!1,s=e.requiredMipLevels,r=0;r<=|&+-]/g,Bs=/include[ \t]+"([\w-]+)"\r?(?:\n|$)/g,Ns=function(){function t(){}return t.run=function(t,e,i){void 0===e&&(e=new Map),void 0===i&&(i=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var n=new Map;if(i){var s=new Map,r=t.match(/(pcFragColor[1-8])\b/g);null==r||r.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);s.set(i,(null!=(e=s.get(i))?e:0)+1)})),s.forEach((function(t,e){1===t&&n.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,n,e);var a=new Map;return n.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&a.set(e,t)})),t=this.RemoveEmptyLines(t),t=this.processArraySize(t,a)},t.processArraySize=function(t,e){return null!==t&&e.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t},t.RemoveEmptyLines=function(t){return null!==t&&(t=(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).join("\n")).replace(/(\n\n){3,}/g,"\n\n")),t},t._preprocess=function(e,i,n){void 0===i&&(i=new Map);for(var s,r=e,a=[],o=!1;null!==(s=Ms.exec(e));){var h=s[1];switch(h){case"define":Ps.lastIndex=s.index;var l=Ps.exec(e);o||(o=null===l);var c=l[1];ks.lastIndex=l.index;var u=ks.exec(c)[1],d=c.substring(u.length).trim();""===d&&(d="true"),t._keep(a)&&i.set(u,d),Ms.lastIndex=l.index+l[0].length;break;case"undef":Is.lastIndex=s.index;var f=Is.exec(e),p=f[1].trim();t._keep(a)&&i.delete(p),Ms.lastIndex=f.index+f[0].length;break;case"extension":Rs.lastIndex=s.index;var m=Rs.exec(e);if(o||(o=null===m),m){var _=m[1];t._keep(a)&&i.set(_,"true")}Ms.lastIndex=m.index+m[0].length;break;case"ifdef":case"ifndef":case"if":Ds.lastIndex=s.index;var v=Ds.exec(e),g=v[2],y=t.evaluate(g,i);o||(o=y.error);var x=y.result;"ifndef"===h&&(x=!x),a.push({anyKeep:x,keep:x,start:s.index,end:Ds.lastIndex}),Ms.lastIndex=v.index+v[0].length;break;case"endif":case"else":case"elif":Ls.lastIndex=s.index;var S=Ls.exec(e),b=a.pop(),T=b.keep?e.substring(b.end,s.index):"";e=e.substring(0,b.start)+T+e.substring(Ls.lastIndex),Ms.lastIndex=b.start+T.length;var w=S[1];if("else"===w||"elif"===w){var E=!1;if(!b.anyKeep)if("else"===w)E=!b.keep;else{var A=t.evaluate(S[2],i);E=A.result,o||(o=A.error)}a.push({anyKeep:b.anyKeep||E,keep:E,start:Ms.lastIndex,end:Ms.lastIndex})}break;case"include":Bs.lastIndex=s.index;var C=Bs.exec(e);o||(o=null===C);var M=C[1].trim();if(t._keep(a)){var P=null==n?void 0:n.get(M);P?(e=e.substring(0,C.index-1)+P+e.substring(Bs.lastIndex),Ms.lastIndex=C.index):(console.error("Include not found: "+M),o=!0)}}}return o?(console.warn("Failed to preprocess shader: ",{source:r}),r):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),w.get(a))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.clearStorageBuffer=function(t,e,i){var n;void 0===e&&(e=0),void 0===i&&(i=t.byteSize);var s=null!=(n=this.commandEncoder)?n:this.wgpu.createCommandEncoder();if(s.clearBuffer(t.buffer,e,i),!this.commandEncoder){var r=s.finish();this.addCommandBuffer(r)}},n.readStorageBuffer=function(t,e,i,n,s){var r,a=this;void 0===e&&(e=0),void 0===i&&(i=t.byteSize-e),void 0===n&&(n=null),void 0===s&&(s=!1);var o=this.createBufferImpl(9);o.allocate(this,i);var h=o.buffer,l=null!=(r=this.commandEncoder)?r:this.wgpu.createCommandEncoder();if(l.copyBufferToBuffer(t.buffer,e,h,0,i),!this.commandEncoder){var c=l.finish();this.addCommandBuffer(c)}return new Promise((function(t,e){var r=function(){null==h||h.mapAsync(GPUMapMode.READ).then((function(){null!=n||(n=new Uint8Array(i));var e=h.getMappedRange(0,i),s=n.constructor;n.set(new s(e)),h.unmap(),o.destroy(a),t(n)}))};s?(a.submit(),r()):setTimeout((function(){r()}))}))},n.writeStorageBuffer=function(t,e,i,n,s){void 0===e&&(e=0),void 0===n&&(n=0),this.wgpu.queue.writeBuffer(t.buffer,e,i,n,s)},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(En),ar=0,or=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,v,g,y,x,S,b,T;(void 0===e&&(e={}),this.name=void 0,this._gpuSize=0,this.id=ar++,this._invalid=!1,this._lockedLevel=-1,this._lockedMode=0,this.renderVersionDirty=0,this._storage=!1,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=Re(this._format),this._integerFormat=Ie(this._format),this._integerFormat&&(e.mipmaps=!1,e.minFilter=0,e.magFilter=0),t.supportsVolumeTextures)?(this._volume=null!=(S=e.volume)&&S,this._depth=Math.floor(null!=(b=e.depth)?b:1),this._arrayLength=Math.floor(null!=(T=e.arrayLength)?T:0)):(this._volume=!1,this._depth=1,this._arrayLength=0);this._storage=null!=(a=e.storage)&&a,this._cubemap=null!=(o=e.cubemap)&&o,this.fixCubemapSeams=null!=(h=e.fixCubemapSeams)&&h,this._flipY=null!=(l=e.flipY)&&l,this._premultiplyAlpha=null!=(c=e.premultiplyAlpha)&&c,this._mipmaps=null==(u=null!=(d=e.mipmaps)?d:e.autoMipmap)||u,this._minFilter=null!=(f=e.minFilter)?f:5,this._magFilter=null!=(p=e.magFilter)?p:1,this._anisotropy=null!=(m=e.anisotropy)?m:1,this._addressU=null!=(_=e.addressU)?_:0,this._addressV=null!=(v=e.addressV)?v:0,this._addressW=null!=(g=e.addressW)?g:0,this._compareOnRead=null!=(y=e.compareOnRead)&&y,this._compareFunc=null!=(x=e.compareFunc)?x:1,this.type=ui,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?di:ui:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?mi:ui),this.projection=xi,this._cubemap?this.projection=Si:e.projection&&e.projection!==Si&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=Math.floor(t),this._height=Math.floor(e),this._depth=Math.floor(i),this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){var e,i,n;void 0===t&&(t={}),null!=(e=t).level||(e.level=0),null!=(i=t).face||(i.face=0),null!=(n=t).mode||(n.mode=2),this._lockedMode=t.mode,this._lockedLevel=t.level;var s=this.cubemap?this._levels[t.face]:this._levels;if(null===s[t.level]){var r=Math.max(1,this._width>>t.level),a=Math.max(1,this._height>>t.level),o=Math.max(1,this._depth>>t.level),h=new ArrayBuffer(bs.calcLevelGpuSize(r,a,o,this._format));s[t.level]=new(De(this._format))(h)}return s[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedMode,2===this._lockedMode&&this.upload(),this._lockedLevel=-1,this._lockedMode=0},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=m(S().mark((function t(){var e,i,n,s=this;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=S().mark((function t(){var i,r,a,o;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new Cn({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),v(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?bs.calcMipLevelsCount(this.width,this.height):1}},{key:"lockedMode",get:function(){return this._lockedMode}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(Ie(this._format)||(this._minFilter=t,this.propertyChanged(1)))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(Ie(this._format)||(this._magFilter=t,this.propertyChanged(2)))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this.device.isWebGPU||Ie(this._format)||(this._mipmaps=t),t&&(this._needsMipmapsUpload=!0))}},{key:"storage",get:function(){return this._storage}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return bs.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"array",get:function(){return this._arrayLength>0}},{key:"arrayLength",get:function(){return this._arrayLength}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return ft.powerOfTwo(this._width)&&ft.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case di:return"rgbm";case fi:return"rgbe";case pi:return"rgbp";default:return this.format===pe||this.format===_e||this.format===me||this.format===ve||Ie(this.format)?"linear":"srgb"}}}])}(),hr=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s=t.gl;if(this.bufferId)s.bindBuffer(i,this.bufferId),s.bufferSubData(i,0,n);else{var r;switch(e){case 0:r=s.STATIC_DRAW;break;case 1:r=s.DYNAMIC_DRAW;break;case 2:r=s.STREAM_DRAW;break;case 3:r=t.isWebGL2?s.DYNAMIC_COPY:s.STATIC_DRAW}this.bufferId=s.createBuffer(),s.bindBuffer(i,this.bufferId),s.bufferData(i,n,r)}},v(t,[{key:"initialized",get:function(){return!!this.bufferId}}])}(),lr=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var gr=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this._glCreated=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=vr(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,this._glFormat,this._glPixelType,h):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?this._glCreated&&l?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glInternalFormat,l):i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&l?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,l):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else if(e._volume)e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n));else if(e.array&&"object"==typeof n){if(e._arrayLength===n.length)if(e._compressed)for(var c=0;ct.maxTextureSize||n.height>t.maxTextureSize)&&(n=vr(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height));var d=n.width||n.videoWidth,f=n.height||n.videoHeight;t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&e._width===d&&e._height===f&&!t._isImageVideoInterface(n)?i.texSubImage2D(i.TEXTURE_2D,r,0,0,this._glFormat,this._glPixelType,n):(i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n),0===r&&(e._width=d,e._height=f))}else s=1/Math.pow(2,r),e._compressed?this._glCreated&&n?i.compressedTexSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),this._glInternalFormat,n):i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&n?i.texSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,n):i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n));e._mipmapsUploaded=0!==r}r++}else r++;if(e._needsUpload)if(e._cubemap)for(var p=0;p<6;p++)e._levelsUpdated[0][p]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&!e._integerFormat&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize),this._glCreated=!0}},t}(),yr=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),xr=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var v=i.createRenderbuffer();this._glMsaaColorBuffers.push(v);var g=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,v),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,g,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,v)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s);if(e[a]);else{var o=Mr[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++)}n=t.indexOf("attribute",n+1)}return e},t}(),Rr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),Ir=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}x(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new Rr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f=120||115===h)||"android"===G.name&&h>=132)&&(i.antialias=!1)}}var l=null;if(s.backBufferAntialias=null!=(n=i.antialias)&&n,i.antialias=!1,i.gl)l=i.gl;else for(var c=void 0===i.preferWebGl2||i.preferWebGl2?["webgl2","webgl","experimental-webgl"]:["webgl","experimental-webgl"],u=0;u0;var x=s.vertexUniformsCount;return x-=16,x-=8,x-=1,x-=16,s.boneLimit=Math.floor(x/3),s.boneLimit=Math.min(s.boneLimit,128),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=Or(l,l.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=Or(l,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=me:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=ve),s.postInit(),s}x(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new Ir(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new Cn({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new lr},n.createIndexBufferImpl=function(t){return new cr(t)},n.createShaderImpl=function(t){return new _r(t)},n.createTextureImpl=function(t){return new gr},n.createRenderTargetImpl=function(t){return new xr},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,Dr)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,ft.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?n.drawElementsInstanced(S,b,w,E,e):n.drawElements(S,b,w,E)}else{var A=t.base;e>0?n.drawArraysInstanced(S,A,b,e):n.drawArrays(S,A,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(n.endTransformFeedback(),n.bindBufferBase(n.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(nn.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(on.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m),s.stencilMask(255),this.stencilWriteMaskFront=255,this.stencilWriteMaskBack=255}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=m(S().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,m=this;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return m.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=wn.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=wn.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST));var a=t.depthBias,o=t.depthBiasSlope;a||o?(this.depthBiasEnabled||(this.depthBiasEnabled=!0,this.gl.enable(this.gl.POLYGON_OFFSET_FILL)),i.polygonOffset(o,a)):this.depthBiasEnabled&&(this.depthBiasEnabled=!1,this.gl.disable(this.gl.POLYGON_OFFSET_FILL)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(0===t)this.gl.disable(this.gl.CULL_FACE);else{0===this.cullMode&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t,e){void 0===e&&(e=!1),t!==this.shader&&(this.shader=t,this.shaderAsyncCompile=e,this.shaderValid=void 0)},n.activateShader=function(t){var e=this.shader,i=e.impl;void 0===this.shaderValid&&(e.failed?this.shaderValid=!1:e.ready||(this.shaderAsyncCompile?i.isLinked(t)?i.finalize(this,e)||(e.failed=!0,this.shaderValid=!1):this.shaderValid=!1:i.finalize(this,e)||(e.failed=!0,this.shaderValid=!1))),void 0===this.shaderValid&&(this.gl.useProgram(i.glProgram),this.shaderValid=!0)},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},v(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new zs(t,Pr.createDefinition(t,{name:"ptest1",vertexCode:Lr,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new zs(t,Pr.createDefinition(t,{name:"ptest2",vertexCode:Lr,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:ve,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new or(t,n),r=new Cn({colorBuffer:s,depth:!1});kr(t,r,e),n.format=7;var a=new or(t,n),o=new Cn({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),kr(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}])}(En),Br=function(){function t(){}return t.prototype.unlock=function(t){},t}(),Nr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),Ur=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),zr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),Vr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),Gr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=Vi,n.samples=1,n}x(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.updateBegin=function(){},i.updateEnd=function(){},i.readPixels=function(t,e,i,n,s){},i.createVertexBufferImpl=function(t,e){return new Vr(t,e)},i.createIndexBufferImpl=function(t){return new Br(t)},i.createShaderImpl=function(t){return new Ur(t)},i.createTextureImpl=function(t){return new zr(t)},i.createRenderTargetImpl=function(t){return new Nr(t)},i.draw=function(t,e,i){},i.setShader=function(t,e){},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.clear=function(t){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(En);var Hr=function(){this.value=void 0,this.scopeId=null},Wr=function(){function t(t,e,i){void 0===i&&(i="Unnamed"),this.shader=null,this.name=void 0,this.parameters=new Map,this.countX=1,this.countY=void 0,this.countZ=void 0,this.device=t,this.shader=e,this.name=i,t.supportsCompute&&(this.impl=t.createComputeImpl(this))}var e=t.prototype;return e.setParameter=function(t,e){var i=this.parameters.get(t);i||((i=new Hr).scopeId=this.device.scope.resolve(t),this.parameters.set(t,i)),i.value=e},e.getParameter=function(t){var e;return null==(e=this.parameters.get(t))?void 0:e.value},e.deleteParameter=function(t){this.parameters.delete(t)},e.applyParameters=function(){for(var t,e=g(this.parameters);!(t=e()).done;){var i=t.value[1];i.scopeId.setValue(i.value)}},e.setupDispatch=function(t,e,i){this.countX=t,this.countY=e,this.countZ=i},t}(),Xr=0,jr=function(){function t(t,e,i,n,s,r){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=Xr++,this.impl=t.createIndexBufferImpl(this,r);var a=Yi[e];this.bytesPerIndex=a,this.numBytes=this.numIndices*a,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),Pa()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"!==i.type&&"mouseup"!==i.type||(this.button=i.button),this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=null!=(n=i.ctrlKey)&&n,this.altKey=null!=(s=i.altKey)&&s,this.shiftKey=null!=(r=i.shiftKey)&&r,this.metaKey=null!=(a=i.metaKey)&&a,this.event=i},Ia=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._target=null,i._attached=!1,i._upHandler=i._handleUp.bind(i),i._downHandler=i._handleDown.bind(i),i._moveHandler=i._handleMove.bind(i),i._wheelHandler=i._handleWheel.bind(i),i._contextMenuHandler=function(t){t.preventDefault()},i.attach(e),i}x(e,t),e.isPointerLocked=function(){return Pa()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){var i=function(){t(),document.removeEventListener("pointerlockchange",i)},n=function(){e(),document.removeEventListener("pointerlockerror",n)};t&&document.addEventListener("pointerlockchange",i,!1),e&&document.addEventListener("pointerlockerror",n,!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){var e=function(){t(),document.removeEventListener("pointerlockchange",e)};t&&document.addEventListener("pointerlockchange",e,!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new Ra(this,t);e.event&&this.fire(ya,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new Ra(this,t);e.event&&this.fire(va,e)},i._handleMove=function(t){var e=new Ra(this,t);e.event&&(this.fire(ga,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new Ra(this,t);e.event&&this.fire(xa,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P);Ia.EVENT_MOUSEMOVE=ga,Ia.EVENT_MOUSEDOWN=va,Ia.EVENT_MOUSEUP=ya,Ia.EVENT_MOUSEWHEEL=xa;var Da=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=void 0,this._mouse=void 0,this._gamepads=void 0,this._element=null,this._actions={},this._axes={},this._axesValues={},this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:ma,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:pa,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:_a,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(ga,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(ga,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new Ia,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new Ma,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),La=Object.freeze([]),ka=function(){return La};"undefined"!=typeof navigator&&(ka=(navigator.getGamepads||navigator.webkitGetGamepads||ka).bind(navigator));var Oa={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},Fa={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},Ba={"Product: 0268":"PS3"},Na={};function Ua(t){var e=Na[t.id];if(e)return e;for(var i in Ba)if(-1!==t.id.indexOf(i)){var n=Ba[i];if(!t.mapping){var s=Fa["RAW_"+n];if(s)return s}return Fa[n]}if("xr-standard"===t.mapping)return Fa.DEFAULT_XR;var r=Fa.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),Ha=Object.freeze(new Ga(0)),Wa=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new Ga(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=Oa.axes,r=Oa.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;aza?e:0},v(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}])}(),Xa=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(e),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(e),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}x(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new Wa(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(Sa,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(ba,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=ka(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===le?o=1-s*(a-i)/(n-i):r===ce?o=i/(i+s*(a-i)):r===ue&&(o=Math.pow(a/i,-s)),ft.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var io=function(){function t(t){this._manager=void 0,this.position=new wt,this.velocity=new wt,this.orientation=new Bt,this._manager=t}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},v(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}])}(),no="running",so=["click","touchstart","mousedown"],ro=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(e),e._userSuspended=!1,e.listener=new io(e),e._volume=1,e}x(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===no&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==no&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return $a&&(i=new $a(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return to&&((n=new to(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===no||this._resume()},i._registerUnlockListeners=function(){var t=this;so.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;so.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},v(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=ft.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==no&&this._registerUnlockListeners()),this._context}}])}(P),ao=v((function(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}),[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]);function oo(t,e){return t%e||0}var ho=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?ft.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,Ja()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(s)):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(s),s._timeUpdateHandler=s._onTimeUpdate.bind(s),s._endedHandler=s._onEnded.bind(s),s._createSource()),s}x(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=oo(this._startOffset,this.duration);t=oo(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=oo(this._startOffset,this.duration),t=oo(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=oo(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,oo(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=oo((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},v(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?oo(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=ft.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}])}(P);ho.EVENT_PLAY="play",ho.EVENT_PAUSE="pause",ho.EVENT_RESUME="resume",ho.EVENT_STOP="stop",ho.EVENT_END="end",Ja()||(Object.assign(ho.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=oo(this._startOffset,this.duration);t=oo(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>oo(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=oo(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(ho.prototype,"volume",{get:function(){return this._volume},set:function(t){t=ft.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(ho.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(ho.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(ho.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=oo(this._startTime+oo(t,this.duration),this._sound.duration),this._startOffset=null))}}));var lo=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new wt,s._velocity=new wt,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:le,s}return x(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},v(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}])}(ho);if(!Ja()){var co=new wt;Object.defineProperty(lo.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(co=co.sub2(t,e)).length();if(an)return 0;var o=0;return r===le?o=1-s*(a-i)/(n-i):r===ce?o=i/(i+s*(a-i)):r===ue&&(o=Math.pow(a/i,-s)),ft.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(lo.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(lo.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(lo.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(lo.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var uo="none",fo="linear",po={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},mo="mul",_o=32,vo=128,go=256,yo=512,xo=1024,So=2048,bo=4096,To=8192,wo="infinite",Eo="dome",Ao="none",Co="bayer8",Mo="\nvec3 decodeLinear(vec4 raw) {\n\treturn raw.rgb;\n}\nfloat decodeGamma(float raw) {\n\treturn pow(raw, 2.2);\n}\nvec3 decodeGamma(vec3 raw) {\n\treturn pow(raw, vec3(2.2));\n}\nvec3 decodeGamma(vec4 raw) {\n\treturn pow(raw.xyz, vec3(2.2));\n}\nvec3 decodeRGBM(vec4 raw) {\n\tvec3 color = (8.0 * raw.a) * raw.rgb;\n\treturn color * color;\n}\nvec3 decodeRGBP(vec4 raw) {\n\tvec3 color = raw.rgb * (-raw.a * 7.0 + 8.0);\n\treturn color * color;\n}\nvec3 decodeRGBE(vec4 raw) {\n\tif (raw.a == 0.0) {\n\t\treturn vec3(0.0, 0.0, 0.0);\n\t} else {\n\t\treturn raw.xyz * pow(2.0, raw.w * 255.0 - 128.0);\n\t}\n}\nvec4 passThrough(vec4 raw) {\n\treturn raw;\n}\n",Po="\nvec4 encodeLinear(vec3 source) {\n\treturn vec4(source, 1.0);\n}\nvec4 encodeGamma(vec3 source) {\n\treturn vec4(pow(source + 0.0000001, vec3(1.0 / 2.2)), 1.0);\n}\nvec4 encodeRGBM(vec3 source) {\n\tvec4 result;\n\tresult.rgb = pow(source.rgb, vec3(0.5));\n\tresult.rgb *= 1.0 / 8.0;\n\tresult.a = saturate( max( max( result.r, result.g ), max( result.b, 1.0 / 255.0 ) ) );\n\tresult.a = ceil(result.a * 255.0) / 255.0;\n\tresult.rgb /= result.a;\n\treturn result;\n}\nvec4 encodeRGBP(vec3 source) {\n\tvec3 gamma = pow(source, vec3(0.5));\n\tfloat maxVal = min(8.0, max(1.0, max(gamma.x, max(gamma.y, gamma.z))));\n\tfloat v = 1.0 - ((maxVal - 1.0) / 7.0);\n\tv = ceil(v * 255.0) / 255.0;\n\treturn vec4(gamma / (-v * 7.0 + 8.0), v);\t\n}\nvec4 encodeRGBE(vec3 source) {\n\tfloat maxVal = max(source.x, max(source.y, source.z));\n\tif (maxVal < 1e-32) {\n\t\treturn vec4(0, 0, 0, 0);\n\t} else {\n\t\tfloat e = ceil(log2(maxVal));\n\t\treturn vec4(source / pow(2.0, e), (e + 128.0) / 255.0);\n\t}\n}\n",Ro={alphaTestPS:"\nuniform float alpha_ref;\nvoid alphaTest(float a) {\n\tif (a < alpha_ref) discard;\n}\n",ambientConstantPS:"\nvoid addAmbient(vec3 worldNormal) {\n\tdDiffuseLight += light_globalAmbient;\n}\n",ambientEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nvoid addAmbient(vec3 worldNormal) {\n\tvec3 dir = normalize(cubeMapRotate(worldNormal) * vec3(-1.0, 1.0, 1.0));\n\tvec2 uv = mapUv(toSphericalUv(dir), vec4(128.0, 256.0 + 128.0, 64.0, 32.0) / atlasSize);\n\tvec4 raw = texture2D(texture_envAtlas, uv);\n\tvec3 linear = $DECODE(raw);\n\tdDiffuseLight += processEnvironment(linear);\n}\n",ambientSHPS:"\nuniform vec3 ambientSH[9];\nvoid addAmbient(vec3 worldNormal) {\n\tvec3 n = cubeMapRotate(worldNormal);\n\tvec3 color =\n\t\tambientSH[0] +\n\t\tambientSH[1] * n.x +\n\t\tambientSH[2] * n.y +\n\t\tambientSH[3] * n.z +\n\t\tambientSH[4] * n.x * n.z +\n\t\tambientSH[5] * n.z * n.y +\n\t\tambientSH[6] * n.y * n.x +\n\t\tambientSH[7] * (3.0 * n.z * n.z - 1.0) +\n\t\tambientSH[8] * (n.x * n.x - n.y * n.y);\n\tdDiffuseLight += processEnvironment(max(color, vec3(0.0)));\n}\n",aoPS:"\nvoid getAO() {\n\tdAo = 1.0;\n\t#ifdef MAPTEXTURE\n\tfloat aoBase = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tdAo *= addAoDetail(aoBase);\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAo *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",aoDetailMapPS:"\nfloat addAoDetail(float ao) {\n#ifdef MAPTEXTURE\n\tfloat aoDetail = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\treturn detailMode_$DETAILMODE(vec3(ao), vec3(aoDetail)).r;\n#else\n\treturn ao;\n#endif\n}\n",aoDiffuseOccPS:"\nvoid occludeDiffuse(float ao) {\n\tdDiffuseLight *= ao;\n}\n",aoSpecOccPS:"\nuniform float material_occludeSpecularIntensity;\nvoid occludeSpecular(float gloss, float ao, vec3 worldNormal, vec3 viewDir) {\n\tfloat specPow = exp2(gloss * 11.0);\n\tfloat specOcc = saturate(pow(dot(worldNormal, viewDir) + ao, 0.01*specPow) - 1.0 + ao);\n\tspecOcc = mix(1.0, specOcc, material_occludeSpecularIntensity);\n\tdSpecularLight *= specOcc;\n\tdReflection *= specOcc;\n\t\n#ifdef LIT_SHEEN\n\tsSpecularLight *= specOcc;\n\tsReflection *= specOcc;\n#endif\n}\n",aoSpecOccConstPS:"\nvoid occludeSpecular(float gloss, float ao, vec3 worldNormal, vec3 viewDir) {\n\tfloat specPow = exp2(gloss * 11.0);\n\tfloat specOcc = saturate(pow(dot(worldNormal, viewDir) + ao, 0.01*specPow) - 1.0 + ao);\n\tdSpecularLight *= specOcc;\n\tdReflection *= specOcc;\n\t\n#ifdef LIT_SHEEN\n\tsSpecularLight *= specOcc;\n\tsReflection *= specOcc;\n#endif\n}\n",aoSpecOccConstSimplePS:"\nvoid occludeSpecular(float gloss, float ao, vec3 worldNormal, vec3 viewDir) {\n\tdSpecularLight *= ao;\n\tdReflection *= ao;\n#ifdef LIT_SHEEN\n\tsSpecularLight *= ao;\n\tsReflection *= ao;\n#endif\n}\n",aoSpecOccSimplePS:"\nuniform float material_occludeSpecularIntensity;\nvoid occludeSpecular(float gloss, float ao, vec3 worldNormal, vec3 viewDir) {\n\tfloat specOcc = mix(1.0, ao, material_occludeSpecularIntensity);\n\tdSpecularLight *= specOcc;\n\tdReflection *= specOcc;\n#ifdef LIT_SHEEN\n\tsSpecularLight *= specOcc;\n\tsReflection *= specOcc;\n#endif\n}\n",basePS:"\nuniform vec3 view_position;\nuniform vec3 light_globalAmbient;\nfloat square(float x) {\n\treturn x*x;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 saturate(vec3 x) {\n\treturn clamp(x, vec3(0.0), vec3(1.0));\n}\n",baseVS:"\nattribute vec3 vertex_position;\nattribute vec3 vertex_normal;\nattribute vec4 vertex_tangent;\nattribute vec2 vertex_texCoord0;\nattribute vec2 vertex_texCoord1;\nattribute vec4 vertex_color;\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nvec3 dPositionW;\nmat4 dModelMatrix;\nmat3 dNormalMatrix;\n",baseNineSlicedPS:"\n#define NINESLICED\nvarying vec2 vMask;\nvarying vec2 vTiledUv;\nuniform mediump vec4 innerOffset;\nuniform mediump vec2 outerScale;\nuniform mediump vec4 atlasRect;\nvec2 nineSlicedUv;\n",baseNineSlicedVS:"\n#define NINESLICED\nvarying vec2 vMask;\nvarying vec2 vTiledUv;\nuniform mediump vec4 innerOffset;\nuniform mediump vec2 outerScale;\nuniform mediump vec4 atlasRect;\n",baseNineSlicedTiledPS:"\n#define NINESLICED\n#define NINESLICETILED\nvarying vec2 vMask;\nvarying vec2 vTiledUv;\nuniform mediump vec4 innerOffset;\nuniform mediump vec2 outerScale;\nuniform mediump vec4 atlasRect;\nvec2 nineSlicedUv;\n",bayerPS:"\nfloat bayer2(vec2 p) {\n\treturn mod(2.0 * p.y + p.x + 1.0, 4.0);\n}\nfloat bayer4(vec2 p) {\n\tvec2 p1 = mod(p, 2.0);\n\tvec2 p2 = floor(0.5 * mod(p, 4.0));\n\treturn 4.0 * bayer2(p1) + bayer2(p2);\n}\nfloat bayer8(vec2 p) {\n\tvec2 p1 = mod(p, 2.0);\n\tvec2 p2 = floor(0.5 * mod(p, 4.0));\n\tvec2 p4 = floor(0.25 * mod(p, 8.0));\n\treturn 4.0 * (4.0 * bayer2(p1) + bayer2(p2)) + bayer2(p4);\n}\n",biasConstPS:"\n#define SHADOWBIAS\n#define SHADOW_SAMPLE_Z_BIAS\nfloat getShadowBias(float resolution, float maxBias) {\n\treturn maxBias;\n}\n",blurVSMPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\n#ifdef GAUSS\nuniform float weight[SAMPLES];\n#endif\n#ifdef PACKED\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\n#endif\nvoid main(void) {\n\tvec3 moments = vec3(0.0);\n\tvec2 uv = vUv0 - pixelOffset * (float(SAMPLES) * 0.5);\n\tfor (int i=0; i shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(dAlbedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:Mo,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:Po,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:Sr,gles2VS:br,gles3PS:Tr,gles3VS:wr,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_dispersion;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = normalize(cross(V1, V2));\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = max(0.0, L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2)));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",opacityDitherPS:"\nuniform vec4 blueNoiseJitter;\n#ifdef DITHER_BLUENOISE\n\tuniform sampler2D blueNoiseTex32;\n#endif\nvoid opacityDither(float alpha, float id) {\n\t#ifdef DITHER_BAYER8\n\t\tfloat noise = bayer8(floor(mod(gl_FragCoord.xy + blueNoiseJitter.xy + id, 8.0))) / 64.0;\n\t#else\n\t\t#ifdef DITHER_BLUENOISE\n\t\t\tvec2 uv = fract(gl_FragCoord.xy / 32.0 + blueNoiseJitter.xy + id);\n\t\t\tfloat noise = texture2DLodEXT(blueNoiseTex32, uv, 0.0).y;\n\t\t#endif\n\t\t#ifdef DITHER_IGNNOISE\n\t\t\tvec3 magic = vec3(0.06711056, 0.00583715, 52.9829189);\n\t\t\tfloat noise = fract(magic.z * fract(dot(gl_FragCoord.xy + blueNoiseJitter.xy + id, magic.xy)));\n\t\t#endif\n\t#endif\n\tif (alpha < noise)\n\t\tdiscard;\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(TEXTURE_ACCEPT_HIGHP(tex), vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(TEXTURE_ACCEPT_HIGHP(tex), vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(TEXTURE_PASS(internalTex2), vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix;\nuniform mat3 emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos;\nuniform vec3 frameRandom;\nuniform vec3 localVelocityDivMult;\nuniform vec3 velocityDivMult;\nuniform float delta;\nuniform float rate;\nuniform float rateDiv;\nuniform float lifetime;\nuniform float numParticles;\nuniform float rotSpeedDivMult;\nuniform float radialSpeedDivMult;\nuniform float seed;\nuniform float startAngle;\nuniform float startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(TEXTURE_ACCEPT_HIGHP(tex), vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(TEXTURE_PASS(internalTex0), vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(TEXTURE_PASS(internalTex1), vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(TEXTURE_PASS(internalTex2), vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(TEXTURE_PASS(internalTex3), vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\n#ifdef PARTICLE_GPU\n\tuniform highp sampler2D internalTex0;\n\tuniform highp sampler2D internalTex1;\n\tuniform highp sampler2D internalTex2;\n#endif\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles;\nuniform float numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform float rate;\nuniform float rateDiv;\nuniform float lifetime;\nuniform float deltaRandomnessStatic;\nuniform float scaleDivMult;\nuniform float alphaDivMult;\nuniform float seed;\nuniform float delta;\nuniform sampler2D particleTexOUT;\nuniform sampler2D particleTexIN;\n#ifdef PARTICLE_GPU\n\tuniform highp sampler2D internalTex0;\n\tuniform highp sampler2D internalTex1;\n\tuniform highp sampler2D internalTex2;\n#endif\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex,\n\tfloat dispersion\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvec3 evalRefractionColor(vec3 refractionVector, float gloss, float refractionIndex) {\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\treturn refraction;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex,\n\tfloat dispersion\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 scale = thickness * modelScale;\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * scale;\n\tvec3 refraction = evalRefractionColor(refractionVector, gloss, refractionIndex);\n\t#ifdef DISPERSION\n\t\tfloat halfSpread = (1.0 / refractionIndex - 1.0) * 0.025 * dispersion;\n\t\tfloat refractionIndexR = refractionIndex - halfSpread;\n\t\trefractionVector = normalize(refract(-viewDir, worldNormal, refractionIndexR)) * scale;\n\t\trefraction.r = evalRefractionColor(refractionVector, gloss, refractionIndexR).r;\n\t\tfloat refractionIndexB = refractionIndex + halfSpread;\n\t\trefractionVector = normalize(refract(-viewDir, worldNormal, refractionIndexB)) * scale;\n\t\trefraction.b = evalRefractionColor(refractionVector, gloss, refractionIndexB).b;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec3 params;\nfloat targetFace() { return params.x; }\nfloat sourceCubeSeamScale() { return params.y; }\nfloat targetCubeSeamScale() { return params.z; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+Mo+"\n"+Po+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",sampleCatmullRomPS:"\nvec4 SampleTextureCatmullRom(TEXTURE_ACCEPT(tex), vec2 uv, vec2 texSize) {\n\tvec2 samplePos = uv * texSize;\n\tvec2 texPos1 = floor(samplePos - 0.5) + 0.5;\n\tvec2 f = samplePos - texPos1;\n\tvec2 w0 = f * (-0.5 + f * (1.0 - 0.5 * f));\n\tvec2 w1 = 1.0 + f * f * (-2.5 + 1.5 * f);\n\tvec2 w2 = f * (0.5 + f * (2.0 - 1.5 * f));\n\tvec2 w3 = f * f * (-0.5 + 0.5 * f);\n\tvec2 w12 = w1 + w2;\n\tvec2 offset12 = w2 / (w1 + w2);\n\tvec2 texPos0 = (texPos1 - 1.0) / texSize;\n\tvec2 texPos3 = (texPos1 + 2.0) / texSize;\n\tvec2 texPos12 = (texPos1 + offset12) / texSize;\n\tvec4 result = vec4(0.0);\n\tresult += texture2DLodEXT(tex, vec2(texPos0.x, texPos0.y), 0.0) * w0.x * w0.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos12.x, texPos0.y), 0.0) * w12.x * w0.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos3.x, texPos0.y), 0.0) * w3.x * w0.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos0.x, texPos12.y), 0.0) * w0.x * w12.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos12.x, texPos12.y), 0.0) * w12.x * w12.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos3.x, texPos12.y), 0.0) * w3.x * w12.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos0.x, texPos3.y), 0.0) * w0.x * w3.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos12.x, texPos3.y), 0.0) * w12.x * w3.y;\n\tresult += texture2DLodEXT(tex, vec2(texPos3.x, texPos3.y), 0.0) * w3.x * w3.y;\n\treturn result;\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = SKYBOX_DECODE_FNC(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\n#ifdef SKYMESH\n\tvarying vec3 vWorldPos;\n\tuniform mat3 cubeMapRotationMatrix;\n\tuniform vec3 projectedSkydomeCenter;\n#endif\nvoid main(void) {\n\t#ifdef SKYMESH\n\t\tvec3 envDir = normalize(vWorldPos - projectedSkydomeCenter);\n\t\tvec3 dir = envDir * cubeMapRotationMatrix;\n\t#else\n\t\tvec3 dir = vViewDir;\n\t#endif\n\tdir.x *= -1.0;\n\tvec3 linear = SKYBOX_DECODE_FNC(textureCube(texture_cubeMap, fixSeamsStatic(dir, SKYBOX_MIP)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\n#ifdef SKYMESH\n\tuniform mat4 matrix_model;\n\tvarying vec3 vWorldPos;\n#endif\nvoid main(void) {\n\tmat4 view = matrix_view;\n\t#ifdef SKYMESH\n\t\tvec4 worldPos = matrix_model * vec4(aPosition, 1.0);\n\t\tvWorldPos = worldPos.xyz;\n\t\tgl_Position = matrix_projectionSkybox * view * worldPos;\n\t#else\n\t\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\t\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\t\tvViewDir = aPosition * cubeMapRotationMatrix;\n\t#endif\n\tgl_Position.z = gl_Position.w - 1.0e-7;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNeutralPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tfloat startCompression = 0.8 - 0.04;\n\tfloat desaturation = 0.15;\n\tfloat x = min(color.r, min(color.g, color.b));\n\tfloat offset = x < 0.08 ? x - 6.25 * x * x : 0.04;\n\tcolor -= offset;\n\tfloat peak = max(color.r, max(color.g, color.b));\n\tif (peak < startCompression) return color;\n\tfloat d = 1. - startCompression;\n\tfloat newPeak = 1. - d * d / (peak + d - startCompression);\n\tcolor *= newPeak / peak;\n\tfloat g = 1. - 1. / (desaturation * (peak - newPeak) + 1.);\n\treturn mix(color, newPeak * vec3(1, 1, 1), g);\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t\t#ifdef WEBGPU\n\t\tscreenPos.y *= -1.0;\n\t\t#endif\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",twoSidedLightingPS:"\nuniform float twoSidedLightingNegScaleFactor;\nvoid handleTwoSidedLighting() {\n\tdTBN[2] *= gl_FrontFacing ? twoSidedLightingNegScaleFactor : -twoSidedLightingNegScaleFactor;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:Er,webgpuVS:Ar},Io=new gn;function Do(t){return Io.get(t)}function Lo(t,e){Io.get(t,(function(){return e}))}var ko=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return void 0===e&&(e=Ro),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return void 0===e&&(e=Ro),"linear"===t?e.fogLinearPS?e.fogLinearPS:Ro.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:Ro.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:Ro.fogExp2PS:e.fogNonePS?e.fogNonePS:Ro.fogNonePS},t.gammaCode=function(t,e){return void 0===e&&(e=Ro),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:Ro.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:Ro.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:Ro.gamma1_0PS},t.tonemapCode=function(t,e){var i,n,s,r,a,o,h;switch(void 0===e&&(e=Ro),t){case 1:return null!=(i=e.tonemappingFilmicPS)?i:Ro.tonemappingFilmicPS;case 0:return null!=(n=e.tonemappingLinearPS)?n:Ro.tonemappingLinearPS;case 2:return null!=(s=e.tonemappingHejlPS)?s:Ro.tonemappingHejlPS;case 3:return null!=(r=e.tonemappingAcesPS)?r:Ro.tonemappingAcesPS;case 4:return null!=(a=e.tonemappingAces2PS)?a:Ro.tonemappingAces2PS;case 5:return null!=(o=e.tonemappingNeutralPS)?o:Ro.tonemappingNeutralPS}return null!=(h=e.tonemapingNonePS)?h:Ro.tonemappingNonePS},t}();function Oo(t,e,i,n,s){return void 0===n&&(n=!1),void 0===s&&(s={}),"boolean"==typeof n?s.useTransformFeedback=n:"object"==typeof n&&(s=y({},s,n)),new zs(t,Pr.createDefinition(t,y({},s,{name:e+"_"+i,vertexCode:Ro[e],fragmentCode:Ro[i]})))}function Fo(t,e,i,n,s,r,a){void 0===r&&(r=!1),void 0===a&&(a={}),"boolean"==typeof r?a.useTransformFeedback=r:"object"==typeof r&&(a=y({},a,r));var o=Do(t),h=o.getCachedShader(n);return h||(h=new zs(t,Pr.createDefinition(t,y({},a,{name:n,vertexCode:e,fragmentCode:i,attributes:s}))),o.setCachedShader(n,h)),h}var Bo=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}x(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(ko);function No(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new Bo(s,n),a="shader",o=Do(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return t.definition.shaderLanguage===wi&&(h.meshUniformBufferFormat=n.meshUniformBufferFormat,h.meshBindGroupFormat=n.meshBindGroupFormat),o.unregister(a),h}Ro.createShader=Oo,Ro.createShaderFromCode=Fo;var Uo={type:5,base:0,count:4,indexed:!1},zo=new Rt,Vo=new Rt,Go=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new Zr;this.shader=No(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new qs(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new Gs(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(zo.set(n.vx,n.vy,n.vw,n.vh),Vo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Uo),t&&(n.setViewport(zo.x,zo.y,zo.z,zo.w),n.setScissor(Vo.x,Vo.y,Vo.z,Vo.w))},t}(),Ho=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).quad=i,r.rect=n,r.scissorRect=s,r}return x(e,t),e.prototype.execute=function(){var t=this.device;t.setCullMode(0),t.setDepthState(on.NODEPTH),t.setStencilState(null,null),this.quad.render(this.rect,this.scissorRect)},e}(Kr),Wo=new Rt;function Xo(t,e,i,n,s){var r=new Go(i);n||((n=Wo).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new Ho(t,r,n,s);a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var jo=new gn,qo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefines=void 0,this.name=t,this.index=e,Object.assign(this,i),this.shaderDefines=this.buildShaderDefines()}return t.prototype.buildShaderDefines=function(){var t;return this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK"),(t?"#define "+t+"_PASS\n":"")+("#define "+this.name.toUpperCase()+"_PASS\n")},t}(),Yo=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow"),e("prepass")}t.get=function(e){return jo.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new qo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Ko=function(t){function e(){return t.apply(this,arguments)||this}x(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createAttributesDefinition=function(t,e){var i={vertex_position:Le};e.skin&&(i.vertex_boneWeights=Fe,i.vertex_boneIndices=Be),e.vertexColors&&(i.vertex_color=Ne),e.diffuseMap&&(i.vertex_texCoord0=ze),t.attributes=i},i.createVertexDefinition=function(t,e,i,n){var s=new Map,r=new Map;s.set("shaderPassDefines",n.shaderDefines),s.set("transformDeclVS",Ro.transformDeclVS),s.set("transformVS",Ro.transformVS),s.set("skinCode",ko.skinCode(t)),i.skin&&r.set("SKIN",!0),i.vertexColors&&r.set("VERTEX_COLORS",!0),i.diffuseMap&&r.set("DIFFUSE_MAP",!0),e.vertexCode='\n\n #include "shaderPassDefines"\n #include "transformDeclVS"\n\n #ifdef SKIN\n #include "skinCode"\n #endif\n\n #include "transformVS"\n\n #ifdef VERTEX_COLORS\n attribute vec4 vertex_color;\n varying vec4 vColor;\n #endif\n\n #ifdef DIFFUSE_MAP\n attribute vec2 vertex_texCoord0;\n varying vec2 vUv0;\n #endif\n\n #ifdef DEPTH_PASS\n varying float vDepth;\n \n #ifndef VIEWMATRIX\n #define VIEWMATRIX\n uniform mat4 matrix_view;\n #endif\n\n #ifndef CAMERAPLANES\n #define CAMERAPLANES\n uniform vec4 camera_params;\n #endif\n #endif\n\n void main(void) {\n gl_Position = getPosition();\n\n #ifdef DEPTH_PASS\n vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n #endif \n\n #ifdef VERTEX_COLORS\n vColor = vertex_color;\n #endif\n\n #ifdef DIFFUSE_MAP\n vUv0 = vertex_texCoord0;\n #endif\n }\n',e.vertexIncludes=s,e.vertexDefines=r},i.createFragmentDefinition=function(t,e,i){var n=new Map,s=new Map;n.set("shaderPassDefines",i.shaderDefines),n.set("fogCode",ko.fogCode(e.fog)),n.set("alphaTestPS",Ro.alphaTestPS),n.set("packDepthPS",Ro.packDepthPS),e.vertexColors&&s.set("VERTEX_COLORS",!0),e.diffuseMap&&s.set("DIFFUSE_MAP",!0),e.fog&&s.set("FOG",!0),e.alphaTest&&s.set("ALPHA_TEST",!0),t.fragmentCode='\n\n #include "shaderPassDefines"\n\n #ifdef VERTEX_COLORS\n varying vec4 vColor;\n #else\n uniform vec4 uColor;\n #endif\n\n #ifdef DIFFUSE_MAP\n varying vec2 vUv0;\n uniform sampler2D texture_diffuseMap;\n #endif\n\n #ifdef FOG\n #include "fogCode"\n #endif\n\n #ifdef ALPHA_TEST\n #include "alphaTestPS"\n #endif\n\n #ifdef DEPTH_PASS\n varying float vDepth;\n #include "packDepthPS"\n #endif\n\n void main(void) {\n\n #ifdef VERTEX_COLORS\n gl_FragColor = vColor;\n #else\n gl_FragColor = uColor;\n #endif\n\n #ifdef DIFFUSE_MAP\n gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n #endif\n\n #ifdef ALPHA_TEST\n alphaTest(gl_FragColor.a);\n #endif\n\n #ifndef PICK_PASS\n\n #ifdef DEPTH_PASS\n gl_FragColor = packFloat(vDepth);\n #else\n #ifdef FOG\n glFragColor.rgb = addFog(gl_FragColor.rgb);\n #endif\n #endif\n #endif\n }\n',t.fragmentIncludes=n,t.fragmentDefines=s},i.createShaderDefinition=function(t,e){var i={name:"BasicShader"},n=Yo.get(t).getByIndex(e.pass);return this.createAttributesDefinition(i,e),this.createVertexDefinition(t,i,e,n),this.createFragmentDefinition(i,e,n),Pr.createDefinition(t,i)},e}(ko),Zo=new Ko,Qo=new gn;function Jo(t){return Qo.get(t)}var $o=[];$o[0]={src:1,dst:1,op:2},$o[3]={src:1,dst:0,op:0},$o[2]={src:6,dst:8,op:0},$o[4]={src:1,dst:8,op:0},$o[1]={src:1,dst:1,op:0},$o[6]={src:6,dst:1,op:0},$o[7]={src:4,dst:2,op:0},$o[8]={src:5,dst:1,op:0},$o[5]={src:4,dst:0,op:0},$o[9]={src:1,dst:1,op:3},$o[10]={src:1,dst:1,op:4};var th=0,eh=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=th++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new nn,this._depthState=new on,this.cull=1,this.stencilFront=null,this.stencilBack=null,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new Zr(a,o,h),u=Do(t);return u.register("basic",Zo),u.getProgram("basic",l,c,this.userId)},e}(eh),nh=function(){function t(t,e,i){this._aabb=new Wt,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2(rh,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s0){var S=v.array[v.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>T&&(r.y=T),r.z>w&&(r.z=w),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r,a){void 0===s&&(s=6),void 0===r&&(r=!1),void 0===a&&(a=!1),this._initGeometryData();var o=n||e.length/i;this._geometryData._changeVertexCount(o,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new uh(e,i,s,r,a)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new fa(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=ch.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(Le,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=ch.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(ke,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=ch.DEFAULT_COMPONENTS_UV),this.setVertexStream(Ue+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=ch.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Ne,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Ne,t,ch.DEFAULT_COMPONENTS_COLORS,e,1,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(Le,t)},i.getNormals=function(t){return this.getVertexStream(ke,t)},i.getUvs=function(t,e){return this.getVertexStream(Ue+t,e)},i.getColors=function(t){return this.getVertexStream(Ne,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[Le];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize,asInt:n.asInt})}return new bn(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new pn(this.device,e,t,{usage:this._geometryData.verticesUsage,storage:this._storageVertex})}var i=new fa(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices,e=t>65535||0===t?2:1,i=this._storageIndex?{storage:!0}:void 0;this.indexBuffer[0]=new jr(this.device,e,this._geometryData.maxIndices,this._geometryData.indicesUsage,void 0,i)}var n=this._geometryData.indices;n&&(this.indexBuffer[0].writeData(n,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new qi[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new jr(this.vertexBuffer.device,t,i.length);new qi[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},v(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}])}(hh),fh=new Bt,ph=new wt,mh=new Nt,_h=new Nt,vh=new wt,gh=new wt,yh=new Bt,xh=new Nt,Sh=new wt,bh=new Bt,Th=new Nt,wh=new Nt,Eh=new Bt,Ah=new wt,Ch=new wt;function Mh(t,e){return t instanceof Function?t:function(i){var n=i[t];return n instanceof Function&&(n=n()),n===e}}function Ph(t,e){if(e(t))return t;for(var i=t._children,n=i.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof wt?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Nt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof wt?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}])}();function Gh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,v=p[0].layer,g=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var T=qh(p[0]),w=p[0].mesh.vertexBuffer.format.batchingHash,E=p[0].mesh.primitive[0].indexed;c=null;for(var A=1;A=a){f=f.concat(p.slice(A));break}_!==C.material||v!==C.layer||w!==C.mesh.vertexBuffer.format.batchingHash||E!==C.mesh.primitive[0].indexed||g!==C._shaderDefs||S+C.mesh.vertexBuffer.getNumVertices()>o?m(C):(l.copy(h),l.add(C.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(C):(!x||(s=C.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&T===qh(C)&&Hh(y,C.parameters)?n&&c&&c.intersects(C.aabb)&&C.drawOrder!==b?m(C):(h.add(C.aabb),S+=C.mesh.vertexBuffer.getNumVertices(),u[d].push(C)):m(C))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===Le)for(var w=v.data,E=w[0],A=w[1],C=w[2],M=w[4],P=w[5],R=w[6],I=w[8],D=w[9],L=w[10],k=w[12],O=w[13],F=w[14],B=void 0,N=void 0,U=void 0,z=0;z0&&r.setIndices(x),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var rt=new Vh(r,p,this.rootNode);rt.castShadow=h.origMeshInstances[0].castShadow,rt.parameters=h.origMeshInstances[0].parameters,rt.layer=h.origMeshInstances[0].layer,rt._shaderDefs=h.origMeshInstances[0]._shaderDefs,rt.cull=h.origMeshInstances[0].cull;var at=this._batchGroups[i];if(at&&at._ui&&(rt.cull=!1),e){for(var ot=[],ht=0;ht0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=ge,o=!1));var l=null!=(e=null==(i=s.renderTarget)?void 0:i.depthBuffer)?e:null==(n=s.renderTarget)?void 0:n.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,s.renderTarget,r,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Qh.forEach((function(t){return r.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(Kr),$h=new pt(254/255,254/255,254/255,254/255),tl=[],el=[[],[],[]],il=["uSceneDepthMap","uDepthMap"],nl=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s.setupRenderTarget(),s}x(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.renderTarget&&(this.renderTarget.destroyTextureBuffers(),this.renderTarget.destroy(),this.renderTarget=null)},i.update=function(t){this.scene=t},i.setupRenderTarget=function(){var t=new or(this.device,{name:il[0],format:7,width:4,height:4,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1}),e=new Cn({name:il[0]+"RT}",colorBuffer:t,depth:!0,stencil:!1});this.init(e,{}),this.setClearColor($h),this.setClearDepth(1)},i.before=function(){var t=this.device,e=this.renderTarget.colorBuffer;il.forEach((function(i){return t.scope.resolve(i).setValue(e)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&!!(n&go),t.skin=n&&!!(2&n),t.useInstancing=n&&!!(n&_o),t.useMorphPosition=n&&!!(n&xo),t.useMorphNormal=n&&!!(n&So),t.useMorphTextureBased=n&&!!(n&bo),t.hasTangents=n&&!!(n&yo),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.opacityDither=e.opacityDither,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.dispersion=e.dispersion>0,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n,t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];(0===e.lights.length||1&n)&&(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s8?0:1},t.getShaderDefines=function(e){return Al.get(e,(function(){var i=function(t,e,i,n){return Object.keys(e).map((function(t){return"#define "+i+t+" "+e[t]+n})).join("\n")},n=0===t.getLightTextureFormat(e)?"FLOAT":"8BIT",s=e.supportsTextureFetch?"":".5";return"\n \n#define CLUSTER_TEXTURE_"+n+"\n "+i(0,wl,"CLUSTER_TEXTURE_8_",s)+"\n "+i(0,El,"CLUSTER_TEXTURE_F_",s)+"\n "}))};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.createTexture=function(t,e,i,n,s){return new or(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ui,magFilter:0,minFilter:0,anisotropy:1})},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),0===this.lightTextureFormat&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(bl,xl),Sl[0]=xl.x,Sl[1]=xl.y,Sl[2]=xl.z,e.transformVector(Tl,xl),Sl[3]=xl.x,Sl[4]=xl.y,Sl[5]=xl.z,Sl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;Tt.float2Bytes(a[0]*r,t,e+0,2),Tt.float2Bytes(a[1]*r,t,e+2,2),Tt.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){Tt.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),Tt.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);Tt.float2BytesRange(s.bias,t,e,-1,20,2),Tt.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=xl.sub2(n,this.boundsMin).div(this.boundsDelta);Tt.float2Bytes(s.x,t,e+0,4),Tt.float2Bytes(s.y,t,e+4,4),Tt.float2Bytes(s.z,t,e+8,4),Tt.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(xl,i),Tt.float2Bytes(.499999*xl.x+.5,t,e+0,4),Tt.float2Bytes(.499999*xl.y+.5,t,e+4,4),Tt.float2Bytes(.499999*xl.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)Tt.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)Tt.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){Tt.float2Bytes(i.x,t,e+0,2),Tt.float2Bytes(i.y,t,e+2,2),Tt.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)Tt.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(t,e,i){var n=2===t._type,s=t.atlasViewportAllocated,r=this.cookiesEnabled&&!!t._cookie&&s,a=this.areaLightsEnabled&&0!==t.shape,o=this.shadowsEnabled&&t.castShadows&&s,h=t._node.getPosition(),l=null,c=null;n?o?l=t.getRenderData(null,0).shadowMatrix:r&&(l=yl.evalSpotCookieMatrix(t)):(o||r)&&(c=t.atlasViewport);var u=this.lights8,d=e*this.lightsTexture8.width*4;if(this.addLightDataFlags(u,d+4*wl.FLAGS,t,n,o,t.shadowIntensity),this.addLightDataColor(u,d+4*wl.COLOR_A,t,i,r),n&&this.addLightDataSpotAngles(u,d+4*wl.SPOT_ANGLES,t),t.castShadows&&this.addLightDataShadowBias(u,d+4*wl.SHADOW_BIAS,t),r&&this.addLightDataCookies(u,d+4*wl.COOKIE_A,t),0===this.lightTextureFormat){var f=this.lightsFloat,p=e*this.lightsTextureFloat.width*4;if(f[p+4*El.POSITION_RANGE+0]=h.x,f[p+4*El.POSITION_RANGE+1]=h.y,f[p+4*El.POSITION_RANGE+2]=h.z,f[p+4*El.POSITION_RANGE+3]=t.attenuationEnd,n&&(this.getSpotDirection(xl,t),f[p+4*El.SPOT_DIRECTION+0]=xl.x,f[p+4*El.SPOT_DIRECTION+1]=xl.y,f[p+4*El.SPOT_DIRECTION+2]=xl.z),l)for(var m=l.data,_=0;_<16;_++)f[p+4*El.PROJ_MAT_0+_]=m[_];if(c&&(f[p+4*El.ATLAS_VIEWPORT+0]=c.x,f[p+4*El.ATLAS_VIEWPORT+1]=c.y,f[p+4*El.ATLAS_VIEWPORT+2]=c.z/3),a){var v=this.getLightAreaSizes(t);f[p+4*El.AREA_DATA_WIDTH+0]=v[0],f[p+4*El.AREA_DATA_WIDTH+1]=v[1],f[p+4*El.AREA_DATA_WIDTH+2]=v[2],f[p+4*El.AREA_DATA_HEIGHT+0]=v[3],f[p+4*El.AREA_DATA_HEIGHT+1]=v[4],f[p+4*El.AREA_DATA_HEIGHT+2]=v[5]}}else this.addLightDataPositionRange(u,d+4*wl.POSITION_X,t,h),n&&this.addLightDataSpotDirection(u,d+4*wl.SPOT_DIRECTION_X,t),l&&this.addLightDataLightProjMatrix(u,d+4*wl.PROJ_MAT_00,l),c&&this.addLightAtlasViewport(u,d+4*wl.ATLAS_VIEWPORT_A,c),a&&this.addLightAreaSizes(u,d+4*wl.AREA_DATA_WIDTH_X,t)},t}(),Ml={vertex_normal:ke,vertex_tangent:Oe,vertex_texCoord0:ze,vertex_texCoord1:Ve,vertex_color:Ne,vertex_boneWeights:Fe,vertex_boneIndices:Be},Pl={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},Rl=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:Le},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=Ml[c]);this.chunks[h]=l}}else this.chunks=Ro;this.shaderPassInfo=Yo.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2!==this.options.pass&&5!==this.options.pass||(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.pass,this.options.useInstancing&&(this.attributes.instance_line1=oi,this.attributes.instance_line2=hi,this.attributes.instance_line3=li,this.attributes.instance_line4=ci,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=ke,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Oe,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Ne,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=ni,this.attributes.vertex_shadowParameters=si,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=ci;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=ni,this.attributes.morph_pos1=si,this.attributes.morph_pos2=ri,this.attributes.morph_pos3=ai,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=ni,this.attributes.morph_nrm1=si,this.attributes.morph_nrm2=ri,this.attributes.morph_nrm3=ai,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=oi,this.attributes.morph_nrm5=hi,this.attributes.morph_nrm6=li,this.attributes.morph_nrm7=ci,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=oi,this.attributes.morph_pos5=hi,this.attributes.morph_pos6=li,this.attributes.morph_pos7=ci,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Fe,this.attributes.vertex_boneIndices=Be,o+=ko.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(Pl).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+Pl[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));if(e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0),d||e.clusteredLightingEnabled){var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;")}for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}"envAtlasHQ"===e.reflectionSource?(s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,ml.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,ml.decodeFunc(e.reflectionEncoding)))):"envAtlas"===e.reflectionSource?(s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,ml.decodeFunc(e.reflectionEncoding)))):"cubeMap"===e.reflectionSource?(s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,ml.decodeFunc(e.reflectionEncoding)))):"sphereMap"===e.reflectionSource&&s.append(i.reflectionSpherePS.replace(/\$DECODE/g,ml.decodeFunc(e.reflectionEncoding))),this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?(e.dispersion&&(n.append("uniform float material_dispersion;"),n.append("#define DISPERSION\n")),s.append(i.refractionDynamicPS)):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var y=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),y=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var x=!e.lightMapEnabled||e.lightMapWithoutAmbient;x&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,ml.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!y&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var S,b=!1,T=!1,w=!1,E=!1,A=!1;if(e.clusteredLightingEnabled&&this.lighting&&(E=!0,b=!0,T=!0,A=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+po[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(Cl.getShaderDefines(t)),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;")),a.append(" getViewDir();"),g&&(a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);"),e.twoSidedLighting&&a.append(" handleTwoSidedLighting();"))),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),x&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!y&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var C=0;C 0.00001) {"),2===P&&(S&&!M._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+C+"_direction, light"+C+"_innerConeAngle, light"+C+"_outerConeAngle, dLightDirNormW);"),E=!0))),0!==R?0===P?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+I+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),M.castShadows&&!e.noShadow){var D=6===M._shadowType,L=1===M._shadowType||2===M._shadowType||3===M._shadowType,k=5===M._shadowType||0===M._shadowType||4===M._shadowType,O=null,F=void 0;switch(M._shadowType){case 1:O="VSM8",F="0.0";break;case 2:O="VSM16",F="5.54";break;case 3:O="VSM32",F=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:O="PCF1x1";break;case 4:O="PCF5x5";break;case 6:O="PCSS";break;default:O="PCF3x3"}if(null!==O){M._normalOffsetBias&&!M._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===P&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===P&&s.append("#define SHADOW_SAMPLE_POINT");var B=i.shadowSampleCoordPS;s.append(B.replace("$LIGHT",C)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+C+"_shadowMatrix";0===P&&M.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+C+"_shadowMatrixPalette, light"+C+"_shadowCascadeDistances, light"+C+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+C+"("+N+", light"+C+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===P&&r.append(" fadeShadow(light"+C+"_shadowCascadeDistances);");var U="SHADOWMAP_PASS(light"+C+"_shadowMap), dShadowCoord, light"+C+"_shadowParams";if(L)U=U+", "+F+", dLightDirW";else if(D){var z="vec2(light"+C+"_shadowSearchArea)";0!==R&&(z="vec2(length(light"+C+"_halfWidth), length(light"+C+"_halfHeight)) * light"+C+"_shadowSearchArea"),U=U+", light"+C+"_cameraParams, "+z+", dLightDirW"}1===P?(O="Point"+O,D||(U+=", dLightDirW")):2===P&&(O="Spot"+O),r.append(" float shadow"+C+" = getShadow"+O+"("+U+");"),r.append(" dAtten *= mix(1.0, shadow"+C+", light"+C+"_shadowIntensity);")}}if(0!==R?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+C+"_color"+(S?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+C+"_color"+(S?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+C+"_color"+(S?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+C+"_color"+(S?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),M.affectSpecularity)if(0!==R)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+I+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+C+"_color"+(S?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+I+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+C+"_color"+(S?" * dAtten3":"")+";");else{var V=!1;0===P&&e.fresnelModel>0&&(V=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+C+"_color"+(S?" * dAtten3":"")+(V?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+C+"_color"+(S?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+C+"_color"+(S?" * dAtten3":"")+(V?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==P&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,w=!0,b=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior,\n litArgs_dispersion\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),b&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),w&&s.prepend(i.falloffInvSquaredPS),E&&s.prepend(i.spotPS),A&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var G="",H="void evaluateBackend() {\n"+r.code+"\n}";s.append(H),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(ko.end());var W=n.code+s.code+a.code;return W.includes("dTBN")&&(G+="mat3 dTBN;\n"),W.includes("dVertexNormalW")&&(G+="vec3 dVertexNormalW;\n"),W.includes("dTangentW")&&(G+="vec3 dTangentW;\n"),W.includes("dBinormalW")&&(G+="vec3 dBinormalW;\n"),W.includes("dViewDirW")&&(G+="vec3 dViewDirW;\n"),W.includes("dReflDirW")&&(G+="vec3 dReflDirW;\n"),W.includes("dHalfDirW")&&(G+="vec3 dHalfDirW;\n"),W.includes("ccReflDirW")&&(G+="vec3 ccReflDirW;\n"),W.includes("dLightDirNormW")&&(G+="vec3 dLightDirNormW;\n"),W.includes("dLightDirW")&&(G+="vec3 dLightDirW;\n"),W.includes("dLightPosW")&&(G+="vec3 dLightPosW;\n"),W.includes("dShadowCoord")&&(G+="vec3 dShadowCoord;\n"),W.includes("dReflection")&&(G+="vec4 dReflection;\n"),W.includes("dDiffuseLight")&&(G+="vec3 dDiffuseLight;\n"),W.includes("dSpecularLight")&&(G+="vec3 dSpecularLight;\n"),W.includes("dAtten")&&(G+="float dAtten;\n"),W.includes("dAttenD")&&(G+="float dAttenD;\n"),W.includes("dAtten3")&&(G+="vec3 dAtten3;\n"),W.includes("dMsdf")&&(G+="vec4 dMsdf;\n"),W.includes("ccFresnel")&&(G+="float ccFresnel;\n"),W.includes("ccReflection")&&(G+="vec3 ccReflection;\n"),W.includes("ccSpecularLight")&&(G+="vec3 ccSpecularLight;\n"),W.includes("ccSpecularityNoFres")&&(G+="float ccSpecularityNoFres;\n"),W.includes("sSpecularLight")&&(G+="vec3 sSpecularLight;\n"),W.includes("sReflection")&&(G+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+G+this.frontendDecl+W},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():5===r.pass?this.fshader=this._fsGetPrePassVelocityCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=Pr.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),Il={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?Il.generateChunksKey(t):"lights"===e?Il.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},Dl=[0,1,2,3,4,5,6,7],Ll=function(t){function e(){return t.apply(this,arguments)||this}x(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+Dl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+Il.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new Rl(t,e.litOptions),n=new dl,s=new dl,r=new dl;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(ko),kl=new Ll,Ol=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new cl},Fl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(wt.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Yl=function(t){switch(t){case Si:return"Cubemap";case Ti:return"Octahedral";default:return"Equirect"}},Kl=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Zl=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Ql=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},Jl=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},$l=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},tc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},ec=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new wt,o=new wt,h=new wt(0,0,1),l=[],c=function(t,e){var i=tc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=$l(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},ic=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a0?E.setValue([(l+2*h)/l,(c+2*h)/c,-h/l,-h/c]):E.setValue([1,1,0,0]);var A=[0,t.fixCubemapSeams?1/t.width:0,e.fixCubemapSeams?1/e.width:0];if(m){var C=t.width*t.height*(t.cubemap?6:1),M="ggx"===f?function(t,e,i,n){return ac(t,"ggx-samples-"+e+"-"+i+"-"+n,(function(){return ec(e,i,n)}))}(b,x,u,C):"lambert"===f?oc(b,x,C):hc(b,x,u);b.scope.resolve("samplesTex").setValue(M),b.scope.resolve("samplesTexInverseSize").setValue([1/M.width,1/M.height])}for(var P=0;P<(e.cubemap?6:1);P++)if(null===d||P===d){var R,I=new Cn({colorBuffer:e,face:P,depth:!1,flipY:b.isWebGPU});A[0]=P,w.setValue(A),Xo(b,I,T,null==(R=i)?void 0:R.rect),I.destroy()}return!0}var cc=function(t,e){return void 0===e&&(e=0),1+Math.floor(Math.log2(Math.max(t,e)))},uc=function(){function t(){}return t.generateSkyboxCubemap=function(t,e){var i=function(t,e,i,n){return new or(t,{name:"lighting-"+e,cubemap:!0,width:e,height:e,format:i,type:pi,addressU:1,addressV:1,fixCubemapSeams:!0,mipmaps:!!n})}(t.device,e||(t.cubemap?t.width:t.width/4),7,!1);return lc(t,i,{numSamples:1024}),i},t.generateLightingSource=function(t,e){var i=t.device,n=function(t){return function(t){return t.extTextureHalfFloat&&t.textureHalfFloatRenderable}(t)?me:function(t){return t.extTextureFloat&&t.textureFloatRenderable}(t)?ve:7}(i),s=(null==e?void 0:e.target)||new or(i,{name:"lighting-source",cubemap:!0,width:(null==e?void 0:e.size)||128,height:(null==e?void 0:e.size)||128,format:n,type:7===n?pi:ui,addressU:1,addressV:1,fixCubemapSeams:!1,mipmaps:!0});return lc(t,s,{numSamples:t.mipmaps?1:1024}),s},t.generateAtlas=function(t,e){for(var i=t.device,n=(null==e?void 0:e.target)||new or(i,{name:"envAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:7,type:pi,projection:bi,addressU:1,addressV:1,mipmaps:!1}),s=n.width/512,r=new Rt(0,0,512*s,256*s),a=cc(256)-cc(4),o=0;o>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),lc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new or(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:bi,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Rt(0,0,512*a,256*a),h=cc(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&!!(n&go),t.litOptions.skin=n&&!!(2&n),t.litOptions.useInstancing=n&&!!(n&_o),t.litOptions.useMorphPosition=n&&!!(n&xo),t.litOptions.useMorphNormal=n&&!!(n&So),t.litOptions.useMorphTextureBased=n&&!!(n&bo),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=!!(4&i),r=!!(8&i),a=!!(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in fc)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage&&e.opacityDither===Ao)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var v=e[l].id,g=o[v];void 0===g&&(o[v]=i,g=i),t[l]=!!e[l],t[m]=g,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e,i){t.opacityTint=3!==e.blendType||e.opacityShadowDither!==Ao;var n=5===i;t.litOptions.opacityShadowDither=n?e.opacityDither:e.opacityShadowDither,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor,h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&gc(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||gc(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===fe||e.normalMap.type===mi);t.opacityTint=3!==e.blendType||e.alphaTest>0||e.opacityDither!==Ao?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&gc(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.opacityDither=e.opacityDither,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction,t.litOptions.dispersion=e.dispersion>0},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s,t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=!!(1&n),64&n&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,n&vo&&(t.dirLightMap=!0),n&To&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&(ul.collectLights(0,s[0],r,a),ul.collectLights(1,s[1],r,a),ul.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.dispersion>0&&this._setParameter("material_dispersion",this.dispersion),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),fc)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Yo.get(t).getByIndex(s),c=2===s||3===s||5===s||l.isShadow,u=c?_c.optionsContextMin:_c.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new Zr(a,o,h),f=Do(t);f.register("standard",_c);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},v(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}])}(eh);Lc.TEXTURE_PARAMETERS=Ec,Lc.CUBEMAP_PARAMETERS=Cc;var kc=function(t,e){Ic[t]=e},Oc=function(t,e,i,n){Object.defineProperty(Lc.prototype,t,{get:n||function(){return this["_"+t]},set:i}),Rc[t]={value:e}},Fc=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};Oc(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};Oc(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function Bc(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),fc[t]=e.length||-1,Fc({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),Fc({name:t+"MapTiling",defaultValue:new Mt(1,1)}),Fc({name:t+"MapOffset",defaultValue:new Mt(0,0)}),Fc({name:t+"MapRotation",defaultValue:0}),Fc({name:t+"MapUv",defaultValue:n}),e&&(Fc({name:t+"MapChannel",defaultValue:e}),i&&(Fc({name:t+"VertexColor",defaultValue:!1}),Fc({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";kc(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*ft.DEG_TO_RAD),d=Math.sin(l*ft.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function Nc(t,e){Fc({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),kc(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function Uc(t,e,i){Fc({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),kc(t,i)}function zc(t,e){Fc({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),kc(t,e)}function Vc(t,e){Fc({name:t,defaultValue:e})}!function(){Nc("ambient",new pt(.7,.7,.7)),Nc("diffuse",new pt(1,1,1)),Nc("specular",new pt(0,0,0)),Nc("emissive",new pt(0,0,0)),Nc("sheen",new pt(1,1,1)),Nc("attenuation",new pt(1,1,1)),Uc("emissiveIntensity",1),Uc("specularityFactor",1),Uc("sheenGloss",0),Uc("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),Uc("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),Uc("opacity",1),Uc("alphaFade",1),Uc("alphaTest",0),Uc("bumpiness",1),Uc("normalDetailMapBumpiness",1),Uc("reflectivity",1),Uc("occludeSpecularIntensity",1),Uc("refraction",0),Uc("refractionIndex",1/1.5),Uc("dispersion",0),Uc("thickness",0),Uc("attenuationDistance",0),Uc("metalness",1),Uc("anisotropy",0),Uc("clearCoat",0),Uc("clearCoatGloss",1),Uc("clearCoatBumpiness",1),Uc("aoUvSet",0,null),Uc("iridescence",0),Uc("iridescenceRefractionIndex",1/1.5),Uc("iridescenceThicknessMin",0),Uc("iridescenceThicknessMax",0),zc("ambientSH"),zc("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),Vc("ambientTint",!1),Vc("diffuseTint",!1),Vc("sheenTint",!1),Vc("specularTint",!1),Vc("specularityFactorTint",!1),Vc("emissiveTint",!1),Vc("fastTbn",!1),Vc("useMetalness",!1),Vc("useMetalnessSpecularColor",!1),Vc("useSheen",!1),Vc("enableGGXSpecular",!1),Vc("occludeDirect",!1),Vc("normalizeNormalMap",!0),Vc("conserveEnergy",!0),Vc("opacityFadesSpecular",!0),Vc("occludeSpecular",1),Vc("shadingModel",1),Vc("fresnelModel",2),Vc("useDynamicRefraction",!1),Vc("cubeMapProjection",0),Vc("customFragmentShader",null),Vc("useFog",!0),Vc("useLighting",!0),Vc("useGammaTonemap",!0),Vc("useSkybox",!0),Vc("forceUv1",!1),Vc("pixelSnap",!1),Vc("twoSidedLighting",!1),Vc("nineSlicedMode",void 0),Vc("msdfTextAttribute",!1),Vc("useIridescence",!1),Vc("glossInvert",!1),Vc("sheenGlossInvert",!1),Vc("clearCoatGlossInvert",!1),Vc("opacityDither",Ao),Vc("opacityShadowDither",Ao),Bc("diffuse"),Bc("specular"),Bc("emissive"),Bc("thickness","g"),Bc("specularityFactor","g"),Bc("normal",""),Bc("metalness","g"),Bc("gloss","g"),Bc("opacity","a"),Bc("refraction","g"),Bc("height","g",!1),Bc("ao","g"),Bc("light","rgb",!0,1),Bc("msdf",""),Bc("diffuseDetail","rgb",!1),Bc("normalDetail",""),Bc("aoDetail","g",!1),Bc("clearCoat","g"),Bc("clearCoatGloss","g"),Bc("clearCoatNormal",""),Bc("sheen","rgb"),Bc("sheenGloss","g"),Bc("iridescence","g"),Bc("iridescenceThickness","g"),Vc("diffuseDetailMode",mo),Vc("aoDetailMode",mo),zc("cubeMap"),zc("sphereMap"),zc("envAtlas");var t=[null,null,null,null,null,null];Oc("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=uc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}();var Gc=function(){function t(t,e){this.texture=t,this.cached=!1,this.renderTargets=e}return t.prototype.destroy=function(){this.texture&&(this.texture.destroy(),this.texture=null);for(var t=this.renderTargets,e=0;e1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return ru.min=n,ru.max=s,ru}var ou=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Gc.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=g)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,T=Math.ceil(iu.dot(x)*b)/b,w=Math.ceil(iu.dot(y)*b)/b,E=x.mulScalar(T),A=y.mulScalar(w),C=iu.dot(S),M=S.mulScalar(C);iu.add2(E,A).add(M),l.setPosition(iu),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new pt(0,0,0,0):new pt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=yu.z/3,c=i[h];yu.x+=l*c.x,yu.y+=l*c.y,yu.z=l,yu.w=l,this.invViewProjId.setValue(xu[h].data)}yu.mulScalar(e),o.render(yu)}}n.length=0},v(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=Fo(this.device,gu,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new Go(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=Fo(this.device,gu,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new Go(t)}return this._quadRendererCube}}])}(Kr),bu=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).requiresCubemaps=!1,s.shadowRenderer=i,s.shadowRendererLocal=n,s}x(e,t);var i=e.prototype;return i.update=function(t){var e=this.shadowRendererLocal.shadowLights,i=this.shadowRendererLocal.prepareLights(e,t),n=e.length;this.enabled=n>0,n&&this.shadowRenderer.setupRenderPass(this,i,!1)},i.execute=function(){for(var t=this.shadowRendererLocal.shadowLights,e=t.length,i=0;i0){var p=e?e.width:this.device.width,m=e?e.height:this.device.height,_=zu[this.device.renderVersion%zu.length];d=u*(2*_.x-1)/p,f=u*(2*_.y-1)/m,(l=Xu.copy(l)).data[8]=d,l.data[9]=f,(c=ju.copy(c)).data[8]=d,c.data[9]=f,this.blueNoiseJitterVersion!==this.device.renderVersion&&(this.blueNoiseJitterVersion=this.device.renderVersion,this.blueNoise.vec4(this.blueNoiseJitterVec))}var v=u>0?this.blueNoiseJitterVec:Rt.ZERO;if(this.blueNoiseJitterData[0]=v.x,this.blueNoiseJitterData[1]=v.y,this.blueNoiseJitterData[2]=v.z,this.blueNoiseJitterData[3]=v.w,this.blueNoiseJitterId.setValue(this.blueNoiseJitterData),this.projId.setValue(l.data),this.projSkyboxId.setValue(c.data),t.calculateTransform)t.calculateTransform(Du,0);else{var g=t._node.getPosition(),y=t._node.getRotation();Du.setTRS(g,y,wt.ONE)}this.viewInvId.setValue(Du.data),Lu.copy(Du).invert(),this.viewId.setValue(Lu.data),ku.setFromMat4(Lu),this.viewId3.setValue(ku.data),Iu.mul2(l,Lu),this.viewProjId.setValue(Iu.data),t._storeShaderMatrices(Iu,d,f,this.device.renderVersion),this.flipYId.setValue(i?-1:1),this.dispatchViewPos(t._node.getPosition()),t.frustum.setFromMat4(Iu)}this.tbnBasis.setValue(i?-1:1);var x=t._nearClip,S=t._farClip;return this.nearClipId.setValue(x),this.farClipId.setValue(S),this.cameraParams[0]=1/S,this.cameraParams[1]=S,this.cameraParams[2]=x,this.cameraParams[3]=1===t.projection?1:0,this.cameraParamsId.setValue(this.cameraParams),this.exposureId.setValue(this.scene.physicalUnits?t.getExposure():this.scene.exposure),n},e.clear=function(t,e,i,n){var s=((null!=e?e:t._clearColorBuffer)?1:0)|((null!=i?i:t._clearDepthBuffer)?2:0)|((null!=n?n:t._clearStencilBuffer)?4:0);s&&this.device.clear({color:[t._clearColor.r,t._clearColor.g,t._clearColor.b,t._clearColor.a],depth:t._clearDepth,stencil:t._clearStencil,flags:s})},e.setCamera=function(t,e,i,n){this.setCameraUniforms(t,e),this.clearView(t,e,i,!1)},e.clearView=function(t,e,i,n){var s=this.device;if(s.setRenderTarget(e),s.updateBegin(),n&&(s.setColorWrite(!0,!0,!0,!0),s.setDepthWrite(!0)),this.setupViewport(t,e),i){var r=t._clearOptions;s.clear(r||{color:[t._clearColor.r,t._clearColor.g,t._clearColor.b,t._clearColor.a],depth:t._clearDepth,flags:(t._clearColorBuffer?1:0)|(t._clearDepthBuffer?2:0)|(t._clearStencilBuffer?4:0),stencil:t._clearStencil})}},e.setupCullMode=function(t,e,i){var n=i.material,s=0;if(t){var r=1;2!==n.cull&&1!==n.cull||(r=e*i.flipFacesFactor*i.node.worldScaleSign),s=r<0?2===n.cull?1:2:n.cull}this.device.setCullMode(s),0===s&&0===n.cull&&this.twoSidedLightingNegScaleFactorId.setValue(i.node.worldScaleSign)},e.updateCameraFrustum=function(t){if(t.xr&&t.xr.views.list.length){var e=t.xr.views.list[0];return Iu.mul2(e.projMat,e.viewOffMat),void t.frustum.setFromMat4(Iu)}var i=t.projectionMatrix;if(t.calculateProjection&&t.calculateProjection(i,0),t.calculateTransform)t.calculateTransform(Du,0);else{var n=t._node.getPosition(),s=t._node.getRotation();Du.setTRS(n,s,wt.ONE),this.viewInvId.setValue(Du.data)}Lu.copy(Du).invert(),Iu.mul2(i,Lu),t.frustum.setFromMat4(Iu)},e.setBaseConstants=function(t,e){t.setCullMode(e.cull),e.opacityMap&&this.opacityMapId.setValue(e.opacityMap),(e.opacityMap||e.alphaTest>0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){Ru++;var e=t.length;if(0!==e)for(var i=0;i0?(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.clearVertexBuffer():t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0?(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.clearVertexBuffer():t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o0){var a=this._shaderVersion;od.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==eh.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),od.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(ad.sort(),n=_n(ad),ad.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyComposition=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyComposition=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyComposition=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e1&&ud(this.cameras),this.camerasMap.clear();for(var a=0;a0)this.addDummyRenderAction(h,c),h++;else{for(var u=!0,d=h,f=null,p=!1,m=0;m0&&c.layers.indexOf(_.id)>=0){o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0));var v=this.subLayerList[m];f=this.addRenderAction(h,_,v,c,u,p),h++,u=!1}}d=0;l--)if(h[l].camera===n&&h[l].renderTarget===a){o=!0;break}r&&n.postEffectsEnabled&&(a=null);var c=this.getNextRenderAction(t);c.triggerPostprocess=!1,c.layer=e,c.transparent=i,c.camera=n,c.renderTarget=a,c.firstCameraUse=s,c.lastCameraUse=!1;var u=s||!o,d=e.clearColorBuffer||e.clearDepthBuffer||e.clearStencilBuffer;return(u||d)&&c.setupClears(u?n:void 0,e),c},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=n.layer;if(n.renderTarget&&1!==s.id)break;if(1!==s.id){if(n.useCameraPasses)break;var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){return void 0!==(e?this.layerTransparentIndexMap:this.layerOpaqueIndexMap).get(t)},i.push=function(t){this._isLayerAdded(t)||(this.layerList.push(t),this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this._transparentOrder[t.id]=this.subLayerList.push(!0)-1,this.subLayerEnabled.push(!0),this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insert=function(t,e){if(!this._isLayerAdded(t)){this.layerList.splice(e,0,t,t),this.subLayerList.splice(e,0,!1,!0);var i=this.layerList.length;this._updateOpaqueOrder(e,i-1),this._updateTransparentOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.remove=function(t){var e=this.layerList.indexOf(t);for(delete this._opaqueOrder[e],delete this._transparentOrder[e];e>=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirty=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,fd.mulScalar(-e*n)):(t.radius=e/(2*n),fd.mulScalar(-t.radius)),t.center.add2(s.getPosition(),fd)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*ft.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateShadowBias=function(){var t=this.device;if(t.isWebGL2||t.isWebGPU)if(1!==this._type||this.clusteredLighting){var e=-1e3*this.shadowBias;this.shadowDepthState.depthBias=e,this.shadowDepthState.depthBiasSlope=e}else this.shadowDepthState.depthBias=0,this.shadowDepthState.depthBiasSlope=0},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*ft.DEG_TO_RAD,this._innerConeAngle*ft.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|md[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=md[this._cookieChannel.charAt(1)]<<16,t|=md[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},v(t,[{key:"shadowBias",get:function(){return this._shadowBias},set:function(t){this._shadowBias!==t&&(this._shadowBias=t,this._updateShadowBias())}},{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=vd[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this._updateShadowBias(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"bakeShadows",get:function(){return this._castShadows&&4===this._mask}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new Bt),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Rt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=Tt.float2Half;this._textureFormat===me&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=Ro.screenDepthPS),s+=Ro.particle_cpuVS,e.localSpace&&(s+=Ro.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=Ro.particle_pointAlongVS),s+=e.mesh?Ro.particle_meshVS:r,1===e.normal&&(s+=Ro.particle_normalVS),2===e.normal&&(s+=Ro.particle_TBNVS),e.stretch>0&&(s+=Ro.particle_stretchVS),s+=Ro.particle_cpu_endVS,e.soft>0&&(s+=Ro.particle_softVS)):(s+=Ro.particle_initVS,s+=e.pack8?Ro.particleInputRgba8PS:Ro.particleInputFloatPS,e.soft>0&&(s+=Ro.screenDepthPS),s+=Ro.particleVS,e.localSpace&&(s+=Ro.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=Ro.particle_wrapVS),e.alignToMotion&&(s+=Ro.particle_pointAlongVS),s+=e.mesh?Ro.particle_meshVS:r,1===e.normal&&(s+=Ro.particle_normalVS),2===e.normal&&(s+=Ro.particle_TBNVS),e.stretch>0&&(s+=Ro.particle_stretchVS),s+=Ro.particle_endVS,e.soft>0&&(s+=Ro.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=Ro.decodePS,n+=ko.gammaCode(e.gamma),n+=ko.tonemapCode(e.toneMap),"linear"===e.fog?n+=Ro.fogLinearPS:"exp"===e.fog?n+=Ro.fogExpPS:"exp2"===e.fog?n+=Ro.fogExp2PS:n+=Ro.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=Ro.screenDepthPS),n+=Ro.particlePS,e.soft>0&&(n+=Ro.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=Ro.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?Ro.particle_halflambertPS:Ro.particle_lambertPS),e.normal>0&&(n+=Ro.particle_lightingPS),2===e.blend?n+=Ro.particle_blendNormalPS:1===e.blend?n+=Ro.particle_blendAddPS:5===e.blend&&(n+=Ro.particle_blendMultiplyPS),n+=Ro.particle_endPS,Pr.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(ko),Md=new Cd,Pd=1,Rd=new Bt,Id=new Bt,Dd=new wt,Ld=new wt,kd=new wt,Od=new wt,Fd=new wt,Bd=new wt,Nd=new wt,Ud=new wt,zd=new wt,Vd=new wt,Gd=new wt,Hd=new wt,Wd=new wt;function Xd(t){return t-Math.floor(t)}function jd(t){return Math.max(Math.min(t,1),0)}function qd(t,e){return t-e*Math.floor(t/e)}function Yd(t){var e=Xd(t),i=Xd(255*t);return[e-=i/255,i-=i/255]}var Kd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),Ld.x=a-.5,Ld.y=o-.5,Ld.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(Ld.x),Math.max(Math.abs(Ld.y),Math.abs(Ld.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];Ld.x=u*(c===Math.abs(Ld.x)?Math.sign(Ld.x):2*Ld.x),Ld.y=d*(c===Math.abs(Ld.y)?Math.sign(Ld.y):2*Ld.y),Ld.z=f*(c===Math.abs(Ld.z)?Math.sign(Ld.z):2*Ld.z),r.localSpace?Dd.copy(e.transformPoint(Ld)):Dd.copy(n).add(e.transformPoint(Ld))}else{Ld.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?Dd.copy(Ld.mulScalar(m*r.emitterRadius)):Dd.copy(n).add(Ld.mulScalar(m*r.emitterRadius))}var _,v,g,y,x,S=-ft.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(Dd.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,T=(Dd.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,w=(Dd.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,E=ft.lerp(r.startAngle*ft.DEG_TO_RAD,r.startAngle2*ft.DEG_TO_RAD,a);E=E%(2*Math.PI)/(2*Math.PI);var A=Yd(b);t[4*s]=A[0],t[4*s+1]=A[1];var C=Yd(T);t[4*s+2]=C[0],t[4*s+3]=C[1];var M=Yd(w);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=Yd(E);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,D=(v=Xd(_=S=(S+R)/(R+I)),g=Xd(255*_),y=Xd(65025*_),x=Xd(160581375*_),[v-=g/255,g-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=D[0],t[4*s+1+4*r.numParticlesPot*3]=D[1],t[4*s+2+4*r.numParticlesPot*3]=D[2],t[4*s+3+4*r.numParticlesPot*3]=D[3]}else t[4*s]=Dd.x,t[4*s+1]=Dd.y,t[4*s+2]=Dd.z,t[4*s+3]=ft.lerp(r.startAngle*ft.DEG_TO_RAD,r.startAngle2*ft.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)Rd.data[f]=d.data[f];Id.copy(Rd),Id.invert(),nd=u.meshInstance.node.localScale,Pd=Math.max(Math.max(nd.x,nd.y),nd.z)}r=null===u.meshInstance.node||u.localSpace?wt.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,v,g,y,x,S,b=u.camera?u.camera._node.getPosition():wt.ZERO,T=u.useMesh?17:15,w=u.precision-1,E=0;E=P)&&this.calcSpawnPosition(i,n,s,r,A);var k=R>0&&R0&&(1===u.emitterShape?(Ld.copy(kd).mulScalar(2).sub(wt.ONE).normalize(),Bd.add(Ld.mulScalar(u.initialVelocity))):Bd.add(wt.FORWARD.mulScalar(u.initialVelocity))),Fd.x+=(Nd.x-Fd.x)*kd.x,Fd.y+=(Nd.y-Fd.y)*kd.y,Fd.z+=(Nd.z-Fd.z)*kd.z,_+=(v-_)*kd.y,D=(D+1e4*C%1*(g-D))*Pd,L=1e3*C%1*(x-y),u.meshInstance.node&&(u.localSpace?(Bd.x/=nd.x,Bd.y/=nd.y,Bd.z/=nd.z):Rd.transformPoint(Bd,Bd)),u.localSpace?(Id.transformPoint(Fd,Fd),Bd.add(Fd).add(zd)):(Bd.add(Fd.mul(nd)),Bd.add(zd.mul(nd))),Hd.copy(Bd),Vd.copy(Od).add(Bd.mulScalar(a)),Gd.copy(Vd),i[4*A]=Gd.x,i[4*A+1]=Gd.y,i[4*A+2]=Gd.z,i[4*A+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||Gd.sub(r),Gd.x=qd(Gd.x,u.wrapBounds.x)-.5*u.wrapBounds.x,Gd.y=qd(Gd.y,u.wrapBounds.y)-.5*u.wrapBounds.y,Gd.z=qd(Gd.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||Gd.add(r)),u.sort>0&&(1===u.sort?(Wd.copy(Gd).sub(b),u.particleDistance[A]=-(Wd.x*Wd.x+Wd.y*Wd.y+Wd.z*Wd.z)):2===u.sort?u.particleDistance[A]=R:3===u.sort&&(u.particleDistance[A]=-R))),o?R<0&&(i[4*A+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*A+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*A+3+2*u.numParticlesPot*4]=1)),i[4*A+3+2*u.numParticlesPot*4]<0&&(k=!1),i[4*A+3+4*u.numParticlesPot]=R;for(var O=0;O0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),_f("rate",1),_f("rate2",this.rate),_f("lifetime",50),_f("emitterExtents",new wt(0,0,0)),_f("emitterExtentsInner",new wt(0,0,0)),_f("emitterRadius",0),_f("emitterRadiusInner",0),_f("emitterShape",0),_f("initialVelocity",1),_f("wrap",!1),_f("localSpace",!1),_f("screenSpace",!1),_f("wrapBounds",null),_f("colorMap",this.defaultParamTexture),_f("normalMap",null),_f("loop",!0),_f("preWarm",!1),_f("sort",0),_f("mode",0),_f("scene",null),_f("lighting",!1),_f("halfLambert",!1),_f("intensity",1),_f("stretch",0),_f("alignToMotion",!1),_f("depthSoftening",0),_f("mesh",null),_f("particleNormal",new wt(0,1,0)),_f("orientation",0),_f("depthWrite",!1),_f("noFog",!1),_f("blendType",2),_f("node",null),_f("startAngle",0),_f("startAngle2",this.startAngle),_f("animTilesX",1),_f("animTilesY",1),_f("animStartFrame",0),_f("animNumFrames",1),_f("animNumAnimations",1),_f("animIndex",0),_f("randomizeAnimIndex",!1),_f("animSpeed",1),_f("animLoop",!0),this._gpuUpdater=new $d(this,i),this._cpuUpdater=new Kd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),_f("colorGraph",lf),_f("colorGraph2",this.colorGraph),_f("scaleGraph",of),_f("scaleGraph2",this.scaleGraph),_f("alphaGraph",of),_f("alphaGraph2",this.alphaGraph),_f("localVelocityGraph",hf),_f("localVelocityGraph2",this.localVelocityGraph),_f("velocityGraph",hf),_f("velocityGraph2",this.velocityGraph),_f("rotationSpeedGraph",af),_f("rotationSpeedGraph2",this.rotationSpeedGraph),_f("radialSpeedGraph",af),_f("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new Wt,this.worldBoundsNoTrail=new Wt,this.worldBoundsTrail=[new Wt,new Wt],this.worldBounds=new Wt,this.worldBoundsSize=new wt,this.prevWorldBoundsSize=new wt,this.prevWorldBoundsCenter=new wt,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new wt,this.worldBoundsAdd=new wt,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?Bt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],v=[0,0],g=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,cf=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=ft.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?Bt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=0),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?Bt.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new wt(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new wt).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:Ke,components:4,type:6},{semantic:Ze,components:4,type:6},{semantic:Qe,components:4,type:6},{semantic:Je,components:1,type:6},{semantic:$e,components:this.useMesh?4:2,type:6}],s=new bn(this.graphicsDevice,n);this.vertexBuffer=new pn(this.graphicsDevice,s,e,{usage:1}),this.indexBuffer=new jr(this.graphicsDevice,1,i)}else{var r=[{semantic:Ke,components:4,type:6}];this.useMesh&&r.push({semantic:Ze,components:2,type:6});var a=new bn(this.graphicsDevice,r);this.vertexBuffer=new pn(this.graphicsDevice,a,e,{usage:1}),this.indexBuffer=new jr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},v(t,[{key:"defaultParamTexture",get:function(){var t=this;return Sf.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new Vh(this.mesh,this.material,Ff)),t.push(this.meshInstance))},e.clear=function(){this.positions.length=0,this.colors.length=0},t}(),Nf=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new Bf(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},e.clear=function(){this.map.forEach((function(t){return t.clear()}))},t}(),Uf=[],zf=new wt,Vf=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new ih;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new Nf(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=Fo(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+Ro.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(getImageEffectUV(uv0)) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new dh(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(5)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new Vh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s,r){if(r){var a=function(t,e,i){zf.set(t,e,i),r.transformPoint(zf,zf),Uf.push(zf.x,zf.y,zf.z)};a(t.x,t.y,t.z),a(t.x,e.y,t.z),a(t.x,e.y,t.z),a(e.x,e.y,t.z),a(e.x,e.y,t.z),a(e.x,t.y,t.z),a(e.x,t.y,t.z),a(t.x,t.y,t.z),a(t.x,t.y,e.z),a(t.x,e.y,e.z),a(t.x,e.y,e.z),a(e.x,e.y,e.z),a(e.x,e.y,e.z),a(e.x,t.y,e.z),a(e.x,t.y,e.z),a(t.x,t.y,e.z),a(t.x,t.y,t.z),a(t.x,t.y,e.z),a(t.x,e.y,t.z),a(t.x,e.y,e.z),a(e.x,e.y,t.z),a(e.x,e.y,e.z),a(e.x,t.y,t.z),a(e.x,t.y,e.z)}else Uf.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z);this.getBatch(s,n).addLinesArrays(Uf,i),Uf.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],v=d[m+1];if(_.time<=this._time&&v.time>=this._time){var g=(this._time-_.time)/(v.time-_.time);f._pos.lerp(_.position,v.position,g),f._quat.slerp(_.rotation,v.rotation,g),f._scale.lerp(_.scale,v.scale,g),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s0)for(var x=0;x<=s;x++)for(var S=0;S<=r;S++){var b=S/r*2*Math.PI-Math.PI,T=Math.sin(b),w=Math.cos(b);f.set(T*e,-n/2,w*e),d.set(T*i,n/2,w*i),l.lerp(f,d,x/s),c.sub2(d,f).normalize(),p.set(w,0,-T),u.cross(p,c).normalize(),m.push(l.x,l.y,l.z),_.push(u.x,u.y,u.z);var E=S/r,A=x/s;v.push(E,1-A);var C=A;if(A=E,E=(E=C)*rp+sp,A=A*rp+sp,E/=3,g.push(E,1-A),x0)for(var ft=0;ft1&&y.push(h,h+ft,h+ft-1)}if(h+=r,i>0)for(var xt=0;xt1&&y.push(h,h+xt-1,h+xt)}}return o.positions=m,o.normals=_,o.uvs=v,o.uvs1=g,o.indices=y,o}return x(e,t),e}(Mf),op=function(t){function e(e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20;return a=t.call(this,o,o,h-2*o,l,c,!0)||this,e.calculateTangents&&(a.tangents=Cf(a.positions,a.normals,a.uvs,a.indices)),a}return x(e,t),e}(ap),hp=function(t){function e(e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18;return o=t.call(this,h,l,c,u,d,!1)||this,e.calculateTangents&&(o.tangents=Cf(o.positions,o.normals,o.uvs,o.indices)),o}return x(e,t),e}(ap),lp=function(t){function e(e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20;return a=t.call(this,o,o,h,l,c,!1)||this,e.calculateTangents&&(a.tangents=Cf(a.positions,a.normals,a.uvs,a.indices)),a}return x(e,t),e}(ap),cp=function(t){function e(e){var i,n,s,r;void 0===e&&(e={}),r=t.call(this)||this;for(var a=null!=(i=e.halfExtents)?i:new Mt(.5,.5),o=null!=(n=e.widthSegments)?n:5,h=null!=(s=e.lengthSegments)?s:5,l=[],c=[],u=[],d=[],f=0,p=0;p<=o;p++)for(var m=0;m<=h;m++){var _=-a.x+2*a.x*p/o,v=-(-a.y+2*a.y*m/h),g=p/o,y=m/h;l.push(_,0,v),c.push(0,1,0),u.push(g,1-y),p 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2DLodEXT(source, vUv0, 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 - pixelOffset, 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(0, -pixelOffset.y), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(-pixelOffset.x, 0), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(pixelOffset.x, 0), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + vec2(0, pixelOffset.y), 0.0);\n\tc = c.a>0.0? c : texture2DLodEXT(source, vUv0 + pixelOffset, 0.0);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2DLodEXT(source, vUv0, 0.0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2DLodEXT(source, coord, 0.0);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},pp=new Bt,mp=new Nt,_p=new Wt,vp=new Wt,gp=new pt(1,1,0,.4),yp=.28209479177387814,xp=function(t,e,i,n,s){var r=t.getProp("x"),a=t.getProp("y"),o=t.getProp("z"),h=t.getProp("rot_1"),l=t.getProp("rot_2"),c=t.getProp("rot_3"),u=t.getProp("rot_0"),d=t.getProp("scale_0"),f=t.getProp("scale_1"),p=t.getProp("scale_2"),m=t.getProp("f_dc_0"),_=t.getProp("f_dc_1"),v=t.getProp("f_dc_2"),g=t.getProp("opacity");this.read=function(t){e&&(e.x=r[t],e.y=a[t],e.z=o[t]),i&&i.set(h[t],l[t],c[t],u[t]),n&&n.set(Math.exp(d[t]),Math.exp(f[t]),Math.exp(p[t])),s&&s.set(.5+m[t]*yp,.5+_[t]*yp,.5+v[t]*yp,function(t){if(t>0)return 1/(1+Math.exp(-t));var e=Math.exp(t);return e/(1+e)}(g[t]))}},Sp=function(t,e,i){mp.set(i.x,i.y,i.z,i.w).normalize(),t.setTRS(e,mp,wt.ONE)},bp=function(){function t(t){this.elements=void 0,this.numSplats=void 0,this.elements=t,this.numSplats=this.getElement("vertex").count}t.calcSplatAabb=function(t,e,i,n){Sp(pp,e,i),_p.center.set(0,0,0),_p.halfExtents.set(2*n.x,2*n.y,2*n.z),t.setFromTransformedAabb(_p,pp)};var e=t.prototype;return e.getProp=function(t,e){var i;return void 0===e&&(e="vertex"),null==(i=this.getElement(e))||null==(i=i.properties.find((function(e){return e.name===t})))?void 0:i.storage},e.getElement=function(t){return this.elements.find((function(e){return e.name===t}))},e.addProp=function(t,e){this.getElement("vertex").properties.push({type:"float",name:t,storage:e,byteSize:4})},e.createIter=function(t,e,i,n){return new xp(this,t,e,i,n)},e.calcAabb=function(t,e){for(var i,n,s,r,a,o,h=!0,l=this.getProp("x"),c=this.getProp("y"),u=this.getProp("z"),d=this.getProp("scale_0"),f=this.getProp("scale_1"),p=this.getProp("scale_2"),m=0;mi&&(i=t[n]);return{min:e,max:i}},e=function(t,e,i){var n=function(t){return t=153391689&((t=51130563&((t=50393103&((t=4278190335&((t&=1023)^t<<16))^t<<8))^t<<4))^t<<2)};return(n(i)<<2)+(n(e)<<1)+n(t)},i=this.getProp("x"),n=this.getProp("y"),s=this.getProp("z"),r=t(i),a=r.min,o=r.max,h=t(n),l=h.min,c=h.max,u=t(s),d=u.min,f=u.max,p=a===o?0:1024/(o-a),m=l===c?0:1024/(c-l),_=d===f?0:1024/(f-d),v=new Map,g=0;g= numSplats) {\n\t\t\treturn false;\n\t\t}\n\t\tivec2 orderUV = ivec2(\n\t\t\tint(orderId % textureWidth),\n\t\t\tint(orderId / textureWidth)\n\t\t);\n\t\tsplatId = texelFetch(splatOrder, orderUV, 0).r;\n\t\tsplatUV = ivec2(\n\t\t\tint(splatId % textureWidth),\n\t\t\tint(splatId / textureWidth)\n\t\t);\n\t\treturn true;\n\t}\n\tuvec4 tA;\n\tvec3 getCenter() {\n\t\ttA = texelFetch(transformA, splatUV, 0);\n\t\treturn uintBitsToFloat(tA.xyz);\n\t}\n\tvoid getCovariance(out vec3 covA, out vec3 covB) {\n\t\tvec4 tB = texelFetch(transformB, splatUV, 0);\n\t\tvec2 tC = unpackHalf2x16(tA.w);\n\t\tcovA = tB.xyz;\n\t\tcovB = vec3(tC.x, tC.y, tB.w);\n\t}\n\tvec4 calcV1V2(in vec3 splat_cam, in vec3 covA, in vec3 covB, mat3 W) {\n\t\tmat3 Vrk = mat3(\n\t\t\tcovA.x, covA.y, covA.z, \n\t\t\tcovA.y, covB.x, covB.y,\n\t\t\tcovA.z, covB.y, covB.z\n\t\t);\n\t\tfloat focal = viewport.x * matrix_projection[0][0];\n\t\tfloat J1 = focal / splat_cam.z;\n\t\tvec2 J2 = -J1 / splat_cam.z * splat_cam.xy;\n\t\tmat3 J = mat3(\n\t\t\tJ1, 0.0, J2.x, \n\t\t\t0.0, J1, J2.y, \n\t\t\t0.0, 0.0, 0.0\n\t\t);\n\t\tmat3 T = W * J;\n\t\tmat3 cov = transpose(T) * Vrk * T;\n\t\tfloat diagonal1 = cov[0][0] + 0.3;\n\t\tfloat offDiagonal = cov[0][1];\n\t\tfloat diagonal2 = cov[1][1] + 0.3;\n\t\tfloat mid = 0.5 * (diagonal1 + diagonal2);\n\t\tfloat radius = length(vec2((diagonal1 - diagonal2) / 2.0, offDiagonal));\n\t\tfloat lambda1 = mid + radius;\n\t\tfloat lambda2 = max(mid - radius, 0.1);\n\t\tvec2 diagonalVector = normalize(vec2(offDiagonal, lambda1 - diagonal1));\n\t\tvec2 v1 = min(sqrt(2.0 * lambda1), 1024.0) * diagonalVector;\n\t\tvec2 v2 = min(sqrt(2.0 * lambda2), 1024.0) * vec2(diagonalVector.y, -diagonalVector.x);\n\t\treturn vec4(v1, v2);\n\t}\n\tvec3 unpack111011(uint bits) {\n\t\treturn vec3(\n\t\t\tfloat(bits >> 21u) / 2047.0,\n\t\t\tfloat((bits >> 11u) & 0x3ffu) / 1023.0,\n\t\t\tfloat(bits & 0x7ffu) / 2047.0\n\t\t);\n\t}\n\tvoid fetchScale(in uvec4 t, out float scale, out vec3 a, out vec3 b, out vec3 c) {\n\t\tscale = uintBitsToFloat(t.x);\n\t\ta = unpack111011(t.y) * 2.0 - 1.0;\n\t\tb = unpack111011(t.z) * 2.0 - 1.0;\n\t\tc = unpack111011(t.w) * 2.0 - 1.0;\n\t}\n\tvoid fetch(in uvec4 t, out vec3 a, out vec3 b, out vec3 c, out vec3 d) {\n\t\ta = unpack111011(t.x) * 2.0 - 1.0;\n\t\tb = unpack111011(t.y) * 2.0 - 1.0;\n\t\tc = unpack111011(t.z) * 2.0 - 1.0;\n\t\td = unpack111011(t.w) * 2.0 - 1.0;\n\t}\n\t#if defined(USE_SH1)\n\t\t#define SH_C1 0.4886025119029199f\n\t\tuniform highp usampler2D splatSH_1to3;\n\t#if defined(USE_SH2)\n\t\t#define SH_C2_0 1.0925484305920792f\n\t\t#define SH_C2_1 -1.0925484305920792f\n\t\t#define SH_C2_2 0.31539156525252005f\n\t\t#define SH_C2_3 -1.0925484305920792f\n\t\t#define SH_C2_4 0.5462742152960396f\n\t\tuniform highp usampler2D splatSH_4to7;\n\t\tuniform highp usampler2D splatSH_8to11;\n\t#if defined(USE_SH3)\n\t\t#define SH_C3_0 -0.5900435899266435f\n\t\t#define SH_C3_1 2.890611442640554f\n\t\t#define SH_C3_2 -0.4570457994644658f\n\t\t#define SH_C3_3 0.3731763325901154f\n\t\t#define SH_C3_4 -0.4570457994644658f\n\t\t#define SH_C3_5 1.445305721320277f\n\t\t#define SH_C3_6 -0.5900435899266435f\n\t\tuniform highp usampler2D splatSH_12to15;\n\t#endif\n\t#endif\n\t#endif\n\tvec3 evalSH(in vec3 dir) {\n\t\tvec3 result = vec3(0.0);\n\t#if defined(USE_SH1)\n\t\tfloat x = dir.x;\n\t\tfloat y = dir.y;\n\t\tfloat z = dir.z;\n\t\tfloat scale;\n\t\tvec3 sh1, sh2, sh3;\n\t\tfetchScale(texelFetch(splatSH_1to3, splatUV, 0), scale, sh1, sh2, sh3);\n\t\tresult += SH_C1 * (-sh1 * y + sh2 * z - sh3 * x);\n\t#if defined(USE_SH2)\n\t\tfloat xx = x * x;\n\t\tfloat yy = y * y;\n\t\tfloat zz = z * z;\n\t\tfloat xy = x * y;\n\t\tfloat yz = y * z;\n\t\tfloat xz = x * z;\n\t\tvec3 sh4, sh5, sh6, sh7;\n\t\tvec3 sh8, sh9, sh10, sh11;\n\t\tfetch(texelFetch(splatSH_4to7, splatUV, 0), sh4, sh5, sh6, sh7);\n\t\tfetch(texelFetch(splatSH_8to11, splatUV, 0), sh8, sh9, sh10, sh11);\n\t\tresult +=\n\t\t\tsh4 * (SH_C2_0 * xy) * +\n\t\t\tsh5 * (SH_C2_1 * yz) +\n\t\t\tsh6 * (SH_C2_2 * (2.0 * zz - xx - yy)) +\n\t\t\tsh7 * (SH_C2_3 * xz) +\n\t\t\tsh8 * (SH_C2_4 * (xx - yy));\n\t#if defined(USE_SH3)\n\t\tvec3 sh12, sh13, sh14, sh15;\n\t\tfetch(texelFetch(splatSH_12to15, splatUV, 0), sh12, sh13, sh14, sh15);\n\t\tresult +=\n\t\t\tsh9 * (SH_C3_0 * y * (3.0 * xx - yy)) +\n\t\t\tsh10 * (SH_C3_1 * xy * z) +\n\t\t\tsh11 * (SH_C3_2 * y * (4.0 * zz - xx - yy)) +\n\t\t\tsh12 * (SH_C3_3 * z * (2.0 * zz - 3.0 * xx - 3.0 * yy)) +\n\t\t\tsh13 * (SH_C3_4 * x * (4.0 * zz - xx - yy)) +\n\t\t\tsh14 * (SH_C3_5 * z * (xx - yy)) +\n\t\t\tsh15 * (SH_C3_6 * x * (xx - 3.0 * yy));\n\t#endif\n\t#endif\n\t\tresult *= scale;\n\t#endif\n\t\treturn result;\n\t}\n"+e.vertex,r=n+Ro.decodePS+(e.dither===Ao?"":Ro.bayerPS+Ro.opacityDitherPS)+ko.tonemapCode(e.toneMapping)+ko.gammaCode(e.gamma)+"\n\t#ifndef DITHER_NONE\n\t\tvarying float id;\n\t#endif\n\t#ifdef PICK_PASS\n\t\tuniform vec4 uColor;\n\t#endif\n\tvec4 evalSplat(vec2 texCoord, vec4 color) {\n\t\tmediump float A = dot(texCoord, texCoord);\n\t\tif (A > 1.0) {\n\t\t\tdiscard;\n\t\t}\n\t\tmediump float B = exp(-A * 4.0) * color.a;\n\t\tif (B < 1.0 / 255.0) {\n\t\t\tdiscard;\n\t\t}\n\t\t#ifdef PICK_PASS\n\t\t\tif (B < 0.3) {\n\t\t\t\tdiscard;\n\t\t\t}\n\t\t\treturn uColor;\n\t\t#endif\n\t\t#ifndef DITHER_NONE\n\t\t\topacityDither(B, id * 0.013);\n\t\t#endif\n\t\t#ifdef TONEMAP_ENABLED\n\t\t\treturn vec4(gammaCorrectOutput(toneMap(decodeGamma(color.rgb))), B);\n\t\t#else\n\t\t\treturn vec4(color.rgb, B);\n\t\t#endif\n\t}\n"+e.fragment;return Pr.createDefinition(t,{name:"SplatShader",attributes:{vertex_position:Le,vertex_id_attrib:hi},vertexCode:s,fragmentCode:r})},t}(),wp=new Tp,Ep=function(){function t(t,e){this.device=void 0,this.numSplats=void 0,this.centers=void 0,this.aabb=void 0,this.colorTexture=void 0,this.transformATexture=void 0,this.transformBTexture=void 0,this.hasSH=void 0,this.sh1to3Texture=void 0,this.sh4to7Texture=void 0,this.sh8to11Texture=void 0,this.sh12to15Texture=void 0;var i=e.numSplats;this.device=t,this.numSplats=i,this.centers=new Float32Array(3*e.numSplats),e.getCenters(this.centers),this.aabb=new Wt,e.calcAabb(this.aabb);var n=this.evalTextureSize(i);this.colorTexture=this.createTexture("splatColor",7,n),this.transformATexture=this.createTexture("transformA",Me,n),this.transformBTexture=this.createTexture("transformB",me,n),this.updateColorData(e),this.updateTransformData(e),this.hasSH=e.hasSHData,this.hasSH&&(this.sh1to3Texture=this.createTexture("splatSH_1to3",Me,n),this.sh4to7Texture=this.createTexture("splatSH_4to7",Me,n),this.sh8to11Texture=this.createTexture("splatSH_8to11",Me,n),this.sh12to15Texture=this.createTexture("splatSH_12to15",Me,n),this.updateSHData(e))}var e=t.prototype;return e.destroy=function(){var t,e,i,n,s,r,a;null==(t=this.colorTexture)||t.destroy(),null==(e=this.transformATexture)||e.destroy(),null==(i=this.transformBTexture)||i.destroy(),null==(n=this.sh1to3Texture)||n.destroy(),null==(s=this.sh4to7Texture)||s.destroy(),null==(r=this.sh8to11Texture)||r.destroy(),null==(a=this.sh12to15Texture)||a.destroy()},e.createMaterial=function(t){var e=function(t){var e;void 0===t&&(t={});var i=null!=(e=t.dither)?e:Ao,n=i!==Ao,s=new eh;return s.name="splatMaterial",s.cull=0,s.blendType=n?3:2,s.depthWrite=n,s.getShaderVariant=function(e,n,s,r,a,o,h,l){var c,u,d={pass:a,gamma:1===a?n.gammaCorrection?3:0:n.gammaCorrection,toneMapping:1===a?0:n.toneMapping,vertex:null!=(c=t.vertex)?c:"\n\tuniform vec3 view_position;\n\tuniform sampler2D splatColor;\n\tvarying mediump vec2 texCoord;\n\tvarying mediump vec4 color;\n\tmediump vec4 discardVec = vec4(0.0, 0.0, 2.0, 1.0);\n\tvoid main(void)\n\t{\n\t\tif (!calcSplatUV()) {\n\t\t\tgl_Position = discardVec;\n\t\t\treturn;\n\t\t}\n\t\tvec3 center = getCenter();\n\t\tmat4 model_view = matrix_view * matrix_model;\n\t\tvec4 splat_cam = model_view * vec4(center, 1.0);\n\t\tif (splat_cam.z > 0.0) {\n\t\t\tgl_Position = discardVec;\n\t\t\treturn;\n\t\t}\n\t\tvec4 splat_proj = matrix_projection * splat_cam;\n\t\tsplat_proj.z = clamp(splat_proj.z, -abs(splat_proj.w), abs(splat_proj.w));\n\t\tvec3 covA, covB;\n\t\tgetCovariance(covA, covB);\n\t\tvec4 v1v2 = calcV1V2(splat_cam.xyz, covA, covB, transpose(mat3(model_view)));\n\t\tcolor = texelFetch(splatColor, splatUV, 0);\n\t\tfloat scale = min(1.0, sqrt(-log(1.0 / 255.0 / color.a)) / 2.0);\n\t\tv1v2 *= scale;\n\t\tif (dot(v1v2.xy, v1v2.xy) < 4.0 && dot(v1v2.zw, v1v2.zw) < 4.0) {\n\t\t\tgl_Position = discardVec;\n\t\t\treturn;\n\t\t}\n\t\tgl_Position = splat_proj + vec4((vertex_position.x * v1v2.xy + vertex_position.y * v1v2.zw) / viewport * splat_proj.w, 0, 0);\n\t\ttexCoord = vertex_position.xy * scale / 2.0;\n\t\t#ifdef USE_SH1\n\t\t\tvec4 worldCenter = matrix_model * vec4(center, 1.0);\n\t\t\tvec3 viewDir = normalize((worldCenter.xyz / worldCenter.w - view_position) * mat3(matrix_model));\n\t\t\tcolor.xyz = max(color.xyz + evalSH(viewDir), 0.0);\n\t\t#endif\n\t\t#ifndef DITHER_NONE\n\t\t\tid = float(splatId);\n\t\t#endif\n\t}\n",fragment:null!=(u=t.fragment)?u:"\n\tvarying mediump vec2 texCoord;\n\tvarying mediump vec4 color;\n\tvoid main(void)\n\t{\n\t\tgl_FragColor = evalSplat(texCoord, color);\n\t}\n",dither:i,defines:t.defines},f=new Zr(h,l),p=Do(e);return p.register("splat",wp),p.getProgram("splat",d,f)},s.update(),s}(y({},this.hasSH?{defines:["USE_SH1","USE_SH2","USE_SH3"]}:{},t));return e.setParameter("splatColor",this.colorTexture),e.setParameter("transformA",this.transformATexture),e.setParameter("transformB",this.transformBTexture),e.setParameter("tex_params",new Float32Array([this.numSplats,this.colorTexture.width,0,0])),this.hasSH&&(e.setParameter("splatSH_1to3",this.sh1to3Texture),e.setParameter("splatSH_4to7",this.sh4to7Texture),e.setParameter("splatSH_8to11",this.sh8to11Texture),e.setParameter("splatSH_12to15",this.sh12to15Texture)),e},e.evalTextureSize=function(t){var e=Math.ceil(Math.sqrt(t)),i=Math.ceil(t/e);return new Mt(e,i)},e.createTexture=function(t,e,i){return new or(this.device,{name:t,width:i.x,height:i.y,format:e,cubemap:!1,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e.getTextureFormat=function(t,e){t.isWebGL1&&(e=!1);var i,n=t.extTextureHalfFloat&&t.textureHalfFloatUpdatable,s=t.extTextureFloat;return e?s?i=!1:n&&(i=!0):n?i=!0:s&&(i=!1),i},e.updateColorData=function(t){var e=this.colorTexture;if(e){for(var i=e.lock(),n=t.getProp("f_dc_0"),s=t.getProp("f_dc_1"),r=t.getProp("f_dc_2"),a=t.getProp("opacity"),o=.28209479177387814,h=0;h255?255:l,i[4*h+1]=c<0?0:c>255?255:c,i[4*h+2]=u<0?0:u>255?255:u,i[4*h+3]=d<0?0:d>255?255:d}e.unlock()}},e.updateTransformData=function(t){var e=Tt.float2Half;if(this.transformATexture){for(var i=this.transformATexture.lock(),n=new Float32Array(i.buffer),s=this.transformBTexture.lock(),r=new wt,a=new Nt,o=new wt,h=t.createIter(r,a,o),l=new At,c=new wt,u=new wt,d=0;da?a:n)<<21|(s<0?0:s>o?o:s)<<11|(r<0?0:r>a?a:r)},l=new Float32Array(1),c=new Uint32Array(l.buffer),u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],d=0;dp&&(p=_)}if(0!==p){for(var v=0;v<45;++v)u[v]=u[v]/p*.5+.5;l[0]=p,e[4*d+0]=c[0],e[4*d+1]=h(u[0],u[15],u[30]),e[4*d+2]=h(u[1],u[16],u[31]),e[4*d+3]=h(u[2],u[17],u[32]),i[4*d+0]=h(u[3],u[18],u[33]),i[4*d+1]=h(u[4],u[19],u[34]),i[4*d+2]=h(u[5],u[20],u[35]),i[4*d+3]=h(u[6],u[21],u[36]),n[4*d+0]=h(u[7],u[22],u[37]),n[4*d+1]=h(u[8],u[23],u[38]),n[4*d+2]=h(u[9],u[24],u[39]),n[4*d+3]=h(u[10],u[25],u[40]),s[4*d+0]=h(u[11],u[26],u[41]),s[4*d+1]=h(u[12],u[27],u[42]),s[4*d+2]=h(u[13],u[28],u[43]),s[4*d+3]=h(u[14],u[29],u[44])}}this.sh1to3Texture.unlock(),this.sh4to7Texture.unlock(),this.sh8to11Texture.unlock(),this.sh12to15Texture.unlock()},t}();function Ap(){var t,e,i,n,s,r,a,o=!1,h={x:0,y:0,z:0},l={x:0,y:0,z:0},c={x:0,y:0,z:0},u={x:0,y:0,z:0};self.onmessage=function(d){if(d.data.order&&(t=new Uint32Array(d.data.order)),d.data.centers){e=new Float32Array(d.data.centers),c.x=u.x=e[0],c.y=u.y=e[1],c.z=u.z=e[2];for(var f=e.length/3,p=1;p=0?function(){var t=function(t,e,i){for(;t<=e;){var n=e+t>>1,s=i(n);if(s>0)t=n+1;else{if(!(s<0))return n;e=n-1}}return~t}(0,w-1,(function(t){return-B(t)}));return Math.min(w,Math.abs(t))}():w;if(i)for(var U=0;U0){var e=this.cameras[0].xr;e&&e.active&&2===e.views.list.length&&(Dp[0]/=2)}this.material.setParameter("viewport",Dp)},e.sort=function(t){if(this.sorter){var e=t.getWorldTransform();e.getTranslation(Rp),e.getZ(Ip);var i=this.meshInstance.node.getWorldTransform(),n=Pp.invert(i);n.transformPoint(Rp,Rp),n.transformVector(Ip,Ip),Rp.equalsApprox(this.lastCameraPosition)&&Ip.equalsApprox(this.lastCameraDirection)||(this.lastCameraPosition.copy(Rp),this.lastCameraDirection.copy(Ip),this.sorter.setCamera(Rp,Ip))}this.updateViewport()},e.update=function(){if(this.cameras.length>0){var t=this.cameras[0];this.sort(t._node),this.cameras.length=0}},t}(),kp="FILL_WINDOW",Op="KEEP_ASPECT",Fp="AUTO",Bp="FIXED";function Np(){return Cp}function Up(t){Cp=t}var zp=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();zp._types=[];var Vp=!1,Gp=!1,Hp={app:null,create:function(t,e){if(Vp){var i=e(Hp.app);i._pcScriptName=t,zp.push(i,Vp),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Gp||(Gp=!0,t(Np()))}};Object.defineProperty(Hp,"legacy",{get:function(){return Vp},set:function(t){Vp=t}}),R.attach(Hp);var Wp=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){t.frameUpdate();for(var e=t.beforePasses,i=0;i=0&&t<=1?0:1})),Qp(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Qp(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Qp(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Qp(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Qp(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Qp(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var tm=Zp[Jp(Yp)];function em(t){return Zp[t]||tm}var im=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-+.]*:)?//|data:|blob:)","i"),nm=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),sm=-1,rm={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},am=["pvr","dxt","etc2","etc1","basis"],om=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=sm--,a._name=e||"",a.type=i,a.tags=new ht(a),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a.urlObject=null,a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}x(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!im.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=D.getDirectory(this.file.url);return D.join(e,t)},i.getLocalizedAssetId=function(t){return t=$p(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.urlObject&&(URL.revokeObjectURL(this.urlObject),this.urlObject=null),this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},v(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||Np(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=am[a];if(t.variants[i]&&s[rm[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=am.length;athis.bytesRead+this.headerSize){this.headerRead=!0;var t=new DataView(this.data.buffer,this.bytesRead,this.headerSize);null!=this.decoder||(this.decoder=new TextDecoder("windows-1252"));var e=this.decoder.decode(t);if(this.fileName=e.substring(0,100).replace(/\0/g,""),this.fileSize=parseInt(e.substring(124,136),8),this.fileType=e.substring(156,157),this.ustarFormat=e.substring(257,263),-1!==this.ustarFormat.indexOf("ustar")){var i=e.substring(345,500).replace(/\0/g,"");i.length>0&&(this.fileName=i.trim()+this.fileName.trim())}this.bytesRead+=512}if(this.headerRead){if(this.bytesReceived0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new dd("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new ld(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[5]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===kp&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===Fp){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&qp.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=pt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s,r){void 0===i&&(i=pt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s,r)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new Bt;h.setTRS(new wt(t,e,0),Nt.IDENTITY,new wt(i,-n,0)),r||((r=new eh).cull=0,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new eh;r.cull=0,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Xl(Lm,t,e),Lm.mulScalar(.5*n),i._node.rotateLocal(Lm.x,0,Lm.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},v(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}])}(Dm),Om=new wt,Fm=function(t){function e(e){var i=e.scene,n=new Sm("AmbientLight");return n.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:i.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:pt.WHITE,intensity:1,bakeDir:!1}),t.call(this,i,n.light.light,e.lightingParams)||this}return x(e,t),e.prototype.prepareVirtualLight=function(t,e){jl(Om,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(Om.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},v(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}])}(Dm),Bm=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),Nm=function(){function t(t){this.device=t,this.shaderDilate=Fo(t,Ro.fullscreenQuadVS,fp.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=Fo(this.device,Ro.fullscreenQuadVS,fp.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),Um=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e)||this).viewBindGroups=[],o.renderer=i,o.camera=n,o.worldClusters=s,o.receivers=r,o.lightArray=a,o}x(e,t);var i=e.prototype;return i.destroy=function(){this.viewBindGroups.forEach((function(t){t.defaultUniformBuffer.destroy(),t.destroy()})),this.viewBindGroups.length=0},i.execute=function(){this.device;var t=this.renderer,e=this.camera,i=this.receivers,n=this.renderTarget,s=this.worldClusters,r=this.lightArray;t.renderForwardLayer(e,n,null,void 0,1,this.viewBindGroups,{meshInstances:i,splitLights:r,lightClusters:s})},e}(Kr),zm=new wt,Vm=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new pt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;Dh.decRef(this.blackTex),this.blackTex=null,Dh.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new Nm(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new or(this.device,{width:4,height:4,format:7,type:di,name:"lightmapBlack"}),Dh.incRef(this.blackTex);var e=new ll;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new Rh,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Sd(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new wt(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Hl(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){Dh.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new Lc;s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Qi;if(s.chunks.transformVS="#define UV1LAYOUT\n"+Ro.transformVS,0===i){var r=fp.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new pt(0,0,0),s.ambientTint=!0),s.chunks.basePS=Ro.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=Ro.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=fp.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=0,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new Bm(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=vo),this.scene.ambientBake&&(u|=To),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=lt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var T=0;T1&&y.prepareVirtualLight(T,b),y.startBake();var w=!1,E=this.lightCameraPrepare(r,y);for(_=0;_0&&T>0)&&!(x&&m>0);m++){var M=A.renderTargets[m],P=A.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?g=n.updateShaders:g&&(n.updateShaders=!0);var D=this.passMaterials[m];for(x&&T+1===b&&0===m&&(D=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,y({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},v(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new jm(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}])}();qm.eventFrame={start:0,end:0,residual:0};var Ym="NONE",Km="PREV_STATE",Zm="NEXT_STATE",Qm="PREV_STATE_NEXT_STATE",Jm="NEXT_STATE_PREV_STATE",$m="GREATER_THAN",t_="LESS_THAN",e_="GREATER_THAN_EQUAL_TO",i_="LESS_THAN_EQUAL_TO",n_="EQUAL_TO",s_="NOT_EQUAL_TO",r_="INTEGER",a_="FLOAT",o_="BOOLEAN",h_="TRIGGER",l_="2D_DIRECTIONAL",c_="2D_CARTESIAN",u_="DIRECT",d_="START",f_="END",p_="ANY",m_=[d_,f_,p_],__="OVERWRITE",v_="ADDITIVE",g_=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),E_=v((function(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}),[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),A_=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={},s=function(t){n[t.name]=t;for(var e=0;e0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new qm(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===T_?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new Jf(r),this.toSkel=new Jf(r),this.skeleton=new Jf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new S_(new A_(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},v(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==T_.EMPTY}))},v(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==I_?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==m_.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}])}(),N_=v((function(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Ym:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}),[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),U_=function(){function t(t,e,i,n,s,r,a){var o=this;this._states={},this._stateNames=[],this._findTransitionsFromStateCache={},this._findTransitionsBetweenStatesCache={},this._previousStateName=null,this._activeStateName=d_,this._activeStateDuration=0,this._activeStateDurationDirty=!0,this._playing=!1,this._activate=void 0,this._transitions=void 0,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._transitionInterruptionSource=Ym,this._transitionPreviousStates=[],this._timeInState=0,this._timeInStateBefore=0,this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),ud(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case t_:if(!(s.value=n.value))return!1;break;case i_:if(!(s.value<=n.value))return!1;break;case n_:if(s.value!==n.value)return!1;break;case s_:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case Km:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(p_));break;case Zm:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(p_));break;case Qm:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(p_));break;case Jm:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(p_))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(p_));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===f_){var r=this._findTransitionsFromState(d_)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new N_({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new B_(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==m_.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=d_,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case Mt:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case wt:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Rt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case pt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Nt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new E_((function(e){r(e),t.material.update()}),a,o,n):new E_(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={},e=function(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}])}(Gm),K_=function(){this.enabled=!0},Z_=["enabled"],Q_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Y_,i.DataType=K_,i.schema=Z_,i.on("beforeremove",i.onBeforeRemove,i),i.app.systems.on("animationUpdate",i.onAnimationUpdate,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Z_);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers&&i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==T_.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})),i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(Hm);Gm._buildAccessors(Y_.prototype,Z_);var J_=function(t){function e(e,i){return t.call(this,e,i)||this}x(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(Gm),$_=function(){this.enabled=!0},tv=["enabled"],ev=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=J_,i.DataType=$_,i.schema=tv,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Hm);Gm._buildAccessors(J_.prototype,tv);var iv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,n),n.on("set_loop",n.onSetLoop,n),n.on("set_volume",n.onSetVolume,n),n.on("set_pitch",n.onSetPitch,n),n.on("set_minDistance",n.onSetMinDistance,n),n.on("set_maxDistance",n.onSetMaxDistance,n),n.on("set_rollOffFactor",n.onSetRollOffFactor,n),n.on("set_distanceModel",n.onSetDistanceModel,n),n.on("set_3d",n.onSet3d,n),n}x(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new pt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},v(e,[{key:"data",get:function(){var t=this.system.store[this.entity.getGuid()];return t?t.data:null}},{key:"enabled",get:function(){return this.data.enabled},set:function(t){this._setValue("enabled",t)}},{key:"active",get:function(){return this.data.active},set:function(t){this._setValue("active",t)}},{key:"imageEntity",get:function(){return this.data.imageEntity},set:function(t){this._setValue("imageEntity",t)}},{key:"hitPadding",get:function(){return this.data.hitPadding},set:function(t){this._setValue("hitPadding",t)}},{key:"transitionMode",get:function(){return this.data.transitionMode},set:function(t){this._setValue("transitionMode",t)}},{key:"hoverTint",get:function(){return this.data.hoverTint},set:function(t){this._setValue("hoverTint",t)}},{key:"pressedTint",get:function(){return this.data.pressedTint},set:function(t){this._setValue("pressedTint",t)}},{key:"inactiveTint",get:function(){return this.data.inactiveTint},set:function(t){this._setValue("inactiveTint",t)}},{key:"fadeDuration",get:function(){return this.data.fadeDuration},set:function(t){this._setValue("fadeDuration",t)}},{key:"hoverSpriteAsset",get:function(){return this.data.hoverSpriteAsset},set:function(t){this._setValue("hoverSpriteAsset",t)}},{key:"hoverSpriteFrame",get:function(){return this.data.hoverSpriteFrame},set:function(t){this._setValue("hoverSpriteFrame",t)}},{key:"pressedSpriteAsset",get:function(){return this.data.pressedSpriteAsset},set:function(t){this._setValue("pressedSpriteAsset",t)}},{key:"pressedSpriteFrame",get:function(){return this.data.pressedSpriteFrame},set:function(t){this._setValue("pressedSpriteFrame",t)}},{key:"inactiveSpriteAsset",get:function(){return this.data.inactiveSpriteAsset},set:function(t){this._setValue("inactiveSpriteAsset",t)}},{key:"inactiveSpriteFrame",get:function(){return this.data.inactiveSpriteFrame},set:function(t){this._setValue("inactiveSpriteFrame",t)}}])}(Gm);function Sv(t){return new pt(t.r,t.g,t.b)}xv.EVENT_MOUSEDOWN="mousedown",xv.EVENT_MOUSEUP="mouseup",xv.EVENT_MOUSEENTER="mouseenter",xv.EVENT_MOUSELEAVE="mouseleave",xv.EVENT_CLICK="click",xv.EVENT_TOUCHSTART="touchstart",xv.EVENT_TOUCHEND="touchend",xv.EVENT_TOUCHCANCEL="touchcancel",xv.EVENT_TOUCHLEAVE="touchleave",xv.EVENT_SELECTSTART="selectstart",xv.EVENT_SELECTEND="selectend",xv.EVENT_SELECTENTER="selectenter",xv.EVENT_SELECTLEAVE="selectleave",xv.EVENT_HOVERSTART="hoverstart",xv.EVENT_HOVEREND="hoverend",xv.EVENT_PRESSEDSTART="pressedstart",xv.EVENT_PRESSEDEND="pressedend";var bv=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Rt,this.transitionMode=0,this.hoverTint=new pt(.75,.75,.75),this.pressedTint=new pt(.5,.5,.5),this.inactiveTint=new pt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},Tv=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],wv=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=xv,i.DataType=bv,i.schema=Tv,i.on("beforeremove",i._onRemoveComponent,i),i.app.systems.on("update",i.onUpdate,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,Tv)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Hm),Ev=new wt,Av=new Nt,Cv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,n),n.on("set_type",n.onSetType,n),n.on("set_convexHull",n.onSetModel,n),n.on("set_halfExtents",n.onSetHalfExtents,n),n.on("set_linearOffset",n.onSetOffset,n),n.on("set_angularOffset",n.onSetOffset,n),n.on("set_radius",n.onSetRadius,n),n.on("set_height",n.onSetHeight,n),n.on("set_axis",n.onSetAxis,n),n.on("set_asset",n.onSetAsset,n),n.on("set_renderAsset",n.onSetRenderAsset,n),n.on("set_model",n.onSetModel,n),n.on("set_render",n.onSetRender,n),n}x(e,t);var i=e.prototype;return i._setValue=function(t,e){var i=this.data,n=i[t];i[t]=e,this.fire("set",t,n,e)},i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(wt.ZERO)||!this.data.angularOffset.equals(Nt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof om&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof om&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i.getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),Nv=new Bt,Uv=new wt,zv=new wt,Vv=new Nt,Gv=new Rh,Hv=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","convexHull","asset","renderAsset","shape","model","render","checkVertexDuplicates"],Wv=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new wd,e.model.graph=new Rh},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(t!==t._compoundParent&&this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&!t.rigidbody){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e,!0),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new Bv(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,convexHull:i.data.convexHull,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render,checkVertexDuplicates:i.data.checkVertexDuplicates};return this.system.addComponent(e,n)},t}(),Xv=function(t){function e(){return t.apply(this,arguments)||this}return x(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(Wv),jv=function(t){function e(){return t.apply(this,arguments)||this}return x(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(Wv),qv=function(t){function e(){return t.apply(this,arguments)||this}return x(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(Wv),Yv=function(t){function e(){return t.apply(this,arguments)||this}return x(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(Wv),Kv=function(t){function e(){return t.apply(this,arguments)||this}return x(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(Wv),Zv=function(t){function e(){return t.apply(this,arguments)||this}x(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoHull=function(t,e,i,n){var s=new Ammo.btConvexHullShape,r=new Ammo.btVector3,a=[];t.getPositions(a);for(var o=0;o=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){var t=function(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===uv&&s>this._targetAspectRatio||e.fitMode===dv&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){this._evtSetMeshes=t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){var e;null==(e=this._evtSetMeshes)||e.off(),this._evtSetMeshes=null,t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=ft.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof om?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new wn({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},v(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Rt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof om&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==cv&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==cv&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof om&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof om&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=ft.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=ft.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}])}(),ig=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,i),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}x(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},v(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof om?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof om?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset()),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}])}(P),ng="msdf",sg="bitmap",rg=/[\w|/]/,ag=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(rg)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function hg(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),hg(t[i],e[i])):t[i]=n}}function lg(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,g=this._element.calculatedWidth;(this.autoWidth&&!v||!this._wrapLines)&&(g=Number.POSITIVE_INFINITY);var y,x,S,b,T=0,w=0;function E(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)pg.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var A=!0;A;){A=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var C=this._fontSize/32;T=this._fontMinY*C,w=this._fontMaxY*C;for(var M=0;M=r?null:this._symbols[N+1],pg.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var j=this._font.data.kerning;if(j){var q=j[it.getCodePoint(this._symbols[N-1])||0];q&&(X=q[it.getCodePoint(this._symbols[N])||0]||0)}}H=x.scale||1,G=C*((x.width+x.height)/2)/H,V=(x.xadvance+X)*C,U=(x.xoffset-X)*C,z=x.yoffset*C}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=mg.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],J=a+this._spacing*V;if(J>g&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=ft.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,A=!0;break}if(this.height=Math.max(this.height,w-(o+T)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=ft.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,A=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=N+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var pt=3*this._symbolColors[N];P=this._colorPalette[pt],R=this._colorPalette[pt+1],I=this._colorPalette[pt+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var mt=5*this._symbolOutlineParams[N];D=this._outlinePalette[mt]+256*this._outlinePalette[mt+1],L=this._outlinePalette[mt+2]+256*this._outlinePalette[mt+3],k=this._outlinePalette[mt+4]}if(Q.outlines[4*S*3+0]=D,Q.outlines[4*S*3+1]=L,Q.outlines[4*S*3+2]=k,Q.outlines[4*S*3+3]=D,Q.outlines[4*S*3+4]=L,Q.outlines[4*S*3+5]=k,Q.outlines[4*S*3+6]=D,Q.outlines[4*S*3+7]=L,Q.outlines[4*S*3+8]=k,Q.outlines[4*S*3+9]=D,Q.outlines[4*S*3+10]=L,Q.outlines[4*S*3+11]=k,this._symbolShadowParams){var _t=6*this._symbolShadowParams[N];O=this._shadowPalette[_t]+256*this._shadowPalette[_t+1],F=this._shadowPalette[_t+2]+256*this._shadowPalette[_t+3],B=this._shadowPalette[_t+4]+127+256*Math.round(Z*this._shadowPalette[_t+5]+127)}Q.shadows[4*S*3+0]=O,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=O,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=O,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=O,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}A||f=Ot?(Ft.element[Le].set(0,0,0),Ft.element[ze].set(0,0),Ft.element[Ne].set(0,0,0,0),Ft.element[ni].set(0,0,0,0),Ft.element[si].set(0,0,0,0)):(Ft.element[Le].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[ze].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Ne].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[ni].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[si].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof Mt?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(sh.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t,e,i,n,s=this.system.app.scene.layers;(null==(t=this._evtLayersChanged)||t.off(),this._evtLayersChanged=null,s)&&(null==(e=this._evtLayerAdded)||e.off(),this._evtLayerAdded=null,null==(i=this._evtLayerRemoved)||i.off(),this._evtLayerRemoved=null);(this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(n=this.system.app.batcher)||n.remove(sh.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Rt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(sh.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(sh.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Rt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===hv?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof pt||(s=new pt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===lv&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof pt||(s=new pt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===hv&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new Lc,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new Lc;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(Hm),Bg="free",Ng="limited",Ug="locked",zg=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],Vg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=Ug,n._linearLimitsX=new Mt(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=Ug,n._linearLimitsY=new Mt(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=Ug,n._linearLimitsZ=new Mt(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=Ug,n._angularLimitsX=new Mt(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=Ug,n._angularLimitsY=new Mt(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=Ug,n._angularLimitsZ=new Mt(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,n),n}x(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Nt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===Ng?(e=this._angularLimitsX.x*ft.DEG_TO_RAD,s=this._angularLimitsX.y*ft.DEG_TO_RAD):this._angularMotionX===Bg?(e=1,s=0):e=s=0,this._angularMotionY===Ng?(i=this._angularLimitsY.x*ft.DEG_TO_RAD,r=this._angularLimitsY.y*ft.DEG_TO_RAD):this._angularMotionY===Bg?(i=1,r=0):i=r=0,this._angularMotionZ===Ng?(n=this._angularLimitsZ.x*ft.DEG_TO_RAD,a=this._angularLimitsZ.y*ft.DEG_TO_RAD):this._angularMotionZ===Bg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===Ng?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===Bg?(e=1,s=0):e=s=0,this._linearMotionY===Ng?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===Bg?(i=1,r=0):i=r=0,this._linearMotionZ===Ng?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===Bg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new Bt,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=zg;e=i?ey:$g;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,iy.x=e.containerSize.x-e.padding.x-e.padding.z,iy.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>iy[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>iy[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,iy[n.axis]);m===ty?c(r,p,n):m===ey&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Hm);Gm._buildAccessors(hy.prototype,cy);var dy=[];function fy(t,e){for(var i=null,n=0;n=0&&(null==(s=t.batcher)||s.insert(sh.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e,i,n,s=this.system.app,r=s.scene.layers;(null==(t=this._evtLayersChanged)||t.off(),this._evtLayersChanged=null,r)&&(null==(e=this._evtLayerAdded)||e.off(),this._evtLayerAdded=null,null==(i=this._evtLayerRemoved)||i.off(),this._evtLayerRemoved=null);this._batchGroupId>=0&&(null==(n=s.batcher)||n.remove(sh.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(sh.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(sh.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof om&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;r=this.system.app.assets.get(r)}r&&!r.resource&&this.system.app.assets.load(r)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var a=i.mesh;a instanceof dh||(a=null),this.emitter=new bf(this.system.app.graphicsDevice,{numParticles:i.numParticles,emitterExtents:i.emitterExtents,emitterExtentsInner:i.emitterExtentsInner,emitterRadius:i.emitterRadius,emitterRadiusInner:i.emitterRadiusInner,emitterShape:i.emitterShape,initialVelocity:i.initialVelocity,wrap:i.wrap,localSpace:i.localSpace,screenSpace:i.screenSpace,wrapBounds:i.wrapBounds,lifetime:i.lifetime,rate:i.rate,rate2:i.rate2,orientation:i.orientation,particleNormal:i.particleNormal,animTilesX:i.animTilesX,animTilesY:i.animTilesY,animStartFrame:i.animStartFrame,animNumFrames:i.animNumFrames,animNumAnimations:i.animNumAnimations,animIndex:i.animIndex,randomizeAnimIndex:i.randomizeAnimIndex,animSpeed:i.animSpeed,animLoop:i.animLoop,startAngle:i.startAngle,startAngle2:i.startAngle2,scaleGraph:i.scaleGraph,scaleGraph2:i.scaleGraph2,colorGraph:i.colorGraph,colorGraph2:i.colorGraph2,alphaGraph:i.alphaGraph,alphaGraph2:i.alphaGraph2,localVelocityGraph:i.localVelocityGraph,localVelocityGraph2:i.localVelocityGraph2,velocityGraph:i.velocityGraph,velocityGraph2:i.velocityGraph2,rotationSpeedGraph:i.rotationSpeedGraph,rotationSpeedGraph2:i.rotationSpeedGraph2,radialSpeedGraph:i.radialSpeedGraph,radialSpeedGraph2:i.radialSpeedGraph2,colorMap:i.colorMap,normalMap:i.normalMap,loop:i.loop,preWarm:i.preWarm,sort:i.sort,stretch:i.stretch,alignToMotion:i.alignToMotion,lighting:i.lighting,halfLambert:i.halfLambert,intensity:i.intensity,depthSoftening:i.depthSoftening,scene:this.system.app.scene,mesh:a,depthWrite:i.depthWrite,noFog:i.noFog,node:this.entity,blendType:i.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,i.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this._evtLayersChanged=t.on("set:layers",this.onLayersChanged,this),e&&(this._evtLayerAdded=e.on("add",this.onLayerAdded,this),this._evtLayerRemoved=e.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&i.depthSoftening&&this._requestDepth()}},i.onDisable=function(){var t,e,i,n=this.system.app.scene.layers;(null==(t=this._evtLayersChanged)||t.off(),this._evtLayersChanged=null,n)&&(null==(e=this._evtLayerAdded)||e.off(),this._evtLayerAdded=null,null==(i=this._evtLayerRemoved)||i.off(),this._evtLayerRemoved=null);this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();My._skinInstanceCache=new Map;var Py=function(){function t(t,e,i,n,s){this._evtLoadById=null,this._evtUnloadById=null,this._evtAddById=null,this._evtRemoveById=null,this._evtLoadByUrl=null,this._evtAddByUrl=null,this._evtRemoveByUrl=null,this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&(this._evtLoadById=this._registry.on("load:"+this.id,this._onLoad,this)),this._onAssetAdd&&(this._evtAddById=this._registry.once("add:"+this.id,this._onAdd,this)),this._onAssetRemove&&(this._evtRemoveById=this._registry.on("remove:"+this.id,this._onRemove,this)),this._onAssetUnload&&(this._evtUnloadById=this._registry.on("unload:"+this.id,this._onUnload,this))),this.url&&(this._onAssetLoad&&(this._evtLoadByUrl=this._registry.on("load:url:"+this.url,this._onLoad,this)),this._onAssetAdd&&(this._evtAddByUrl=this._registry.once("add:url:"+this.url,this._onAdd,this)),this._onAssetRemove&&(this._evtRemoveByUrl=this._registry.on("remove:url:"+this.url,this._onRemove,this)))},e._unbind=function(){var t,e,i,n,s,r,a;this.id&&(null==(t=this._evtLoadById)||t.off(),this._evtLoadById=null,null==(e=this._evtAddById)||e.off(),this._evtAddById=null,null==(i=this._evtRemoveById)||i.off(),this._evtRemoveById=null,null==(n=this._evtUnloadById)||n.off(),this._evtUnloadById=null);this.url&&(null==(s=this._evtLoadByUrl)||s.off(),this._evtLoadByUrl=null,null==(r=this._evtAddByUrl)||r.off(),this._evtAddByUrl=null,null==(a=this._evtRemoveByUrl)||a.off(),this._evtRemoveByUrl=null)},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},v(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}])}(),Ry=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=void 0,n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._evtLayersChanged=null,n._evtLayerAdded=null,n._evtLayerRemoved=null,n._evtSetMeshes=null,n._rootBone=new av(n,"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,n),n._assetReference=new Py("asset",n,e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},n),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,n),i.on("removehierarchy",n.onRemoveChild,n),i.on("insert",n.onInsertChild,n),i.on("inserthierarchy",n.onInsertChild,n),n}x(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof om?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(n=t.batcher)||n.insert(sh.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e,i,n,s=this.system.app,r=s.scene.layers;(null==(t=this._evtLayersChanged)||t.off(),this._evtLayersChanged=null,r)&&(null==(e=this._evtLayerAdded)||e.off(),this._evtLayerAdded=null,null==(i=this._evtLayerRemoved)||i.off(),this._evtLayerRemoved=null);this._batchGroupId>=0&&(null==(n=s.batcher)||n.remove(sh.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(sh.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(sh.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),zy=new Nt,Vy=new Nt,Gy=new wt,Hy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new wt(1,1,1),n._angularVelocity=new wt,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new wt(1,1,1),n._linearVelocity=new wt,n._mask=Fv,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=Dv,n}x(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(Oy=new Ammo.btTransform,Fy=new Ammo.btVector3,By=new Ammo.btVector3,Ny=new Ammo.btQuaternion)},e.onAppDestroy=function(){Ammo.destroy(Oy),Ammo.destroy(Fy),Ammo.destroy(By),Ammo.destroy(Ny),Oy=null,Fy=null,By=null,Ny=null};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&(this.system.removeBody(this._body),this.system.destroyBody(this._body),this._body=null);var i=this._type===Lv?this._mass:0;this._getEntityTransform(Oy);var n=this.system.createBody(i,t,Oy);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===Lv){var s=this._linearFactor;Fy.setValue(s.x,s.y,s.z),n.setLinearFactor(Fy);var r=this._angularFactor;Fy.setValue(r.x,r.y,r.z),n.setAngularFactor(Fy)}else this._type===kv&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case Lv:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case kv:this.system._kinematic.push(this),e.forceActivationState(4);break;case Dv:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?Fy.setValue(t.x,t.y,t.z):Fy.setValue(t,e,i),e instanceof wt?By.setValue(e.x,e.y,e.z):void 0!==n?By.setValue(n,s,r):By.setValue(0,0,0),a.applyForce(Fy,By))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?Fy.setValue(t.x,t.y,t.z):Fy.setValue(t,e,i),n.applyTorque(Fy))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof wt?Fy.setValue(t.x,t.y,t.z):Fy.setValue(t,e,i),e instanceof wt?By.setValue(e.x,e.y,e.z):void 0!==n?By.setValue(n,s,r):By.setValue(0,0,0),a.applyImpulse(Fy,By))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof wt?Fy.setValue(t.x,t.y,t.z):Fy.setValue(t,e,i),n.applyTorqueImpulse(Fy))},i.isStatic=function(){return this._type===Dv},i.isStaticOrKinematic=function(){return this._type===Dv||this._type===kv},i.isKinematic=function(){return this._type===kv},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();Fy.setValue(n.x,n.y,n.z),Ny.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();Fy.setValue(r.x,r.y,r.z),Ny.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(Fy),t.setRotation(Ny)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(Oy),t.setWorldTransform(Oy),this._type===kv){var e=t.getMotionState();e&&e.setWorldTransform(Oy)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(Oy);var n=Oy.getOrigin(),s=Oy.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=Vy.copy(o).invert(),l=zy.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,Gy),i.setPosition(n.x()-Gy.x,n.y()-Gy.y,n.z()-Gy.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(Oy),t.setWorldTransform(Oy))},i.teleport=function(t,e,i,n,s,r){t instanceof wt?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Nt?this.entity.setRotation(e):e instanceof wt?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},v(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===Lv&&(Fy.setValue(t.x,t.y,t.z),this._body.setAngularFactor(Fy)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===Lv){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===Lv&&(this._body.activate(),Fy.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(Fy),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===Lv&&(Fy.setValue(t.x,t.y,t.z),this._body.setLinearFactor(Fy)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===Lv){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===Lv&&(this._body.activate(),Fy.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(Fy),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===Lv)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,Fy),this._body.setMassProps(t,Fy),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case Lv:this._group=1,this._mask=Ov;break;case kv:this._group=4,this._mask=Ov;break;default:this._group=2,this._mask=Fv}this.createBody()}}}])}(Gm);Hy.EVENT_CONTACT="contact",Hy.EVENT_COLLISIONSTART="collisionstart",Hy.EVENT_COLLISIONEND="collisionend",Hy.EVENT_TRIGGERENTER="triggerenter",Hy.EVENT_TRIGGERLEAVE="triggerleave";var Wy,Xy,jy=function(){this.enabled=!0},qy=function(t,e,i,n){this.entity=void 0,this.point=void 0,this.normal=void 0,this.hitFraction=void 0,this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Yy=function(t,e,i){this.a=void 0,this.b=void 0,this.impulse=void 0,this.localPointA=void 0,this.localPointB=void 0,this.pointA=void 0,this.pointB=void 0,this.normal=void 0,0!==arguments.length?(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal):(this.a=null,this.b=null,this.impulse=0,this.localPointA=new wt,this.localPointB=new wt,this.pointA=new wt,this.pointB=new wt,this.normal=new wt)},Ky=function(t,e,i,n,s,r){void 0===t&&(t=new wt),void 0===e&&(e=new wt),void 0===i&&(i=new wt),void 0===n&&(n=new wt),void 0===s&&(s=new wt),void 0===r&&(r=0),this.localPoint=void 0,this.localPointOther=void 0,this.point=void 0,this.pointOther=void 0,this.normal=void 0,this.impulse=void 0,this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},Zy=function(t,e){this.other=void 0,this.contacts=void 0,this.other=t,this.contacts=e},Qy=["enabled"],Jy=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new wt(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=Hy,i.DataType=jy,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Qy,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,i),i}x(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}Wy=new Ammo.btVector3,Xy=new Ammo.btVector3,Hy.onLibraryLoaded(),this.contactPointPool=new Uy(Ky,1),this.contactResultPool=new Uy(Zy,1),this.singleContactResultPool=new Uy(Yy,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var g=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));g&&(!(v=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(v=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(v||(v=this._storeCollision(u,c)),v&&c.rigidbody.fire("triggerenter",u)),S&&(v||(v=this._storeCollision(c,u)),v&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),T=this._hasContactEvent(u),w=this.hasEvent("contact");if(w||b||T){for(var E=0;E=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}])}(Gm),nx=function(){this.enabled=!0},sx=["enabled"],rx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=ix,i.DataType=nx,i.schema=sx,i.windowResolution=new Mt,i._drawOrderSyncQueue=new nt,i.app.graphicsDevice.on("resizecanvas",i._onResize,i),i.app.systems.on("update",i._onUpdate,i),i.on("beforeremove",i.onRemoveComponent,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof Mt?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof Mt?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,cx),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return ft.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:ft.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return Ex.x=0===e?0:t.x/e,Ex.y=0===i?0:t.y/-i,Ex},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=ft.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=ft.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new Mt(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=ft.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=ft.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},v(e,[{key:"data",get:function(){var t=this.system.store[this.entity.getGuid()];return t?t.data:null}},{key:"enabled",get:function(){return this.data.enabled},set:function(t){this._setValue("enabled",t)}},{key:"orientation",get:function(){return this.data.orientation},set:function(t){this._setValue("orientation",t)}},{key:"value",get:function(){return this.data.value},set:function(t){this._setValue("value",t)}},{key:"handleSize",get:function(){return this.data.handleSize},set:function(t){this._setValue("handleSize",t)}},{key:"handleEntity",get:function(){return this.data.handleEntity},set:function(t){this._setValue("handleEntity",t)}}])}(Gm);Rx.EVENT_SETVALUE="set:value";var Ix=function(){this.enabled=!0,this.orientation=0,this.value=0,this.handleSize=void 0,this.handleEntity=void 0},Dx=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],Lx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=Rx,i.DataType=Ix,i.schema=Dx,i.on("beforeremove",i._onRemoveComponent,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,Dx)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(Hm),kx={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new wt,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},Ox=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?ft.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof om&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(s),s._onInstancePauseHandler=s._onInstancePause.bind(s),s._onInstanceResumeHandler=s._onInstanceResume.bind(s),s._onInstanceStopHandler=s._onInstanceStop.bind(s),s._onInstanceEndHandler=s._onInstanceEnd.bind(s),s}x(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof Ox?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new Ox(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}])}(Gm);Fx.EVENT_PLAY="play",Fx.EVENT_PAUSE="pause",Fx.EVENT_RESUME="resume",Fx.EVENT_STOP="stop",Fx.EVENT_END="end";var Bx=function(){this.enabled=!0},Nx=["enabled"],Ux=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=Fx,i.DataType=Bx,i.schema=Nx,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,i),i.on("beforeremove",i.onBeforeRemove,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=ft.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},v(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e,i;this._sprite&&(null==(e=this._evtSetMeshes)||e.off(),this._evtSetMeshes=null,this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this));(this._sprite=t,this._sprite&&(this._evtSetMeshes=this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((i=this._component._meshInstance)&&(i.setParameter("texture_emissiveMap",t.atlas.texture),i.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((i=this._component._meshInstance)&&(i.deleteParameter("texture_emissiveMap"),i.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof om&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}])}(P);Gx.EVENT_PLAY="play",Gx.EVENT_PAUSE="pause",Gx.EVENT_RESUME="resume",Gx.EVENT_STOP="stop",Gx.EVENT_END="end",Gx.EVENT_LOOP="loop";var Hx="texture_emissiveMap",Wx="texture_opacityMap",Xx="material_emissive",jx="material_opacity",qx=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._evtLayersChanged=null,n._evtLayerAdded=null,n._evtLayerRemoved=null,n._type=zx,n._material=e.defaultMaterial,n._color=new pt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new Mt(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Rt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Rt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new Rh,n._model=new wd,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(n),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Gx(n,{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}x(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene,n=i.layers;(this._evtLayersChanged=i.on("set:layers",this._onLayersChanged,this),n&&(this._evtLayerAdded=n.on("add",this._onLayerAdded,this),this._evtLayerRemoved=n.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(sh.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e,i,n,s=this.system.app,r=s.scene.layers;(null==(t=this._evtLayersChanged)||t.off(),this._evtLayersChanged=null,r)&&(null==(e=this._evtLayerAdded)||e.off(),this._evtLayerAdded=null,null==(i=this._evtLayerRemoved)||i.off(),this._evtLayerRemoved=null);(this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(n=s.batcher)||n.remove(sh.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(sh.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(sh.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Gx?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}])}(Gm);qx.EVENT_PLAY="play",qx.EVENT_PAUSE="pause",qx.EVENT_RESUME="resume",qx.EVENT_STOP="stop",qx.EVENT_END="end",qx.EVENT_LOOP="loop";var Yx=function(){this.enabled=!0},Kx=["enabled"],Zx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=qx,i.DataType=Yx,i.schema=Kx,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,i),i.on("beforeremove",i.onBeforeRemove,i),i}x(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof pt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},v(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new or(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new Lc;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=0,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}])}(Hm);Gm._buildAccessors(qx.prototype,Kx);var Qx=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new wt,n.on("set_enabled",n._onSetEnabled,n),n}x(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},v(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof wt?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}])}(Gm);Qx.EVENT_ENABLE="enable",Qx.EVENT_DISABLE="disable",Qx.EVENT_STATE="state",Qx.EVENT_REMOVE="remove";var Jx=function(){this.enabled=!0},$x=["enabled"],tS=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Qx,i.DataType=Jx,i.schema=$x,i.on("beforeremove",i._onBeforeRemove,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof wt?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(Hm);Gm._buildAccessors(Qx.prototype,$x);var eS=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},iS=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new or(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getRenderableHdrFormat([me,ve],!0)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new Cn({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new eS(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}])}(Gm),sS=function(){this.enabled=!0},rS=["enabled"],aS=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=nS,i.DataType=sS,i.schema=rS,i.on("beforeremove",i.onBeforeRemove,i),i.app.on("prerender",i.onAppPrerender,i),i.app.systems.on("update",i.onUpdate,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),ud(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Hm);Gm._buildAccessors(nS.prototype,rS);var oS=function(){this.enabled=!0,this.light=void 0,this.type="directional",this.color=new pt(1,1,1),this.intensity=1,this.luminance=0,this.shape=0,this.affectSpecularity=!0,this.castShadows=!1,this.shadowDistance=40,this.shadowIntensity=1,this.shadowResolution=1024,this.shadowBias=.05,this.numCascades=1,this.bakeNumSamples=1,this.bakeArea=0,this.cascadeDistribution=.5,this.normalOffsetBias=0,this.range=10,this.innerConeAngle=40,this.outerConeAngle=45,this.falloffMode=0,this.shadowType=0,this.vsmBlurSize=11,this.vsmBlurMode=1,this.vsmBias=.0025,this.cookieAsset=null,this.cookie=null,this.cookieIntensity=1,this.cookieFalloff=!0,this.cookieChannel="rgb",this.cookieAngle=0,this.cookieScale=null,this.cookieOffset=null,this.shadowUpdateMode=2,this.mask=1,this.affectDynamic=!0,this.affectLightmapped=!1,this.bake=!1,this.bakeDir=!0,this.isStatic=!1,this.layers=[0],this.penumbraSize=1},hS=Object.keys(new oS),lS=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._evtLayersChanged=null,n._evtLayerAdded=null,n._evtLayerRemoved=null,n._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}x(e,t);var i=e.prototype;return i._setValue=function(t,e,i,n){var s=this.data,r=s[t];(n||r!==e)&&(s[t]=e,i&&i.call(this,e,r))},i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(l=e.ind),this._insertScriptInstance(o,l,h),this._scriptsIndex[r]={instance:o,onSwap:function(){n.swap(r)}},this[r]=o,e.preloading||this.initializeAttributes(o),this.fire("create",r,o),this.fire("create:"+r,o),this.system.app.scripts.on("swap:"+r,this._scriptsIndex[r].onSwap),e.preloading||(o.enabled&&!o._initialized&&(o._initialized=!0,o.initialize&&this._scriptMethod(o,vS)),o.enabled&&!o._postInitialized&&(o._postInitialized=!0,o.postInitialize&&this._scriptMethod(o,gS))),o}}else this._scriptsIndex[r]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;this._attributeDataMap.delete(e);var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(this.initializeAttributes(a),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},v(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){var e=this;this._scriptsData=t;var i=function(){if(!t.hasOwnProperty(n))return 1;var i=e._scriptsIndex[n];if(i){if("boolean"==typeof t[n].enabled&&(i.once("preInitialize",(function(){e.initializeAttributes(i)})),i.enabled=!!t[n].enabled),"object"==typeof t[n].attributes)for(var s in t[n].attributes)if(!_S.reservedNames.has(s)){if(!i.__attributes.hasOwnProperty(s)){var r=e.system.app.scripts.get(n);r&&r.attributes.add(s,{})}i[s]=t[n].attributes[s]}}else console.log(e.order)};for(var n in t)i()}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}])}(Gm);TS.EVENT_CREATE="create",TS.EVENT_DESTROY="destroy",TS.EVENT_ENABLE="enable",TS.EVENT_DISABLE="disable",TS.EVENT_REMOVE="remove",TS.EVENT_STATE="state",TS.EVENT_MOVE="move",TS.EVENT_ERROR="error";var wS=function(){this.enabled=!0},ES=0,AS=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=TS,i.DataType=wS,i._components=new ot({sortBy:"_executionOrder"}),i._enabledComponents=new ot({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,i),i.app.systems.on("initialize",i._onInitialize,i),i.app.systems.on("postInitialize",i._onPostInitialize,i),i.app.systems.on("update",i._onUpdate,i),i.app.systems.on("postUpdate",i._onPostUpdate,i),i}x(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=ES++,this._components.append(t),ES>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Hm),CS=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._layers=[0],n._instance=null,n._customAabb=null,n._assetReference=void 0,n._materialOptions=null,n._evtLayersChanged=null,n._evtLayerAdded=null,n._evtLayerRemoved=null,n._assetReference=new Py("asset",n,e.app.assets,{add:n._onGSplatAssetAdded,load:n._onGSplatAssetLoad,remove:n._onGSplatAssetRemove,unload:n._onGSplatAssetUnload},n),i.on("remove",n.onRemoveChild,n),i.on("removehierarchy",n.onRemoveChild,n),i.on("insert",n.onInsertChild,n),i.on("inserthierarchy",n.onInsertChild,n),n}x(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof om?t.id:t;this._assetReference.id=e},i.destroyInstance=function(){var t;this._instance&&(this.removeFromLayers(),null==(t=this._instance)||t.destroy(),this._instance=null)},i.addToLayers=function(){var t,e=null==(t=this.instance)?void 0:t.meshInstance;if(e)for(var i=this.system.app.scene.layers,n=0;n0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),WS=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},XS=function(t){if(zS)return!0;if(!t)if(VS)t=VS;else{var e=rt.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(zS=new HS,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};Qa.get(i,n,(function(i,n){i?e(i):t(n)}))}))),WS(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+US.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},ob=function(t,e,i,n,s,r,a){var o,h=new dh(t);h.aabb=ib(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(bb.data.set(t.matrix),bb.getTranslation(Tb),i.setLocalPosition(Tb),bb.getEulerAngles(Tb),i.setLocalEulerAngles(Tb),bb.getScale(Tb),i.setLocalScale(Tb)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},Eb=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*ft.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new Sm(t.name);return r.addComponent("camera",s),r},Ab=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new pt(t.color):pt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?ft.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*ft.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*ft.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*xd.getLightUnitConversion(_d[i.type],i.outerConeAngle,i.innerConeAngle));var n=new Sm(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},Cb=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=tb(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===L.paths[0].propertyPath[0]&&2!==L.interpolation&&v.push(P[P.length-1].output))}v.sort();var k,O=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:Eb,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},Ob=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:Ab,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},Fb=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},Bb=function(){var t=m(S().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,m,_,v,g,y,x,b,T,w,E,A,C,M,P,R;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=Db(i,r),d=Lb(i,u),f=Ob(i,u,r),p=kb(i,u,r),m=Rb(i),t.next=12,Promise.all(n);case 12:return _=t.sent,v=Mb(e,i,_,c,r),g=v.meshes,y=v.meshVariants,x=v.meshDefaultMaterials,b=v.promises,T=Ib(i,u,_,r),t.next=17,Promise.all(s);case 17:for(w=t.sent,E=w.map((function(t){return t.resource})),A=Pb(i,E,r,c),C=Cb(e,i,u,_),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},zb=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){Ub(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===D.getExtension(t.original).toLowerCase()?s.responseType=Za.ResponseType.ARRAY_BUFFER:s.responseType=Za.ResponseType.JSON),Qa.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===D.getExtension(t.original).toLowerCase()?zb.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Za.ResponseType.JSON),Qa.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new NS(1,t)})),r=e.outputs.map((function(t){return new NS(t.components,t.data)})),a=e.curves.map((function(t){return new BS([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new T_(i,n,s,r,a)},e}(pm),Hb=function(t){function e(e){return t.call(this,e,"animstategraph")||this}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Za.ResponseType.JSON),Qa.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.open=function(t,e){return new q_(e)},e}(pm),Wb=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),Xb=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],jb=function(t){function e(e){var i;return(i=t.call(this,e,"audio")||this).manager=e.soundManager,i}x(e,t);var i=e.prototype;return i._isSupported=function(t){var e=D.getExtension(t);return Xb.indexOf(e)>-1},i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new ao(t))}),i)}else i(null)},i._createSound=function(t,e,i){if(Ja()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=Za.ResponseType.ARRAY_BUFFER),Qa.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}Wb&&document.body.appendChild(r);var a=function(){r.removeEventListener("canplaythrough",a),Wb&&document.body.removeChild(r),e(r)};r.onerror=function(){r.onerror=null,Wb&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",a),r.src=t}},e}(pm),qb=function(t){function e(e){return t.call(this,e,"binary")||this}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Qa.get(t.load,{responseType:Za.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return t.buffer},e}(pm),Yb=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;om.fetchArrayBuffer(t.load,(function(s,r){s?e(s):zb.parse(n._getUrlWithoutParams(t.original),D.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new Yb(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),Zb=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),Qb=function(t){function e(e){var i;return(i=t.call(this,e,"container")||this).glbContainerParser=new Kb(e.graphicsDevice,e.assets,0),i.parsers={},i}x(e,t);var i=e.prototype;return i._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},i._getParser=function(t){var e=t?D.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},i.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},i.open=function(t,e,i){return this._getParser(t).open(t,e,i)},v(e,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}])}(pm),Jb=function(t){function e(e){var i;return(i=t.call(this,e,"css")||this).decoder=null,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Qa.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),this.decoder.decode(t)},e}(pm),$b=function(t){function e(e){var i;return(i=t.call(this,e,"cubemap")||this)._device=e.graphicsDevice,i._registry=e.assets,i._loader=e.loader,i}x(e,t);var i=e.prototype;return i.load=function(t,e,i){this.loadAssets(i,e)},i.open=function(t,e,i){return i?i.resource:null},i.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},i.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},i.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},i.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?di:ui:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new or(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=pi,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=iT(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=iT(i.data)),this._loadTextures(t.load,i&&i.data,e))},i._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l>>21,11),t.y=a(e>>>11,10),t.z=a(e,11)},h=function(t,e,i){return t===e?t:t*(1-i)+e*i},l=t.chunkData,c=t.chunkSize,u=t.vertexData,d=t.shData,f=t.shBands,p=[3,8,15][f-1];this.read=function(t){var m=Math.floor(t/256)*c;if(e&&(o(e,u[4*t+0]),e.x=h(l[m+0],l[m+3],e.x),e.y=h(l[m+1],l[m+4],e.y),e.z=h(l[m+2],l[m+5],e.z)),i&&function(t,e){var i=1/(.5*Math.sqrt(2)),n=(a(e>>>20,10)-.5)*i,s=(a(e>>>10,10)-.5)*i,r=(a(e,10)-.5)*i,o=Math.sqrt(1-(n*n+s*s+r*r));switch(e>>>30){case 0:t.set(n,s,r,o);break;case 1:t.set(o,s,r,n);break;case 2:t.set(s,o,r,n);break;case 3:t.set(s,r,o,n)}}(i,u[4*t+1]),n&&(o(n,u[4*t+2]),n.x=h(l[m+6],l[m+9],n.x),n.y=h(l[m+7],l[m+10],n.y),n.z=h(l[m+8],l[m+11],n.z)),s&&(!function(t,e){t.x=a(e>>>24,8),t.y=a(e>>>16,8),t.z=a(e>>>8,8),t.w=a(e,8)}(s,u[4*t+3]),c>12&&(s.x=h(l[m+12],l[m+15],s.x),s.y=h(l[m+13],l[m+16],s.y),s.z=h(l[m+14],l[m+17],s.z))),r&&f>0)for(var _=0;_<3;++_)for(var v=0;v<15;++v)r[15*_+v]=v>>21)/2047,v=(m>>>11&1023)/1023,g=(2047&m)/2047;t[3*p+0]=(1-_)*e+_*s,t[3*p+1]=(1-v)*i+v*r,t[3*p+2]=(1-g)*n+g*a}}},e.calcFocalPoint=function(t){var e=this.chunkData,i=this.numChunks,n=this.chunkSize;t.x=0,t.y=0,t.z=0;for(var s=0;s0){for(var n=[],s=0;s<45;++s)n.push("f_rest_"+s);e.splice.apply(e,[e.indexOf("f_dc_0")+1,0].concat(n))}var r={};e.forEach((function(e){r[e]=new Float32Array(t.numSplats)}));for(var a=new wt,o=new Nt,h=new wt,l=new Rt,c=i>0?new Float32Array(45):null,u=this.createIter(a,o,h,l,c),d=0;d=1?40:-Math.log(1/l.w-1),c)for(var f=0;f<45;++f)r["f_rest_"+f][d]=c[f];return new bp([{name:"vertex",count:this.numSplats,properties:e.map((function(t){return{name:t,type:"float",byteSize:4,storage:r[t]}}))}])},v(t,[{key:"isCompressed",get:function(){return!0}},{key:"numChunks",get:function(){return Math.ceil(this.numSplats/256)}},{key:"chunkSize",get:function(){return this.chunkData.length/this.numChunks}},{key:"shBands",get:function(){var t,e;return null!=(t={3:1,8:2,15:3}[(null==(e=this.shData)?void 0:e.length)/this.numSplats/3])?t:0}}])}(),lT=function(){function t(){}var e=t.prototype;return e.generateKey=function(t){var e,i,n=mn(t.vertex),s=mn(t.fragment),r=null!=(e=null==(i=t.defines)?void 0:i.sort().join("-"))?e:"";return"splat-"+t.pass+"-"+t.gamma+"-"+t.toneMapping+"-"+n+"-"+s+"-"+t.dither+"-"+r},e.createShaderDefinition=function(t,e){var i,n=Yo.get(t).getByIndex(e.pass).shaderDefines+"\n"+(null!=(i=e.defines)?i:[]).map((function(t){return"#define "+t})).join("\n")+"\n#define DITHER_"+e.dither.toUpperCase()+"\n#define TONEMAP_"+(0===e.toneMapping?"DISABLED":"ENABLED")+"\n",s=n+"\n\tuniform mat4 matrix_model;\n\tuniform mat4 matrix_view;\n\tuniform mat4 matrix_projection;\n\tuniform vec2 viewport;\n\tuniform vec4 tex_params;\n\tuniform highp usampler2D splatOrder;\n\tuniform highp usampler2D packedTexture;\n\tuniform highp sampler2D chunkTexture;\n\tattribute vec3 vertex_position;\n\tattribute uint vertex_id_attrib;\n\t#ifndef DITHER_NONE\n\t\tvarying float id;\n\t#endif\n\tuint orderId;\n\tuint splatId;\n\tivec2 packedUV;\n\tivec2 chunkUV;\n\tvec4 chunkDataA;\n\tvec4 chunkDataB;\n\tvec4 chunkDataC;\n\tvec4 chunkDataD;\n\tvec4 chunkDataE;\n\tuvec4 packedData;\n\tbool calcSplatUV() {\n\t\tuint numSplats = uint(tex_params.x);\n\t\tuint packedWidth = uint(tex_params.y);\n\t\tuint chunkWidth = uint(tex_params.z);\n\t\torderId = vertex_id_attrib + uint(vertex_position.z);\n\t\tif (orderId >= numSplats) {\n\t\t\treturn false;\n\t\t}\n\t\tivec2 orderUV = ivec2(\n\t\t\tint(orderId % packedWidth),\n\t\t\tint(orderId / packedWidth)\n\t\t);\n\t\tsplatId = texelFetch(splatOrder, orderUV, 0).r;\n\t\tpackedUV = ivec2(\n\t\t\tint(splatId % packedWidth),\n\t\t\tint(splatId / packedWidth)\n\t\t);\n\t\tuint chunkId = splatId / 256u;\n\t\tchunkUV = ivec2(\n\t\t\tint((chunkId % chunkWidth) * 5u),\n\t\t\tint(chunkId / chunkWidth)\n\t\t);\n\t\treturn true;\n\t}\n\tvoid readData() {\n\t\tchunkDataA = texelFetch(chunkTexture, chunkUV, 0);\n\t\tchunkDataB = texelFetch(chunkTexture, ivec2(chunkUV.x + 1, chunkUV.y), 0);\n\t\tchunkDataC = texelFetch(chunkTexture, ivec2(chunkUV.x + 2, chunkUV.y), 0);\n\t\tchunkDataD = texelFetch(chunkTexture, ivec2(chunkUV.x + 3, chunkUV.y), 0);\n\t\tchunkDataE = texelFetch(chunkTexture, ivec2(chunkUV.x + 4, chunkUV.y), 0);\n\t\tpackedData = texelFetch(packedTexture, packedUV, 0);\n\t}\n\tvec3 unpack111011(uint bits) {\n\t\treturn vec3(\n\t\t\tfloat(bits >> 21u) / 2047.0,\n\t\t\tfloat((bits >> 11u) & 0x3ffu) / 1023.0,\n\t\t\tfloat(bits & 0x7ffu) / 2047.0\n\t\t);\n\t}\n\tvec4 unpack8888(uint bits) {\n\t\treturn vec4(\n\t\t\tfloat(bits >> 24u) / 255.0,\n\t\t\tfloat((bits >> 16u) & 0xffu) / 255.0,\n\t\t\tfloat((bits >> 8u) & 0xffu) / 255.0,\n\t\t\tfloat(bits & 0xffu) / 255.0\n\t\t);\n\t}\n\tfloat norm = 1.0 / (sqrt(2.0) * 0.5);\n\tvec4 unpackRotation(uint bits) {\n\t\tfloat a = (float((bits >> 20u) & 0x3ffu) / 1023.0 - 0.5) * norm;\n\t\tfloat b = (float((bits >> 10u) & 0x3ffu) / 1023.0 - 0.5) * norm;\n\t\tfloat c = (float(bits & 0x3ffu) / 1023.0 - 0.5) * norm;\n\t\tfloat m = sqrt(1.0 - (a * a + b * b + c * c));\n\t\tuint mode = bits >> 30u;\n\t\tif (mode == 0u) return vec4(m, a, b, c);\n\t\tif (mode == 1u) return vec4(a, m, b, c);\n\t\tif (mode == 2u) return vec4(a, b, m, c);\n\t\treturn vec4(a, b, c, m);\n\t}\n\tvec3 getCenter() {\n\t\treturn mix(chunkDataA.xyz, vec3(chunkDataA.w, chunkDataB.xy), unpack111011(packedData.x));\n\t}\n\tvec4 getRotation() {\n\t\treturn unpackRotation(packedData.y);\n\t}\n\tvec3 getScale() {\n\t\treturn exp(mix(vec3(chunkDataB.zw, chunkDataC.x), chunkDataC.yzw, unpack111011(packedData.z)));\n\t}\n\tvec4 getColor() {\n\t\tvec4 r = unpack8888(packedData.w);\n\t\treturn vec4(mix(chunkDataD.xyz, vec3(chunkDataD.w, chunkDataE.xy), r.rgb), r.w);\n\t}\n\tmat3 quatToMat3(vec4 R) {\n\t\tfloat x = R.x;\n\t\tfloat y = R.y;\n\t\tfloat z = R.z;\n\t\tfloat w = R.w;\n\t\treturn mat3(\n\t\t\t1.0 - 2.0 * (z * z + w * w),\n\t\t\t\t 2.0 * (y * z + x * w),\n\t\t\t\t 2.0 * (y * w - x * z),\n\t\t\t\t 2.0 * (y * z - x * w),\n\t\t\t1.0 - 2.0 * (y * y + w * w),\n\t\t\t\t 2.0 * (z * w + x * y),\n\t\t\t\t 2.0 * (y * w + x * z),\n\t\t\t\t 2.0 * (z * w - x * y),\n\t\t\t1.0 - 2.0 * (y * y + z * z)\n\t\t);\n\t}\n\tvoid getCovariance(out vec3 covA, out vec3 covB) {\n\t\tmat3 rot = quatToMat3(getRotation());\n\t\tvec3 scale = getScale();\n\t\tmat3 M = transpose(mat3(\n\t\t\tscale.x * rot[0],\n\t\t\tscale.y * rot[1],\n\t\t\tscale.z * rot[2]\n\t\t));\n\t\tcovA = vec3(dot(M[0], M[0]), dot(M[0], M[1]), dot(M[0], M[2]));\n\t\tcovB = vec3(dot(M[1], M[1]), dot(M[1], M[2]), dot(M[2], M[2]));\n\t}\n\tvec4 calcV1V2(in vec3 splat_cam, in vec3 covA, in vec3 covB, mat3 W) {\n\t\tmat3 Vrk = mat3(\n\t\t\tcovA.x, covA.y, covA.z, \n\t\t\tcovA.y, covB.x, covB.y,\n\t\t\tcovA.z, covB.y, covB.z\n\t\t);\n\t\tfloat focal = viewport.x * matrix_projection[0][0];\n\t\tfloat J1 = focal / splat_cam.z;\n\t\tvec2 J2 = -J1 / splat_cam.z * splat_cam.xy;\n\t\tmat3 J = mat3(\n\t\t\tJ1, 0.0, J2.x, \n\t\t\t0.0, J1, J2.y, \n\t\t\t0.0, 0.0, 0.0\n\t\t);\n\t\tmat3 T = W * J;\n\t\tmat3 cov = transpose(T) * Vrk * T;\n\t\tfloat diagonal1 = cov[0][0] + 0.3;\n\t\tfloat offDiagonal = cov[0][1];\n\t\tfloat diagonal2 = cov[1][1] + 0.3;\n\t\tfloat mid = 0.5 * (diagonal1 + diagonal2);\n\t\tfloat radius = length(vec2((diagonal1 - diagonal2) / 2.0, offDiagonal));\n\t\tfloat lambda1 = mid + radius;\n\t\tfloat lambda2 = max(mid - radius, 0.1);\n\t\tvec2 diagonalVector = normalize(vec2(offDiagonal, lambda1 - diagonal1));\n\t\tvec2 v1 = min(sqrt(2.0 * lambda1), 1024.0) * diagonalVector;\n\t\tvec2 v2 = min(sqrt(2.0 * lambda2), 1024.0) * vec2(diagonalVector.y, -diagonalVector.x);\n\t\treturn vec4(v1, v2);\n\t}\n#if defined(USE_SH)\n\t#define SH_C1 0.4886025119029199f\n\t#define SH_C2_0 1.0925484305920792f\n\t#define SH_C2_1 -1.0925484305920792f\n\t#define SH_C2_2 0.31539156525252005f\n\t#define SH_C2_3 -1.0925484305920792f\n\t#define SH_C2_4 0.5462742152960396f\n\t#define SH_C3_0 -0.5900435899266435f\n\t#define SH_C3_1 2.890611442640554f\n\t#define SH_C3_2 -0.4570457994644658f\n\t#define SH_C3_3 0.3731763325901154f\n\t#define SH_C3_4 -0.4570457994644658f\n\t#define SH_C3_5 1.445305721320277f\n\t#define SH_C3_6 -0.5900435899266435f\n\tuniform highp usampler2D shTexture0;\n\tuniform highp usampler2D shTexture1;\n\tuniform highp usampler2D shTexture2;\n\tvec4 sunpack8888(in uint bits) {\n\t\treturn vec4((uvec4(bits) >> uvec4(0u, 8u, 16u, 24u)) & 0xffu) * (8.0 / 255.0) - 4.0;\n\t}\n\tvoid readSHData(out vec3 sh[15]) {\n\t\tuvec4 shData0 = texelFetch(shTexture0, packedUV, 0);\n\t\tuvec4 shData1 = texelFetch(shTexture1, packedUV, 0);\n\t\tuvec4 shData2 = texelFetch(shTexture2, packedUV, 0);\n\t\tvec4 r0 = sunpack8888(shData0.x);\n\t\tvec4 r1 = sunpack8888(shData0.y);\n\t\tvec4 r2 = sunpack8888(shData0.z);\n\t\tvec4 r3 = sunpack8888(shData0.w);\n\t\tvec4 g0 = sunpack8888(shData1.x);\n\t\tvec4 g1 = sunpack8888(shData1.y);\n\t\tvec4 g2 = sunpack8888(shData1.z);\n\t\tvec4 g3 = sunpack8888(shData1.w);\n\t\tvec4 b0 = sunpack8888(shData2.x);\n\t\tvec4 b1 = sunpack8888(shData2.y);\n\t\tvec4 b2 = sunpack8888(shData2.z);\n\t\tvec4 b3 = sunpack8888(shData2.w);\n\t\tsh[0] = vec3(r0.x, g0.x, b0.x);\n\t\tsh[1] = vec3(r0.y, g0.y, b0.y);\n\t\tsh[2] = vec3(r0.z, g0.z, b0.z);\n\t\tsh[3] = vec3(r0.w, g0.w, b0.w);\n\t\tsh[4] = vec3(r1.x, g1.x, b1.x);\n\t\tsh[5] = vec3(r1.y, g1.y, b1.y);\n\t\tsh[6] = vec3(r1.z, g1.z, b1.z);\n\t\tsh[7] = vec3(r1.w, g1.w, b1.w);\n\t\tsh[8] = vec3(r2.x, g2.x, b2.x);\n\t\tsh[9] = vec3(r2.y, g2.y, b2.y);\n\t\tsh[10] = vec3(r2.z, g2.z, b2.z);\n\t\tsh[11] = vec3(r2.w, g2.w, b2.w);\n\t\tsh[12] = vec3(r3.x, g3.x, b3.x);\n\t\tsh[13] = vec3(r3.y, g3.y, b3.y);\n\t\tsh[14] = vec3(r3.z, g3.z, b3.z);\n\t}\n\tvec3 evalSH(in vec3 dir) {\n\t\tvec3 sh[15];\n\t\treadSHData(sh);\n\t\tvec3 result = vec3(0.0);\n\t\tfloat x = dir.x;\n\t\tfloat y = dir.y;\n\t\tfloat z = dir.z;\n\t\tresult += SH_C1 * (-sh[0] * y + sh[1] * z - sh[2] * x);\n\t\tfloat xx = x * x;\n\t\tfloat yy = y * y;\n\t\tfloat zz = z * z;\n\t\tfloat xy = x * y;\n\t\tfloat yz = y * z;\n\t\tfloat xz = x * z;\n\t\tresult +=\n\t\t\tsh[3] * (SH_C2_0 * xy) * +\n\t\t\tsh[4] * (SH_C2_1 * yz) +\n\t\t\tsh[5] * (SH_C2_2 * (2.0 * zz - xx - yy)) +\n\t\t\tsh[6] * (SH_C2_3 * xz) +\n\t\t\tsh[7] * (SH_C2_4 * (xx - yy));\n\t\tresult +=\n\t\t\tsh[8] * (SH_C3_0 * y * (3.0 * xx - yy)) +\n\t\t\tsh[9] * (SH_C3_1 * xy * z) +\n\t\t\tsh[10] * (SH_C3_2 * y * (4.0 * zz - xx - yy)) +\n\t\t\tsh[11] * (SH_C3_3 * z * (2.0 * zz - 3.0 * xx - 3.0 * yy)) +\n\t\t\tsh[12] * (SH_C3_4 * x * (4.0 * zz - xx - yy)) +\n\t\t\tsh[13] * (SH_C3_5 * z * (xx - yy)) +\n\t\t\tsh[14] * (SH_C3_6 * x * (xx - 3.0 * yy));\n\t\treturn result;\n\t}\n#else\n\tvec3 evalSH(in vec3 dir) {\n\t\treturn vec3(0.0);\n\t}\n#endif\n"+e.vertex,r=n+Ro.decodePS+(e.dither===Ao?"":Ro.bayerPS+Ro.opacityDitherPS)+ko.tonemapCode(e.toneMapping)+ko.gammaCode(e.gamma)+"\n\t#ifndef DITHER_NONE\n\t\tvarying float id;\n\t#endif\n\t#ifdef PICK_PASS\n\t\tuniform vec4 uColor;\n\t#endif\n\tvec4 evalSplat(vec2 texCoord, vec4 color) {\n\t\tmediump float A = dot(texCoord, texCoord);\n\t\tif (A > 1.0) {\n\t\t\tdiscard;\n\t\t}\n\t\tmediump float B = exp(-A * 4.0) * color.a;\n\t\tif (B < 1.0 / 255.0) {\n\t\t\tdiscard;\n\t\t}\n\t\t#ifdef PICK_PASS\n\t\t\tif (B < 0.3) {\n\t\t\t\tdiscard;\n\t\t\t}\n\t\t\treturn uColor;\n\t\t#endif\n\t\t#ifndef DITHER_NONE\n\t\t\topacityDither(B, id * 0.013);\n\t\t#endif\n\t\t#ifdef TONEMAP_ENABLED\n\t\t\treturn vec4(gammaCorrectOutput(toneMap(decodeGamma(color.rgb))), B);\n\t\t#else\n\t\t\treturn vec4(color.rgb, B);\n\t\t#endif\n\t}\n"+e.fragment;return Pr.createDefinition(t,{name:"SplatShader",attributes:{vertex_position:Le,vertex_id_attrib:hi},vertexCode:s,fragmentCode:r})},t}(),cT=new lT,uT=function(){function t(t,e){this.device=void 0,this.numSplats=void 0,this.aabb=void 0,this.centers=void 0,this.packedTexture=void 0,this.chunkTexture=void 0,this.shTexture0=void 0,this.shTexture1=void 0,this.shTexture2=void 0;var i=e.chunkData,n=e.chunkSize,s=e.numChunks,r=e.numSplats,a=e.vertexData,o=e.shBands;this.device=t,this.numSplats=r,this.aabb=new Wt,e.calcAabb(this.aabb),this.centers=new Float32Array(3*r),e.getCenters(this.centers),this.packedTexture=this.createTexture("packedData",Me,this.evalTextureSize(r),a);var h=this.evalTextureSize(s);h.x*=5,this.chunkTexture=this.createTexture("chunkData",ve,h);var l=this.chunkTexture.lock();if(function(t,e,i,n,s){for(var r=0;r0){for(var u=e.shData,d=this.evalTextureSize(r),f=this.createTexture("shTexture0",Me,d),p=this.createTexture("shTexture1",Me,d),m=this.createTexture("shTexture2",Me,d),_=f.lock(),v=p.lock(),g=m.lock(),y=new Uint8Array(_.buffer),x=new Uint8Array(v.buffer),S=new Uint8Array(g.buffer),b=[3,8,15][o-1],T=0;T=i)this.head>0?(this.data.copyWithin(0,this.head,this.tail),this.data.set(t,e),this.head=0,this.tail=i):(this.data.set(t,this.tail),this.tail+=t.length);else{var n=new Uint8Array(i);this.head>0||this.tail0&&(this.data.copyWithin(0,this.head,this.tail),this.tail-=this.head,this.head=0)},i.getInt8=function(){var t=this.view.getInt8(this.head);return this.head++,t},i.getUint8=function(){var t=this.view.getUint8(this.head);return this.head++,t},i.getInt16=function(){var t=this.view.getInt16(this.head,!0);return this.head+=2,t},i.getUint16=function(){var t=this.view.getUint16(this.head,!0);return this.head+=2,t},i.getInt32=function(){var t=this.view.getInt32(this.head,!0);return this.head+=4,t},i.getUint32=function(){var t=this.view.getUint32(this.head,!0);return this.head+=4,t},i.getFloat32=function(){var t=this.view.getFloat32(this.head,!0);return this.head+=4,t},i.getFloat64=function(){var t=this.view.getFloat64(this.head,!0);return this.head+=8,t},v(t,[{key:"remaining",get:function(){return this.tail-this.head}}])}(),vT=function(t){for(var e,i=[],n=1;n=fT.length)||s(r.data,fT)){t.next=9;break}throw new Error("Invalid ply header");case 9:if(-1===(a=n(r.data,pT))){t.next=12;break}return t.abrupt("break",14);case 12:t.next=4;break;case 14:if(o=new TextDecoder("ascii").decode(r.data.subarray(0,a)).split("\n").filter((function(t){return!t.startsWith("comment ")})),h=vT(o),l=h.elements,"binary_little_endian"===(c=h.format)||"binary_big_endian"===c){t.next=18;break}throw new Error("Unsupported ply format");case 18:if(r.head=a+pT.length,r.compact(),!gT(l)){t.next=24;break}return t.next=23,xT(r,l,"binary_little_endian"===c);case 23:return t.abrupt("return",t.sent);case 24:if(l.forEach((function(t){t.properties.forEach((function(e){var n=mT.get(e.type);if(n){var s=!i||i(e.name)?new n(t.count):null;e.storage=s}}))})),!yT(l)){t.next=29;break}return t.next=28,ST(r,l,"binary_little_endian"===c);case 28:return t.abrupt("return",t.sent);case 29:return t.next=31,bT(r,l,"binary_little_endian"===c);case 31:return t.abrupt("return",t.sent);case 32:case"end":return t.stop()}}),t)}))),function(t,e){return sT.apply(this,arguments)}),wT=function(t){return!0},ET=function(){function t(t,e,i){this.device=void 0,this.assets=void 0,this.maxRetries=void 0,this.device=t,this.assets=e,this.maxRetries=i}var e,i=t.prototype;return i.load=(e=m(S().mark((function t(e,i,n){var s,r,a=this;return S().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch(e.load);case 2:(s=t.sent)&&s.body?TT(s.body.getReader(),null!=(r=n.data.elementFilter)?r:wT).then((function(t){var e;t.isCompressed||(null==(e=n.data.reorder)||e)&&t.reorderData();var s=new dT(a.device,t.isCompressed&&n.data.decompress?t.decompress():t);i(null,s)})).catch((function(t){i(t,null)})):i("Error loading resource",null);case 4:case"end":return t.stop()}}),t)}))),function(t,i,n){return e.apply(this,arguments)}),i.open=function(t,e){return e},t}(),AT=function(t){function e(e){var i;return(i=t.call(this,e,"gsplat")||this).parser=new ET(e.graphicsDevice,e.assets,3),i}x(e,t);var i=e.prototype;return i.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this.parser.load(t,e,i)},i.open=function(t,e,i){return this.parser.open(t,e,i)},e}(pm),CT=function(){function t(){}return t.setCompressedPRS=function(t,e,i){var n,s,r=i.singleVecs,a=e.___1;a||(n=i.tripleVecs,s=e.___2);var o=a?a[0]:n[s];t.setLocalPosition(r[o],r[o+1],r[o+2]),o=a?a[1]:n[s+1],t.setLocalEulerAngles(r[o],r[o+1],r[o+2]),o=a?a[2]:n[s+2],t.setLocalScale(r[o],r[o+1],r[o+2])},t.oneCharToKey=function(t,e){var i=t.charCodeAt(0)-e.fieldFirstCode;return e.fieldArray[i]},t.multCharToKey=function(t,e){for(var i=0,n=0;n0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),IT=function(t){function e(e){return t.call(this,e,"hierarchy")||this}x(e,t);var i=e.prototype;return i.load=function(t,e){RT.load(t,this.maxRetries,e)},i.open=function(t,e){this._app.systems.script.preloading=!0;var i=new PT(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},e}(pm),DT=function(t){function e(e){var i;return(i=t.call(this,e,"html")||this).decoder=null,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Qa.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),this.decoder.decode(t)},e}(pm),LT=function(t){function e(e){var i;return(i=t.call(this,e,"json")||this).decoder=null,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Za.ResponseType.JSON),Qa.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),JSON.parse(this.decoder.decode(t))},e}(pm),kT=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([0,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=wc,i=Pc,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof or||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof or||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof or&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),OT=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new Lc;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=y({},e.chunks)),e){var n=wc[i],s=e[i];if("vec2"===n)t[i]=new Mt(s[0],s[1]);else if("rgb"===n)t[i]=new pt(s[0],s[1],s[2]);else if("texture"===n)s instanceof or?t[i]=s:t[i]instanceof or&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof or?t[i]=s:t[i]instanceof or&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new wt(s.center[0],s.center[1],s.center[2]),a=new wt(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new Wt(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;t.shader?(t.shadingModel="blinn"===t.shader?1:0,delete t.shader):void 0===t.shadingModel&&(t.shadingModel=1),t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},i.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},i._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new or(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},i.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},i._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},i._assignTexture=function(t,e,i){e.resource[t]=i},i._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=FT[t];return this._placeholderTextures[e]},i._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},i._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},i._onTextureAdd=function(t,e,i){this._assets.load(i)},i._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},i._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},i._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},i._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},i._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},i._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=Ec;for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new jr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new jr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===D.getExtension(t.original).toLowerCase()?s.responseType=Za.ResponseType.ARRAY_BUFFER:s.responseType=Za.ResponseType.JSON),Qa.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),this.decoder.decode(t)},e}(pm);function ZT(t){this.resource&&(this.resource.atlas=t.resource)}function QT(t){this.registry.load(t)}var JT=function(t){function e(e){var i;return(i=t.call(this,e,"sprite")||this)._assets=e.assets,i._device=e.graphicsDevice,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===D.getExtension(t.original)&&Qa.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},i.open=function(t,e){var i=new jf(this._device);return t&&(i.__data=e),i},i.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},i._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ZT,t),this._assets.on("load:"+t.data.textureAtlasAsset,ZT,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,QT,t),this._assets.on("add:"+t.data.textureAtlasAsset,QT,t))}else e.atlas=null},i._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ZT,t),this._assets.off("add:"+n.textureAtlasAsset,QT,t))},e}(pm),$T=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new PT(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),tw=function(t){function e(e){var i;return(i=t.call(this,e,"template")||this).decoder=null,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};Qa.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},i.open=function(t,e){return new $T(this._app,e)},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),new $T(this._app,JSON.parse(this.decoder.decode(t)))},e}(pm),ew=function(t){function e(e){var i;return(i=t.call(this,e,"text")||this).decoder=null,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Qa.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},i.openBinary=function(t){return null!=this.decoder||(this.decoder=new TextDecoder("utf-8")),this.decoder.decode(t)},e}(pm),iw={repeat:0,clamp:1,mirror:2},nw={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},sw=/^data\.frames\.(\d+)$/,rw=function(t){function e(e){var i;return(i=t.call(this,e,"textureatlas")||this)._loader=e.loader,i}x(e,t);var i=e.prototype;return i.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===D.getExtension(t.original)?Qa.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},i.open=function(t,e){var i=new qf;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},i.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==nw[t.data.minfilter]&&(i.minFilter=nw[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==nw[t.data.magfilter]&&(i.magFilter=nw[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==iw[t.data.addressu]&&(i.addressU=iw[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==iw[t.data.addressv]&&(i.addressV=iw[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?di:ui;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Rt(a.rect),pivot:new Mt(a.pivot),border:new Rt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},i._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Rt(n.rect),pivot:new Mt(n.pivot),border:new Rt(n.border)};t.resource.frames=s}else{var a=e.match(sw);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Rt(i.rect),pivot:new Mt(i.pivot),border:new Rt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},e}(pm);function aw(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},v=21,g=22,y=23,x=8,S=10,b=26,T=27,w=28,E=29,A=30,C=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?v:g;case s:return y;case r:return x;case a:return S;case o:return b;case h:return T;case l:return w;case c:return E;case u:return A;case d:return C;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},L=function(){return"undefined"!=typeof performance?performance.now():0},k=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;Qa.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else Qa.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))}(t,(function(t,e){if(t)console.error("failed to initialize basis worker: "+t);else for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},i._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};Qa.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},i._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},e}(gw),Sw=[1481919403,3140563232,169478669],bw={33776:8,33778:9,33779:fe,36196:be,37492:22,37496:23,35840:Ee,35841:Te,35842:Ae,35843:we,32849:6,32856:7,35905:19,35907:20,35898:Se,34843:pe,34842:me};var Tw=function(t){function e(e){var i;return(i=t.call(this)||this).maxRetries=0,i}x(e,t);var i=e.prototype;return i.load=function(t,e,i){om.fetchArrayBuffer(t.load,e,i,this.maxRetries)},i.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new or(i,y({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},i.parse=function(t){var e=new Uint32Array(t);if(Sw[0]!==e[0]||Sw[1]!==e[1]||Sw[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=bw[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===Se?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},e}(gw),ww=166,Ew=function(t){function e(e,i){var n;return(n=t.call(this)||this).maxRetries=0,n.device=i,n}x(e,t);var i=e.prototype;return i.load=function(t,e,i){var n=this;om.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},i.open=function(t,e,i,n){void 0===n&&(n={});var s=new or(i,y({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},i.parse=function(t,e,i,n){var s=new at(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var T,w=128,E=d?6:1,A=c===f?8:16,C=0;C32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||128&s[2])return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},i._getParser=function(t){var e=D.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},i._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Pw[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Pw[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Mw[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Mw[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Rw[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=di:t.file&&8&t.file.opt&&(e.type=mi)}return e},i.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},i.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new or(this._device,{width:4,height:4,format:6}):(!function(t){var e=bs.calcMipLevelsCount(t._width,t._height);if(!(7!==t._format&&t._format!==ve||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},i.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);s=a||(a=d,o=t[c],h.copy(u.transform.position),l.copy(u.transform.orientation))}this.fire("result",h,l,e||this._inputSource,o),this.manager.hitTest.fire("result",this,h,l,e||this._inputSource,o),Hw.push(r),Hw.push(h),Ww.push(l)}},e}(P);Xw.EVENT_REMOVE="remove",Xw.EVENT_RESULT="result";var jw=function(t){function e(e){var i;return(i=t.call(this)||this).manager=void 0,i._supported=G.browser&&!(!window.XRSession||!window.XRSession.prototype.requestHitTestSource),i._available=!1,i._checkingAvailability=!1,i.sources=[],i.manager=e,i._supported&&(i.manager.on("start",i._onSessionStart,i),i.manager.on("end",i._onSessionEnd,i)),i}x(e,t);var i=e.prototype;return i._onSessionStart=function(){var t=this;if(this.manager.session.enabledFeatures){var e=-1!==this.manager.session.enabledFeatures.indexOf("hit-test");if(!e)return;this._available=e,this.fire("available")}else this._checkingAvailability||(this._checkingAvailability=!0,this.manager.session.requestReferenceSpace(Ow).then((function(e){t.manager.session.requestHitTestSource({space:e}).then((function(e){e.cancel(),t.manager.active&&(t._available=!0,t.fire("available"))})).catch((function(){}))})).catch((function(){})))},i._onSessionEnd=function(){if(this._available){this._available=!1;for(var t=0;t0&&(rE.sub2(this._localPosition,this._localPositionLast).divScalar(s),this._linearVelocity.lerp(this._linearVelocity,rE,.15))}else this._velocitiesAvailable=!1}var r=t.getPose(this._xrInputSource.targetRaySpace,this._manager._referenceSpace);r&&(this._dirtyRay=!0,this._rayLocal.origin.copy(r.transform.position),this._rayLocal.direction.set(0,0,-1),aE.copy(r.transform.orientation),aE.transformVector(this._rayLocal.direction,this._rayLocal.direction))}},i._updateTransforms=function(){this._dirtyLocal&&(this._dirtyLocal=!1,this._localTransform.setTRS(this._localPosition,this._localRotation,wt.ONE));var t=this._manager.camera.parent;t?this._worldTransform.mul2(t.getWorldTransform(),this._localTransform):this._worldTransform.copy(this._localTransform)},i._updateRayTransforms=function(){var t=this._dirtyRay;if(this._dirtyRay=!1,this._manager.camera.parent){var e=this._manager.camera.parent.getWorldTransform();e.getTranslation(this._position),this._rotation.setFromMat4(e),this._rotation.transformVector(this._rayLocal.origin,this._ray.origin),this._ray.origin.add(this._position),this._rotation.transformVector(this._rayLocal.direction,this._ray.direction)}else t&&(this._ray.origin.copy(this._rayLocal.origin),this._ray.direction.copy(this._rayLocal.direction))},i.getPosition=function(){return this._position?(this._updateTransforms(),this._worldTransform.getTranslation(this._position),this._position):null},i.getLocalPosition=function(){return this._localPosition},i.getRotation=function(){return this._rotation?(this._updateTransforms(),this._rotation.setFromMat4(this._worldTransform),this._rotation):null},i.getLocalRotation=function(){return this._localRotation},i.getLinearVelocity=function(){return this._velocitiesAvailable?this._linearVelocity:null},i.getOrigin=function(){return this._updateRayTransforms(),this._ray.origin},i.getDirection=function(){return this._updateRayTransforms(),this._ray.direction},i.hitTestStart=function(t){var e=this;void 0===t&&(t={}),t.inputSource=this,t.profile=this._xrInputSource.profiles[0];var i=t.callback;t.callback=function(t,n){n&&e.onHitTestSourceAdd(n),i&&i(t,n)},this._manager.hitTest.start(t)},i.onHitTestSourceAdd=function(t){var e=this;this._hitTestSources.push(t),this.fire("hittest:add",t),t.on("result",(function(i,n,s,r){s===e&&e.fire("hittest:result",t,i,n,r)})),t.once("remove",(function(){e.onHitTestSourceRemove(t),e.fire("hittest:remove",t)}))},i.onHitTestSourceRemove=function(t){var e=this._hitTestSources.indexOf(t);-1!==e&&this._hitTestSources.splice(e,1)},v(e,[{key:"id",get:function(){return this._id}},{key:"inputSource",get:function(){return this._xrInputSource}},{key:"targetRayMode",get:function(){return this._xrInputSource.targetRayMode}},{key:"handedness",get:function(){return this._xrInputSource.handedness}},{key:"profiles",get:function(){return this._xrInputSource.profiles}},{key:"grip",get:function(){return this._grip}},{key:"hand",get:function(){return this._hand}},{key:"gamepad",get:function(){return this._xrInputSource.gamepad||null}},{key:"selecting",get:function(){return this._selecting}},{key:"squeezing",get:function(){return this._squeezing}},{key:"elementInput",get:function(){return this._elementInput},set:function(t){this._elementInput!==t&&(this._elementInput=t,this._elementInput||(this._elementEntity=null))}},{key:"elementEntity",get:function(){return this._elementEntity}},{key:"hitTestSources",get:function(){return this._hitTestSources}}])}(P);hE.EVENT_REMOVE="remove",hE.EVENT_SELECT="select",hE.EVENT_SELECTSTART="selectstart",hE.EVENT_SELECTEND="selectend",hE.EVENT_SQUEEZE="squeeze",hE.EVENT_SQUEEZESTART="squeezestart",hE.EVENT_SQUEEZEEND="squeezeend",hE.EVENT_HITTESTADD="hittest:add",hE.EVENT_HITTESTREMOVE="hittest:remove",hE.EVENT_HITTESTRESULT="hittest:result";var lE=function(t){function e(e){var i,n;return(n=t.call(this)||this).manager=void 0,n._inputSources=[],n._onInputSourcesChangeEvt=void 0,n.velocitiesSupported=!1,n.manager=e,n.velocitiesSupported=!(!G.browser||null==(i=window.XRPose)||null==(i=i.prototype)||!i.hasOwnProperty("linearVelocity")),n._onInputSourcesChangeEvt=function(t){n._onInputSourcesChange(t)},n.manager.on("start",n._onSessionStart,n),n.manager.on("end",n._onSessionEnd,n),n}x(e,t);var i=e.prototype;return i._onSessionStart=function(){var t=this,e=this.manager.session;e.addEventListener("inputsourceschange",this._onInputSourcesChangeEvt),e.addEventListener("select",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i.fire("select",e),t.fire("select",i,e)})),e.addEventListener("selectstart",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i._selecting=!0,i.fire("selectstart",e),t.fire("selectstart",i,e)})),e.addEventListener("selectend",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i._selecting=!1,i.fire("selectend",e),t.fire("selectend",i,e)})),e.addEventListener("squeeze",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i.fire("squeeze",e),t.fire("squeeze",i,e)})),e.addEventListener("squeezestart",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i._squeezing=!0,i.fire("squeezestart",e),t.fire("squeezestart",i,e)})),e.addEventListener("squeezeend",(function(e){var i=t._getByInputSource(e.inputSource);i.update(e.frame),i._squeezing=!1,i.fire("squeezeend",e),t.fire("squeezeend",i,e)}));for(var i=e.inputSources,n=0;n0){var o=new Bt,h=this.views.list[0];o.copy(h.projMat);var l=o.data,c=2*Math.atan(1/l[5])*180/Math.PI,u=l[5]/l[0],d=l[14]/(l[10]+1),f=l[14]/(l[10]-1);this._camera.camera.setXrProperties({aspectRatio:u,farClip:d,fov:c,horizontalFov:!1,nearClip:f})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===kw&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t),this.depthSensing.supported&&this.depthSensing.update(),this.meshDetection.supported&&this.meshDetection.update(t)),this.fire("update",t),!0},v(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"frameRate",get:function(){var t,e;return null!=(t=null==(e=this._session)?void 0:e.frameRate)?t:null}},{key:"supportedFrameRates",get:function(){return this._supportedFrameRates}},{key:"framebufferScaleFactor",get:function(){return this._framebufferScaleFactor}},{key:"fixedFoveation",get:function(){var t,e;return null!=(t=null==(e=this._baseLayer)?void 0:e.fixedFoveation)?t:null},set:function(t){var e,i;null!==(null!=(e=null==(i=this._baseLayer)?void 0:i.fixedFoveation)?e:null)&&(this.app.graphicsDevice.samples,this._baseLayer.fixedFoveation=t)}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}])}(P);wE.EVENT_AVAILABLE="available",wE.EVENT_START="start",wE.EVENT_END="end",wE.EVENT_UPDATE="update",wE.EVENT_ERROR="error";var EE,AE,CE=function(t){function e(e,i){var n,s;void 0===i&&(i={}),s=t.call(this,e)||this;var r=new Rm;return r.graphicsDevice=null!=(n=i.graphicsDevice)?n:s.createDevice(e,i),s.addComponentSystems(r),s.addResourceHandles(r),r.elementInput=i.elementInput,r.keyboard=i.keyboard,r.mouse=i.mouse,r.touch=i.touch,r.gamepads=i.gamepads,r.scriptPrefix=i.scriptPrefix,r.assetPrefix=i.assetPrefix,r.scriptsOrder=i.scriptsOrder,r.soundManager=new ro,r.lightmapper=Vm,r.batchManager=Yh,r.xr=wE,s.init(r),s}x(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new Fr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Jy,Jv,Xg,R_,Q_,vy,ky,aS,cS,Hp.legacy?mx:AS,rv,Ux,ev,Ay,rx,Fg,wv,Px,Lx,Zx,uy,Kg,tS,IS]},i.addResourceHandles=function(t){t.resourceHandlers=[FS,Vb,Gb,Hb,GT,BT,Iw,ew,LT,jb,YT,HT,$b,DT,Jb,KT,IT,tT,rT,qb,rw,JT,tw,Qb,AT]},e}(Cm),ME=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof om)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}x(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),PE=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new or(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),RE=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new pt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}x(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new PE(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=it.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dT&&(T=this.fontSize*this.fontSize/w,o.ctx.font=this.fontWeight+" "+T.toString()+"px "+this.fontName,w=this.fontSize),this.renderCharacter(o.ctx,S,g+_,y+v,n);var E=this.padding+(this.glyphSize-w)/2,A=-this.padding+u[S].descent-c,C=w;this._addChar(this.data,S,b,g,y,p,m,E,A,C,a-1,e,i),(g+=p)+p>e&&(g=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,IE,DE,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(nn.NOBLEND)})),IE.length=0)}}},e}(Kr),kE=new Set,OE=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof En&&(t=Np()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new LE(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){void 0===i&&(i=1),void 0===n&&(n=1);var s=this.device;e=this.renderTarget.height-(e+n),t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i,1)),n=Math.floor(Math.max(n,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var r=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,r),s.updateEnd();for(var a=this.mapping,o=0;o0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return x(e,t),e}(cA),dA=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return x(e,t),e}(cA),fA=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return x(e,t),e}(cA),pA=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(Ia.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(Ia.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=EE,this._lastY=AE)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new dA(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new dA(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,EE,AE)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new uA(e,i,s,EE,AE,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new uA(e,this._pressedElement,s,EE,AE,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new uA(e,n,s,EE,AE,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new uA(e,this._hoveredElement,s,EE,AE,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new uA(e,this._hoveredElement,s,EE,AE,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(VE,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new fA(i,a,r,e)),s&&this._fireEvent("selectenter",new fA(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new fA(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new fA(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new fA(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new fA(i,l,r,e)),l&&l===a&&this._fireEvent("click",new fA(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);EE=t.clientX-i,AE=t.clientY-n},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,UE)?UE:null,s=this._calculateRay3d(e,i,t,zE)?zE:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){UE.origin.copy(t.origin),UE.direction.copy(t.direction),UE.end.copy(UE.direction).mulScalar(2*e.farClip).add(UE.origin);var i=UE,n=e.worldToScreen(i.origin,BE),s=this._calculateRayScreen(n.x,n.y,e,zE)?zE:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,BE),i.screenToWorld(d,f,i.farClip,NE),n.origin.copy(BE),n.direction.set(0,0,-1),n.end.copy(NE),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){GE.sub2(e,t),HE.sub2(i[0],t),WE.sub2(i[1],t),XE.sub2(i[2],t),qE.cross(XE,GE);var n,s,r=HE.dot(qE);if(r>=0){if((n=-WE.dot(qE))<0)return-1;if((s=lA(GE,WE,HE))<0)return-1;var a=1/(n+r+s);YE.copy(i[0]).mulScalar(n*a),KE.copy(i[1]).mulScalar(r*a),ZE.copy(i[2]).mulScalar(s*a),QE.copy(YE).add(KE).add(ZE)}else{if(jE.sub2(i[3],t),(n=jE.dot(qE))<0)return-1;if((s=lA(GE,HE,jE))<0)return-1;var o=1/(n+(r=-r)+s);YE.copy(i[0]).mulScalar(n*o),KE.copy(i[3]).mulScalar(r*o),ZE.copy(i[2]).mulScalar(s*o),QE.copy(YE).add(KE).add(ZE)}return GE.sub2(i[0],i[2]).lengthSq()<1e-8||GE.sub2(i[1],i[3]).lengthSq()<1e-8?-1:QE.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||hA;tA.copy(t.entity.up),eA.copy(tA).mulScalar(-1),nA.copy(t.entity.right),iA.copy(nA).mulScalar(-1),tA.mulScalar(s.w*i.y),eA.mulScalar(s.y*i.y),nA.mulScalar(s.z*i.x),iA.mulScalar(s.x*i.x),sA.copy(n[0]).add(eA).add(iA),rA.copy(n[1]).add(eA).add(nA),aA.copy(n[2]).add(tA).add(nA),oA.copy(n[3]).add(tA).add(iA),n=[sA,rA,aA,oA]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for($E.set(i,i,i);e&&!e.screen;)$E.mul(e.getLocalScale()),e=e.parent;return $E},t.calculateScaleToWorld=function(t){var e=t.entity;for($E.set(1,1,1);e;)$E.mul(e.getLocalScale()),e=e.parent;return $E},v(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||Np()},set:function(t){this._app=t}}])}(),mA={write:function(t){console.log(t)},open:function(){mA.write("Powered by PlayCanvas "+o+" "+h)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){mA.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&mA.write("ASSERT: "+e)}};it.endsWith=function(t,e){return t.endsWith(e)},it.startsWith=function(t,e){return t.startsWith(e)};var _A=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=lt()},e.stop=function(){this._isRunning=!1,this._b=lt()},e.getMilliseconds=function(){return this._b-this._a},t}(),vA={now:lt,Timer:_A};Object.defineProperty(pt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(pt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),ft.INV_LOG2=Math.LOG2E,ft.intToBytes=ft.intToBytes32,ft.bytesToInt=ft.bytesToInt32,Object.defineProperty(Mt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),Mt.prototype.scale=Mt.prototype.mulScalar,Object.defineProperty(wt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),wt.prototype.scale=wt.prototype.mulScalar,Object.defineProperty(Rt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Rt.prototype.scale=Rt.prototype.mulScalar;var gA={Aabb:Wt,Sphere:qt,Plane:ee};qt.prototype.intersectRay=qt.prototype.intersectsRay,Yt.prototype.update=function(t,e){var i=new Bt;i.mul2(t,e),this.setFromMat4(i)};function yA(t){this.name="UnsupportedBrowserError",this.message=t||""}function xA(t){this.name="ContextCreationError",this.message=t||""}yA.prototype=Error.prototype,xA.prototype=Error.prototype;var SA={begin:ko.begin,dummyFragmentCode:Pr.dummyFragmentCode,end:ko.end,fogCode:ko.fogCode,gammaCode:ko.gammaCode,precisionCode:Pr.precisionCode,skinCode:ko.skinCode,tonemapCode:ko.tonemapCode,versionCode:Pr.versionCode},bA={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:0,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:1,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:5,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:Le,SEMANTIC_NORMAL:ke,SEMANTIC_COLOR:Ne,SEMANTIC_TEXCOORD:Ue,SEMANTIC_TEXCOORD0:ze,SEMANTIC_TEXCOORD1:Ve,SEMANTIC_ATTR0:Ke,SEMANTIC_ATTR1:Ze,SEMANTIC_ATTR2:Qe,SEMANTIC_ATTR3:Je,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Xo,programlib:SA,shaderChunks:Ro,ContextCreationError:xA,Device:En,IndexBuffer:jr,ProgramLibrary:dp,RenderTarget:Cn,ScopeId:un,Shader:zs,ShaderInput:ur,Texture:or,UnsupportedBrowserError:yA,VertexBuffer:pn,VertexFormat:bn,VertexIterator:fa},TA=new Rt;function wA(t,e){return dh.fromGeometry(t,new If(e))}function EA(t,e){return dh.fromGeometry(t,new cp(e))}function AA(t,e){return dh.fromGeometry(t,new Rf(e))}function CA(t,e){return dh.fromGeometry(t,new up(e))}function MA(t,e){return dh.fromGeometry(t,new op(e))}function PA(t,e){return dh.fromGeometry(t,new hp(e))}function RA(t,e){return dh.fromGeometry(t,new lp(e))}function IA(t,e,i){void 0===i&&(i={});var n=new Mf;return n.positions=e,n.normals=i.normals,n.tangents=i.tangents,n.colors=i.colors,n.uvs=i.uvs,n.uvs1=i.uvs1,n.blendIndices=i.blendIndices,n.blendWeights=i.blendWeights,n.indices=i.indices,dh.fromGeometry(t,n,i)}function DA(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=TA.set(s.x*a,s.y*o,s.z*a,s.w*o)}Xo(t,e,n,r)}var LA={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:DA,PostEffect:tp,PostEffectQueue:iS};Object.defineProperty(Ro,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+Ro.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(Ro,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(Cn.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(bn,"defaultInstancingFormat",{get:function(){return null}}),Object.defineProperties(or.prototype,{rgbm:{get:function(){return this.type===di},set:function(t){this.type=t?di:ui}},swizzleGGGR:{get:function(){return this.type===mi},set:function(t){this.type=t?mi:ui}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(En.prototype,"webgl2",{get:function(){return this.isWebGL2}}),En.prototype.getProgramLibrary=function(){return Do(this)},En.prototype.setProgramLibrary=function(t){Lo(this,t)},En.prototype.removeShaderFromCache=function(t){Do(this).removeFromCache(t)},nn.DEFAULT=Object.freeze(new nn);var kA=new nn,OA=new on;En.prototype.setBlendFunction=function(t,e){var i=this.blendState;kA.copy(i),kA.setColorBlend(i.colorOp,t,e),kA.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(kA)},En.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;kA.copy(s),kA.setColorBlend(s.colorOp,t,e),kA.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(kA)},En.prototype.setBlendEquation=function(t){var e=this.blendState;kA.copy(e),kA.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),kA.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(kA)},En.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;kA.copy(i),kA.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),kA.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(kA)},En.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;kA.copy(s),kA.setColorWrite(t,e,i,n),this.setBlendState(kA)},En.prototype.getBlending=function(){return this.blendState.blend},En.prototype.setBlending=function(t){kA.copy(this.blendState),kA.blend=t,this.setBlendState(kA)},En.prototype.setDepthWrite=function(t){OA.copy(this.depthState),OA.write=t,this.setDepthState(OA)},En.prototype.setDepthFunc=function(t){OA.copy(this.depthState),OA.func=t,this.setDepthState(OA)},En.prototype.setDepthTest=function(t){OA.copy(this.depthState),OA.test=t,this.setDepthState(OA)},En.prototype.getCullMode=function(){return this.cullMode};var FA=Lc,BA=cl,NA={procedural:{calculateTangents:Cf,createMesh:IA,createTorus:CA,createCylinder:RA,createCapsule:MA,createCone:PA,createSphere:wA,createPlane:EA,createBox:AA},BasicMaterial:ih,ForwardRenderer:id,GraphNode:Rh,Material:eh,Mesh:dh,MeshInstance:Vh,Model:wd,ParticleEmitter:bf,PhongMaterial:Lc,Picker:OE,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:Gf,Skin:Hf,SkinInstance:ah};function UA(t,e){Object.defineProperty(Lc.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function zA(t,e){"pass"!==t&&Object.defineProperty(dc.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(Gf.prototype,"defaultMaterial",{get:function(){return Jo(Np().graphicsDevice)}}),Object.defineProperty(dd.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(Gf.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(Gf.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(Gf.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(ld.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyComposition=!0},get:function(){return this._renderTarget}}),Gf.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},Gf.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},Gf.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},Gf.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},Gf.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},Gf.prototype.getModels=function(t){return this.models},Object.defineProperty(nh.prototype,"model",{get:function(){return null}}),id.prototype.renderComposition=function(t){Np().renderComposition(t)},Vh.prototype.syncAabb=function(){},Ed.prototype.getTarget=function(t){return this.targets[t]},Rh.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},Rh.prototype.addLabel=function(t){this._labels[t]=!0},Rh.prototype.getLabels=function(){return Object.keys(this._labels)},Rh.prototype.hasLabel=function(t){return!!this._labels[t]},Rh.prototype.removeLabel=function(t){delete this._labels[t]},Rh.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i0){var i=this._frameTimings[this._frameIndex-1];i[1]=e-i[1]}else if(this._timings.length>0){var n=this._timings[this._timings.length-1];n[1]=e-n[1]}if(this._frameIndex>=this._frameTimings.length)this._frameTimings.push([t,e]);else{var s=this._frameTimings[this._frameIndex];s[0]=t,s[1]=e}this._frameIndex++}},v(t,[{key:"timings",get:function(){return this._timings.slice(0,-1).map((function(t){return t[1]}))}}])}(),QA=v((function(t){this.device=t,t.gpuProfiler.enabled=!0,this.enabled=!0,this.unitsName="ms",this.decimalPlaces=1,this._timings=[]}),[{key:"timings",get:function(){return this._timings[0]=this.device.gpuProfiler._frameTime,this._timings}}]),JA=v((function(t,e,i,n,s){var r=this;this.app=t,this.values=[],this.statNames=e,this.statNames.length>3&&(this.statNames.length=3),this.unitsName=n,this.decimalPlaces=i,this.multiplier=s||1;var a=function(t,e){return t.split(".").reduce((function(t,e){return t?t[e]:null}),e||r)};t.on("frameupdate",(function(t){for(var e=0;ethis.textRefreshRate&&(this.timingText=(this.avgTotal/this.avgCount).toFixed(this.timer.decimalPlaces),this.avgTimer=0,this.avgTotal=0,this.avgCount=0),this.enabled){for(var n=0,s=1.5*this.watermark,r=0;r=512&&(a=5,o+=16),r.set(t,{l:i,r:n,a:h,d:l,w:c,h:u,x:a,y:o}),a+=c+5})),n.width=512,n.height=ft.nextPowerOfTwo(o+16+5),i(s),s.fillStyle="rgb(0, 0, 0)",s.fillRect(0,0,n.width,n.height),r.forEach((function(t,e){s.fillStyle=function(t){return"."===t||1===t.length&&t.charCodeAt(0)>=48&&t.charCodeAt(0)<=57}(e)?"rgb(255, 255, 255)":"rgb(170, 170, 170)",s.fillText(e,t.x-t.l,t.y+t.a)})),this.placements=r;for(var h=s.getImageData(0,0,n.width,n.height).data,l=0;lt?e.width:t}),0);this.texture=new or(e,{name:"mini-stats-graph-texture",width:ft.nextPowerOfTwo(h),height:ft.nextPowerOfTwo(this.graphs.length),mipmaps:!1,minFilter:0,magFilter:0,addressU:0,addressV:0}),this.graphs.forEach((function(t,e){t.texture=n.texture,t.yOffset=e}))},e.render=function(){var t=this.graphs,e=this.wordAtlas,i=this.render2d,n=this.width,s=this.height,r=this.gspacing;i.startFrame();for(var a=0;a>1|(21845&_C)<<1;vC=(61680&(vC=(52428&vC)>>2|(13107&vC)<<2))>>4|(3855&vC)<<4,mC[_C]=((65280&vC)>>8|(255&vC)<<8)>>1}var gC=function(t,e,i){for(var n=t.length,s=0,r=new rC(e);s>h]=l}else for(a=new rC(n),s=0;s>15-t[s]);return a},yC=new sC(288);for(_C=0;_C<144;++_C)yC[_C]=8;for(_C=144;_C<256;++_C)yC[_C]=9;for(_C=256;_C<280;++_C)yC[_C]=7;for(_C=280;_C<288;++_C)yC[_C]=8;var xC=new sC(32);for(_C=0;_C<32;++_C)xC[_C]=5;var SC=gC(yC,9,0);gC(yC,9,1);var bC=gC(xC,5,0);gC(xC,5,1);var TC=function(t){return(t+7)/8|0},wC=function(t,e,i){return(null==i||i>t.length)&&(i=t.length),new sC(t.subarray(e,i))},EC=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],AC=function(t,e,i){var n=new Error(e||EC[t]);if(n.code=t,Error.captureStackTrace&&Error.captureStackTrace(n,AC),!i)throw n;return n},CC=function(t,e,i){i<<=7&e;var n=e/8|0;t[n]|=i,t[n+1]|=i>>8},MC=function(t,e,i){i<<=7&e;var n=e/8|0;t[n]|=i,t[n+1]|=i>>8,t[n+2]|=i>>16},PC=function(t,e){for(var i=[],n=0;nd&&(d=r[n].s);var f=new rC(d+1),p=RC(i[c-1],f,0);if(p>e){n=0;var m=0,_=p-e,v=1<<_;for(r.sort((function(t,e){return f[e.s]-f[t.s]||t.f-e.f}));ne))break;m+=v-(1<>=_;m>0;){var y=r[n].s;f[y]=0&&m;--n){var x=r[n].s;f[x]==e&&(--f[x],++m)}p=e}return{t:new sC(f),l:p}},RC=function(t,e,i){return-1==t.s?Math.max(RC(t.l,e,i+1),RC(t.r,e,i+1)):e[t.s]=i},IC=function(t){for(var e=t.length;e&&!t[--e];);for(var i=new rC(++e),n=0,s=t[0],r=1,a=function(t){i[n++]=t},o=1;o<=e;++o)if(t[o]==s&&o!=e)++r;else{if(!s&&r>2){for(;r>138;r-=138)a(32754);r>2&&(a(r>10?r-11<<5|28690:r-3<<5|12305),r=0)}else if(r>3){for(a(s),--r;r>6;r-=6)a(8304);r>2&&(a(r-3<<5|8208),r=0)}for(;r--;)a(s);r=1,s=t[o]}return{c:i.subarray(0,n),n:e}},DC=function(t,e){for(var i=0,n=0;n>8,t[s+2]=255^t[s],t[s+3]=255^t[s+1];for(var r=0;r4&&!A[lC[M-1]];--M);var P,R,I,D,L=l+5<<3,k=DC(s,yC)+DC(r,xC)+a,O=DC(s,d)+DC(r,m)+a+14+3*M+DC(T,A)+2*T[16]+3*T[17]+7*T[18];if(h>=0&&L<=k&&L<=O)return LC(e,c,t.subarray(h,h+l));if(CC(e,c,1+(O15&&(CC(e,c,U[w]>>5&127),c+=U[w]>>12)}}}else P=SC,R=yC,I=bC,D=xC;for(w=0;w255){MC(e,c,P[(z=V>>18&31)+257]),c+=R[z+257],z>7&&(CC(e,c,V>>23&31),c+=oC[z]);var G=31&V;MC(e,c,I[G]),c+=D[G],G>3&&(MC(e,c,V>>5&8191),c+=hC[G])}else MC(e,c,P[V]),c+=R[V]}return MC(e,c,P[256]),c+R[256]},OC=new aC([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),FC=new sC(0),BC=function(){for(var t=new Int32Array(256),e=0;e<256;++e){for(var i=e,n=9;--n;)i=(1&i&&-306674912)^i>>>1;t[e]=i}return t}(),NC=function(){var t=-1;return{p:function(e){for(var i=t,n=0;n>>8;t=i},d:function(){return~t}}},UC=function(t,e,i,n,s){if(!s&&(s={l:1},e.dictionary)){var r=e.dictionary.subarray(-32768),a=new sC(r.length+t.length);a.set(r),a.set(t,r.length),t=a,s.w=r.length}return function(t,e,i,n,s,r){var a=r.z||t.length,o=new sC(n+a+5*(1+Math.ceil(a/7e3))+s),h=o.subarray(n,o.length-s),l=r.l,c=7&(r.r||0);if(e){c&&(h[0]=r.r>>3);for(var u=OC[e-1],d=u>>13,f=8191&u,p=(1<7e3||A>24576)&&(D>423||!l)){c=kC(t,h,0,x,S,b,w,A,M,E-M,c),A=T=w=0,M=E;for(var L=0;L<286;++L)S[L]=0;for(L=0;L<30;++L)b[L]=0}var k=2,O=0,F=f,B=R-I&32767;if(D>2&&P==y(E-B))for(var N=Math.min(d,D)-1,U=Math.min(32767,E),z=Math.min(258,D);B<=U&&--F&&R!=I;){if(t[E+k]==t[E+k-B]){for(var V=0;Vk){if(k=V,O=B,V>N)break;var G=Math.min(B,V-2),H=0;for(L=0;LH&&(H=X,I=W)}}}B+=(R=I)-(I=m[R])&32767}if(O){x[A++]=268435456|fC[k]<<18|pC[O];var j=31&fC[k],q=31&pC[O];w+=oC[j]+hC[q],++S[257+j],++b[q],C=E+k,++T}else x[A++]=t[E],++S[t[E]]}}for(E=Math.max(E,C);E=a&&(h[c/8|0]=l,Y=a),c=LC(h,c+1,t.subarray(E,Y))}r.i=a}return wC(o,0,n+TC(c)+s)}(t,null==e.level?6:e.level,null==e.mem?s.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(t.length)))):20:12+e.mem,i,n,s)},zC=function(t,e){var i={};for(var n in t)i[n]=t[n];for(var n in e)i[n]=e[n];return i},VC=function(t,e,i){for(;i;++e)t[e]=i,i>>>=8};function GC(t,e){return UC(t,e||{},0,0)}var HC=function(t,e,i,n){for(var s in t){var r=t[s],a=e+s,o=n;Array.isArray(r)&&(o=zC(n,r[1]),r=r[0]),r instanceof sC?i[a]=[r,o]:(i[a+="/"]=[new sC(0),o],HC(r,a,i,n))}},WC="undefined"!=typeof TextEncoder&&new TextEncoder,XC="undefined"!=typeof TextDecoder&&new TextDecoder;try{XC.decode(FC,{stream:!0})}catch(t){}function jC(t,e){if(WC)return WC.encode(t);for(var i=t.length,n=new sC(t.length+(t.length>>1)),s=0,r=function(t){n[s++]=t},a=0;an.length){var o=new sC(s+8+(i-a<<1));o.set(n),n=o}var h=t.charCodeAt(a);h<128||e?r(h):h<2048?(r(192|h>>6),r(128|63&h)):h>55295&&h<57344?(r(240|(h=65536+(1047552&h)|1023&t.charCodeAt(++a))>>18),r(128|h>>12&63),r(128|h>>6&63),r(128|63&h)):(r(224|h>>12),r(128|h>>6&63),r(128|63&h))}return wC(n,0,s)}var qC=function(t){var e=0;if(t)for(var i in t){var n=t[i].length;n>65535&&AC(9),e+=n+4}return e},YC=function(t,e,i,n,s,r,a,o){var h=n.length,l=i.extra,c=o&&o.length,u=qC(l);VC(t,e,null!=a?33639248:67324752),e+=4,null!=a&&(t[e++]=20,t[e++]=i.os),t[e]=20,e+=2,t[e++]=i.flag<<1|(r<0&&8),t[e++]=s&&8,t[e++]=255&i.compression,t[e++]=i.compression>>8;var d=new Date(null==i.mtime?Date.now():i.mtime),f=d.getFullYear()-1980;if((f<0||f>119)&&AC(10),VC(t,e,f<<25|d.getMonth()+1<<21|d.getDate()<<16|d.getHours()<<11|d.getMinutes()<<5|d.getSeconds()>>1),e+=4,-1!=r&&(VC(t,e,i.crc),VC(t,e+4,r<0?-r-2:r),VC(t,e+8,i.size)),VC(t,e+12,h),VC(t,e+14,u),e+=16,null!=a&&(VC(t,e,c),VC(t,e+6,i.attrs),VC(t,e+10,a),e+=14),t.set(n,e),e+=h,u)for(var p in l){var m=l[p],_=m.length;VC(t,e,+p),VC(t,e+2,_),t.set(m,e+4),e+=4+_}return c&&(t.set(o,e),e+=c),e};function KC(t,e){e||(e={});var i={},n=[];HC(t,"",i,e);var s=0,r=0;for(var a in i){var o=i[a],h=o[0],l=o[1],c=0==l.level?0:8,u=(T=jC(a)).length,d=l.comment,f=d&&jC(d),p=f&&f.length,m=qC(l.extra);u>65535&&AC(11);var _=c?GC(h,l):h,v=_.length,g=NC();g.p(h),n.push(zC(l,{size:h.length,crc:g.d(),c:_,f:T,m:f,u:u!=a.length||f&&d.length!=p,o:s,compression:c})),s+=30+u+m+v,r+=76+2*(u+m)+(p||0)+v}for(var y=new sC(r+22),x=s,S=r-s,b=0;b"}},i.getTextureFileIds=function(t){return this.getFileIds("texture","Texture_"+t.id,"Texture","png")},i.addFile=function(t,e,i,n){void 0===i&&(i=""),void 0===n&&(n="");var s=null;n&&(s=jC(n='#usda 1.0\n(\n customLayerData = {\n string creator = "PlayCanvas UsdzExporter"\n }\n metersPerUnit = 1\n upAxis = "Y"\n)\n\n'+n));var r=this.getFileIds(t,e,i);return this.files[r.fileName]=s,r.refName},i.getMaterialRef=function(t){var e=this.materialMap.get(t);return e||(e=this.buildMaterial(t),this.materialMap.set(t,e)),e},i.getMeshRef=function(t){var e=this.meshMap.get(t);return e||(e=this.buildMesh(t),this.meshMap.set(t,e)),e},i.buildArray2=function(t){for(var e=[],i=t.length,n=0;n"},r=[],a=[],o=function(i,n,o,h,l,c,u){void 0===c&&(c=!1),void 0===u&&(u=!1);var d=t[i];if(d){var f=e.getTextureFileIds(d);e.textureMap.set(d,f.refName);var p=t[i+"Channel"]||"rgb",m=s("/"+f.name+"_"+l+".outputs:"+p);r.push(QC(o,h+".connect",m)),c&&t.alphaTest;var _=t[i+"Tiling"],v=t[i+"Offset"],g=t[i+"Rotation"],y=1===t[i+"Uv"]?"st1":"st",x=u&&n?n:pt.WHITE;a.push(function(t,e,i,n,r,a,o,h){return'\n def Shader "Transform2d_'+i+'" (\n sdrMetadata = {\n string role = "math"\n }\n )\n {\n uniform token info:id = "UsdTransform2d"\n float2 inputs:in.connect = '+s("/uvReader_"+n+".outputs:result")+"\n float inputs:rotation = "+o+"\n float2 inputs:scale = ("+r.x+", "+r.y+")\n float2 inputs:translation = ("+a.x+", "+a.y+')\n float2 outputs:result\n }\n\n def Shader "Texture_'+t.id+"_"+i+'"\n {\n uniform token info:id = "UsdUVTexture"\n asset inputs:file = @'+e.fileName+"@\n float2 inputs:st.connect = "+s("/Transform2d_"+i+".outputs:result")+'\n token inputs:wrapS = "repeat"\n token inputs:wrapT = "repeat"\n float4 inputs:scale = ('+h.r+", "+h.g+", "+h.b+", "+h.a+")\n float outputs:r\n float outputs:g\n float outputs:b\n float3 outputs:rgb\n float outputs:a\n }\n "}(d,f,l,y,_,v,g,x))}else if(n){var S="float"===o?""+n:"("+n.r+", "+n.g+", "+n.b+")";r.push(QC(o,h,S))}};o("diffuseMap",t.diffuse,"color3f","diffuseColor","diffuse",!1,!0),(t.transparent||t.alphaTest>0)&&o("opacityMap",t.opacity,"float","opacity","opacity",!0),o("normalMap",null,"normal3f","normal","normal"),o("emissiveMap",t.emissive,"color3f","emissiveColor","emissive",!1,!0),o("aoMap",null,"float","occlusion","occlusion"),o("metalnessMap",t.metalness,"float","metallic","metallic"),o("glossMap",t.gloss,"float","roughness","roughness");var h='\n def Material "'+i+'"\n {\n def Shader "PreviewSurface"\n {\n uniform token info:id = "UsdPreviewSurface"\n'+r.join("\n")+"\n int inputs:useSpecularWorkflow = 0\n token outputs:surface\n }\n\n token outputs:surface.connect = "+s("/PreviewSurface.outputs:surface")+'\n\n def Shader "uvReader_st"\n {\n uniform token info:id = "UsdPrimvarReader_float2"\n token inputs:varname = "st"\n float2 inputs:fallback = (0.0, 0.0)\n float2 outputs:result\n }\n\n def Shader "uvReader_st1"\n {\n uniform token info:id = "UsdPrimvarReader_float2"\n token inputs:varname = "st1"\n float2 inputs:fallback = (0.0, 0.0)\n float2 outputs:result\n }\n\n '+a.join("\n")+"\n }\n ";return this.materials.push(h),s("")},i.buildMesh=function(t){var e=[],i=[],n=[],s=[],r=[];t.getVertexStream(Le,e),t.getVertexStream(ke,n),t.getVertexStream(ze,s),t.getVertexStream(Ve,r),t.getIndices(i);var a=i.length||e.length,o=Array(a/3).fill(3).join(", ");if(!i.length)for(var h=0;h0&&(e.materials=t.materials.map((function(n){var s=n.name,r=n.blendType,a=n.cull,o=n.alphaTest,h={pbrMetallicRoughness:{}};return s&&s.length>0&&(h.name=s),n instanceof Lc&&i.writeStandardMaterial(t,n,h,e),n instanceof ih&&i.writeBasicMaterial(t,n,h,e),2===r?h.alphaMode="BLEND":3===r&&0!==o&&(h.alphaMode="MASK",h.alphaCutoff=o),0===a&&(h.doubleSided=!0),i.attachTexture(t,n,h,"normalTexture","normalMap",e),i.attachTexture(t,n,h,"occlusionTexture","aoMap",e),i.attachTexture(t,n,h,"emissiveTexture","emissiveMap",e),h})))},i.writeNodes=function(t,e){t.entities.length>0&&(e.nodes=t.entities.map((function(e){var i=e.name,n=e.getLocalPosition(),s=e.getLocalRotation(),r=e.getLocalScale(),a={};i&&i.length>0&&(a.name=i),n.equals(wt.ZERO)||(a.translation=[n.x,n.y,n.z]),s.equals(Nt.IDENTITY)||(a.rotation=[s.x,s.y,s.z,s.w]),r.equals(wt.ONE)||(a.scale=[r.x,r.y,r.z]),e.camera&&e.camera.enabled&&(a.camera=t.cameras.indexOf(e.camera));var o=t.entityMeshInstances.find((function(t){return t.node===e}));return o&&(a.mesh=t.entityMeshInstances.indexOf(o)),e.children.length>0&&(a.children=[],e.children.forEach((function(e){a.children.push(t.entities.indexOf(e))}))),a})))},i.writeMeshes=function(t,i){t.entityMeshInstances.length>0&&(i.accessors=[],i.meshes=[],t.entityMeshInstances.forEach((function(n){var s={primitives:[]};n.meshInstances.forEach((function(n){var r=e.createPrimitive(t,i,n.mesh);r.material=t.materials.indexOf(n.material),s.primitives.push(r)})),i.meshes.push(s)})))},e.createPrimitive=function(t,i,n){var s={attributes:{}},r=n.vertexBuffer,a=r.format,o=a.interleaved,h=a.elements,l=r.getNumVertices();h.forEach((function(a,h){var c=t.bufferViewMap.get(r);c||(e.writeBufferView(t,i,r),t.buffers.push(r),c=t.bufferViewMap.get(r));var u={bufferView:c[o?0:h],byteOffset:o?a.offset:0,componentType:eM(a.dataType),type:iM(a.numComponents),count:l},d=i.accessors.push(u)-1;if(s.attributes[function(t){switch(t){case Le:return"POSITION";case ke:return"NORMAL";case Oe:return"TANGENT";case Ne:return"COLOR_0";case Be:return"JOINTS_0";case Fe:return"WEIGHTS_0";case ze:return"TEXCOORD_0";case Ve:return"TEXCOORD_1";case Ge:return"TEXCOORD_2";case He:return"TEXCOORD_3";case We:return"TEXCOORD_4";case Xe:return"TEXCOORD_5";case je:return"TEXCOORD_6";case qe:return"TEXCOORD_7"}return""}(a.name)]=d,a.name===Le){var f=[];n.getPositions(f);var p=new wt,m=new wt;Wt.computeMinMax(f,p,m),u.min=[p.x,p.y,p.z],u.max=[m.x,m.y,m.z]}}));var c=n.indexBuffer[0];if(c){var u=t.bufferViewMap.get(c);u||(e.writeBufferView(t,i,c),t.buffers.push(c),u=t.bufferViewMap.get(c));var d={bufferView:u[0],componentType:tM(c.getFormat()),count:c.getNumIndices(),type:"SCALAR"},f=i.accessors.push(d)-1;s.indices=f}return s},i.convertTextures=function(t,e){var i=this,n={maxTextureSize:e.maxTextureSize},s=[];return t.forEach((function(t){var e=i.textureToCanvas(t,n);e.then((function(t){return new Promise((function(e){return e(t)}))})),s.push(e)})),s},i.writeTextures=function(t,i,n,s){for(var r=this,a=t.textures,o=[],h=function(s){var h=a[s],l=i[s],c=function(t){for(var e=t.getContext("2d").getImageData(0,0,t.width,t.height).data,i=3;i0&&(a+=8+r);var o=new ArrayBuffer(a),h=new DataView(o);h.setUint32(0,1179937895,!0),h.setUint32(4,2,!0),h.setUint32(8,a,!0),h.setUint32(12,n+s,!0),h.setUint32(16,1313821514,!0);var l=20;new Uint8Array(o,l,n).set(e),l+=n;for(var c=0;c0&&(h.setUint32(l,r,!0),h.setUint32(l+4,5130562,!0),l+=8,i.buffers.forEach((function(e){var n,s=i.bufferViewMap.get(e)[0],r=t.bufferViews[s].byteOffset;if(e instanceof ArrayBuffer)n=new Uint8Array(e);else{var a=e.lock();n=a instanceof ArrayBuffer?new Uint8Array(a):new Uint8Array(a.buffer,a.byteOffset,a.byteLength)}new Uint8Array(o,l+r,n.byteLength).set(n)}))),Promise.resolve(o)}))},e}(nC),oM=function(t){function e(e,i){var n;return(n=t.call(this,e)||this).sourceTexture=i,n.shader=n.createQuadShader("DownSampleShader","\n\t\t\tuniform sampler2D sourceTexture;\n\t\t\tuniform vec2 sourceInvResolution;\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\tfloat x = sourceInvResolution.x;\n\t\t\t\tfloat y = sourceInvResolution.y;\n\t\t\t\tvec3 a = texture2D (sourceTexture, vec2 (uv0.x - 2.0 * x, uv0.y + 2.0 * y)).rgb;\n\t\t\t\tvec3 b = texture2D (sourceTexture, vec2 (uv0.x,\t\t uv0.y + 2.0 * y)).rgb;\n\t\t\t\tvec3 c = texture2D (sourceTexture, vec2 (uv0.x + 2.0 * x, uv0.y + 2.0 * y)).rgb;\n\t\t\t\tvec3 d = texture2D (sourceTexture, vec2 (uv0.x - 2.0 * x, uv0.y)).rgb;\n\t\t\t\tvec3 e = texture2D (sourceTexture, vec2 (uv0.x,\t\t uv0.y)).rgb;\n\t\t\t\tvec3 f = texture2D (sourceTexture, vec2 (uv0.x + 2.0 * x, uv0.y)).rgb;\n\t\t\t\tvec3 g = texture2D (sourceTexture, vec2 (uv0.x - 2.0 * x, uv0.y - 2.0 * y)).rgb;\n\t\t\t\tvec3 h = texture2D (sourceTexture, vec2 (uv0.x,\t\t uv0.y - 2.0 * y)).rgb;\n\t\t\t\tvec3 i = texture2D (sourceTexture, vec2 (uv0.x + 2.0 * x, uv0.y - 2.0 * y)).rgb;\n\t\t\t\tvec3 j = texture2D (sourceTexture, vec2 (uv0.x - x, uv0.y + y)).rgb;\n\t\t\t\tvec3 k = texture2D (sourceTexture, vec2 (uv0.x + x, uv0.y + y)).rgb;\n\t\t\t\tvec3 l = texture2D (sourceTexture, vec2 (uv0.x - x, uv0.y - y)).rgb;\n\t\t\t\tvec3 m = texture2D (sourceTexture, vec2 (uv0.x + x, uv0.y - y)).rgb;\n\t\t\t\tvec3 value = e * 0.125;\n\t\t\t\tvalue += (a + c + g + i) * 0.03125;\n\t\t\t\tvalue += (b + d + f + h) * 0.0625;\n\t\t\t\tvalue += (j + k + l + m) * 0.125;\n\t\t\t\tgl_FragColor = vec4(value, 1.0);\n\t\t\t}"),n.sourceTextureId=e.scope.resolve("sourceTexture"),n.sourceInvResolutionId=e.scope.resolve("sourceInvResolution"),n.sourceInvResolutionValue=new Float32Array(2),n}return x(e,t),e.prototype.execute=function(){this.sourceTextureId.setValue(this.sourceTexture),this.sourceInvResolutionValue[0]=1/this.sourceTexture.width,this.sourceInvResolutionValue[1]=1/this.sourceTexture.height,this.sourceInvResolutionId.setValue(this.sourceInvResolutionValue),t.prototype.execute.call(this)},e}(ep),hM=function(t){function e(e,i){var n;return(n=t.call(this,e)||this).sourceTexture=i,n.shader=n.createQuadShader("UpSampleShader","\n\t\t\tuniform sampler2D sourceTexture;\n\t\t\tuniform vec2 sourceInvResolution;\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main()\n\t\t\t{\n\t\t\t\tfloat x = sourceInvResolution.x;\n\t\t\t\tfloat y = sourceInvResolution.y;\n\t\t\t\tvec3 a = texture2D (sourceTexture, vec2 (uv0.x - x, uv0.y + y)).rgb;\n\t\t\t\tvec3 b = texture2D (sourceTexture, vec2 (uv0.x,\t uv0.y + y)).rgb;\n\t\t\t\tvec3 c = texture2D (sourceTexture, vec2 (uv0.x + x, uv0.y + y)).rgb;\n\t\t\t\tvec3 d = texture2D (sourceTexture, vec2 (uv0.x - x, uv0.y)).rgb;\n\t\t\t\tvec3 e = texture2D (sourceTexture, vec2 (uv0.x,\t uv0.y)).rgb;\n\t\t\t\tvec3 f = texture2D (sourceTexture, vec2 (uv0.x + x, uv0.y)).rgb;\n\t\t\t\tvec3 g = texture2D (sourceTexture, vec2 (uv0.x - x, uv0.y - y)).rgb;\n\t\t\t\tvec3 h = texture2D (sourceTexture, vec2 (uv0.x,\t uv0.y - y)).rgb;\n\t\t\t\tvec3 i = texture2D (sourceTexture, vec2 (uv0.x + x, uv0.y - y)).rgb;\n\t\t\t\tvec3 value = e * 4.0;\n\t\t\t\tvalue += (b + d + f + h) * 2.0;\n\t\t\t\tvalue += (a + c + g + i);\n\t\t\t\tvalue *= 1.0 / 16.0;\n\t\t\t\tgl_FragColor = vec4(value, 1.0);\n\t\t\t}"),n.sourceTextureId=e.scope.resolve("sourceTexture"),n.sourceInvResolutionId=e.scope.resolve("sourceInvResolution"),n.sourceInvResolutionValue=new Float32Array(2),n}return x(e,t),e.prototype.execute=function(){this.sourceTextureId.setValue(this.sourceTexture),this.sourceInvResolutionValue[0]=1/this.sourceTexture.width,this.sourceInvResolutionValue[1]=1/this.sourceTexture.height,this.sourceInvResolutionId.setValue(this.sourceInvResolutionValue),t.prototype.execute.call(this)},e}(ep),lM=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).bloomTexture=void 0,s.lastMipLevel=1,s.bloomRenderTarget=void 0,s.textureFormat=void 0,s.renderTargets=[],s._sourceTexture=i,s.textureFormat=n,s.bloomRenderTarget=s.createRenderTarget(0),s.bloomTexture=s.bloomRenderTarget.colorBuffer,s}x(e,t);var i=e.prototype;return i.destroy=function(){this.destroyRenderPasses(),this.destroyRenderTargets()},i.destroyRenderTargets=function(t){void 0===t&&(t=0);for(var e=t;e=0;a--){var o=new hM(e,i),h=this.renderTargets[a];o.init(h),o.blendState=nn.ADDBLEND,this.beforePasses.push(o),i=h.colorBuffer}},i.onDisable=function(){var t;null==(t=this.renderTargets[0])||t.resize(1,1),this.destroyRenderPasses(),this.destroyRenderTargets(1)},i.frameUpdate=function(){t.prototype.frameUpdate.call(this);var e=this.calcMipLevels(this._sourceTexture.width,this._sourceTexture.height,Math.pow(2,this.lastMipLevel));e=Math.max(1,e),this.renderTargets.length!==e&&(this.destroyRenderPasses(),this.destroyRenderTargets(1),this.createRenderTargets(e),this.createRenderPasses(e))},v(e,[{key:"sourceTexture",get:function(){return this._sourceTexture},set:function(t){if(this._sourceTexture=t,this.beforePasses.length>0){var e=this.beforePasses[0];e.options.resizeSource=t,e.sourceTexture=t}}}])}(Kr),cM=function(t){function e(e){var i;(i=t.call(this,e)||this).sceneTexture=null,i.bloomIntensity=.01,i._bloomTexture=null,i._toneMapping=4,i._gradingEnabled=!1,i.gradingSaturation=1,i.gradingContrast=1,i.gradingBrightness=1,i._shaderDirty=!0,i._vignetteEnabled=!1,i.vignetteInner=.5,i.vignetteOuter=1,i.vignetteCurvature=.5,i.vignetteIntensity=.3,i._fringingEnabled=!1,i.fringingIntensity=10,i._taaEnabled=!1,i._sharpness=.5,i._key="";var n=e.scope;return i.sceneTextureId=n.resolve("sceneTexture"),i.bloomTextureId=n.resolve("bloomTexture"),i.bloomIntensityId=n.resolve("bloomIntensity"),i.bcsId=n.resolve("brightnessContrastSaturation"),i.vignetterParamsId=n.resolve("vignetterParams"),i.fringingIntensityId=n.resolve("fringingIntensity"),i.sceneTextureInvResId=n.resolve("sceneTextureInvRes"),i.sceneTextureInvResValue=new Float32Array(2),i.sharpnessId=n.resolve("sharpness"),i}x(e,t);var i=e.prototype;return i.postInit=function(){this.setClearColor(pt.BLACK),this.setClearDepth(1),this.setClearStencil(0)},i.frameUpdate=function(){if(this._shaderDirty){this._shaderDirty=!1;var t=this.toneMapping+("-"+(this.bloomTexture?"bloom":"nobloom"))+"-"+(this.gradingEnabled?"grading":"nograding")+"-"+(this.vignetteEnabled?"vignette":"novignette")+"-"+(this.fringingEnabled?"fringing":"nofringing")+"-"+(this.taaEnabled?"taa":"notaa")+"-"+(this.isSharpnessEnabled?"cas":"nocas");if(this._key!==t){this._key=t;var e=(this.bloomTexture?"#define BLOOM\n":"")+(this.gradingEnabled?"#define GRADING\n":"")+(this.vignetteEnabled?"#define VIGNETTE\n":"")+(this.fringingEnabled?"#define FRINGING\n":"")+(this.taaEnabled?"#define TAA\n":"")+(this.isSharpnessEnabled?"#define CAS\n":""),i=Ro.decodePS+Ro.gamma2_2PS+this.toneMapChunk;this.shader=this.createQuadShader("ComposeShader-"+t,e+i+"\n\tvarying vec2 uv0;\n\tuniform sampler2D sceneTexture;\n\tuniform vec2 sceneTextureInvRes;\n\t#ifdef BLOOM\n\t\tuniform sampler2D bloomTexture;\n\t\tuniform float bloomIntensity;\n\t#endif\n\t#ifdef GRADING\n\t\tuniform vec3 brightnessContrastSaturation;\n\t\tvec3 contrastSaturationBrightness(vec3 color, float brt, float sat, float con)\n\t\t{\n\t\t\tcolor = color * brt;\n\t\t\tfloat grey = dot(color, vec3(0.3, 0.59, 0.11));\n\t\t\tcolor = mix(vec3(grey), color, sat);\n\t\t\treturn max(mix(vec3(0.5), color, con), 0.0);\n\t\t}\n\t\n\t#endif\n\t#ifdef VIGNETTE\n\t\tuniform vec4 vignetterParams;\n\t\tfloat vignette(vec2 uv) {\n\t\t\tfloat inner = vignetterParams.x;\n\t\t\tfloat outer = vignetterParams.y;\n\t\t\tfloat curvature = vignetterParams.z;\n\t\t\tfloat intensity = vignetterParams.w;\n\t\t\tvec2 curve = pow(abs(uv * 2.0 -1.0), vec2(1.0 / curvature));\n\t\t\tfloat edge = pow(length(curve), curvature);\n\t\t\treturn 1.0 - intensity * smoothstep(inner, outer, edge);\n\t\t}\t\t\n\t#endif\n\t#ifdef FRINGING\n\t\tuniform float fringingIntensity;\n\t\tvec3 fringing(vec2 uv, vec3 color) {\n\t\t\tvec2 centerDistance = uv0 - 0.5;\n\t\t\tvec2 offset = fringingIntensity * pow(centerDistance, vec2(2.0, 2.0));\n\t\t\tcolor.r = texture2D(sceneTexture, uv0 - offset).r;\n\t\t\tcolor.b = texture2D(sceneTexture, uv0 + offset).b;\n\t\t\treturn color;\n\t\t}\n\t#endif\n\t#ifdef CAS\n\t\tuniform float sharpness;\n\t\tfloat maxComponent(float x, float y, float z) { return max(x, max(y, z)); }\n\t\tvec3 toSDR(vec3 c) { return c / (1.0 + maxComponent(c.r, c.g, c.b)); }\n\t\tvec3 toHDR(vec3 c) { return c / (1.0 - maxComponent(c.r, c.g, c.b)); }\n\t\tvec3 cas(vec3 color, vec2 uv, float sharpness) {\n\t\t\tfloat x = sceneTextureInvRes.x;\n\t\t\tfloat y = sceneTextureInvRes.y;\n\t\t\tvec3 a = toSDR(texture2DLodEXT(sceneTexture, uv + vec2(0.0, -y), 0.0).rgb);\n\t\t\tvec3 b = toSDR(texture2DLodEXT(sceneTexture, uv + vec2(-x, 0.0), 0.0).rgb);\n\t\t\tvec3 c = toSDR(color.rgb);\n\t\t\tvec3 d = toSDR(texture2DLodEXT(sceneTexture, uv + vec2(x, 0.0), 0.0).rgb);\n\t\t\tvec3 e = toSDR(texture2DLodEXT(sceneTexture, uv + vec2(0.0, y), 0.0).rgb);\n\t\t\tfloat min_g = min(a.g, min(b.g, min(c.g, min(d.g, e.g))));\n\t\t\tfloat max_g = max(a.g, max(b.g, max(c.g, max(d.g, e.g))));\n\t\t\tfloat sharpening_amount = sqrt(min(1.0 - max_g, min_g) / max_g);\n\t\t\tfloat w = sharpening_amount * sharpness;\n\t\t\tvec3 res = (w * (a + b + d + e) + c) / (4.0 * w + 1.0);\n\t\t\treturn toHDR(res);\n\t\t}\n\t#endif\n\tvoid main() {\n\t\tvec2 uv = uv0;\n\t\t#ifdef TAA\n\t\t#ifdef WEBGPU\n\t\t\tuv.y = 1.0 - uv.y;\n\t\t#endif\n\t\t#endif\n\t\tvec4 scene = texture2DLodEXT(sceneTexture, uv, 0.0);\n\t\tvec3 result = scene.rgb;\n\t\t#ifdef CAS\n\t\t\tresult = cas(result, uv, sharpness);\n\t\t#endif\n\t\t#ifdef FRINGING\n\t\t\tresult = fringing(uv, result);\n\t\t#endif\n\t\t#ifdef BLOOM\n\t\t\tvec3 bloom = texture2DLodEXT(bloomTexture, uv, 0.0).rgb;\n\t\t\tresult += bloom * bloomIntensity;\n\t\t#endif\n\t\t#ifdef GRADING\n\t\t\tresult = contrastSaturationBrightness(result, brightnessContrastSaturation.x, brightnessContrastSaturation.z, brightnessContrastSaturation.y);\n\t\t#endif\n\t\tresult = toneMap(result);\n\t\t#ifdef VIGNETTE\n\t\t\tresult *= vignette(uv);\n\t\t#endif\n\t\tresult = gammaCorrectOutput(result);\n\t\tgl_FragColor = vec4(result, scene.a);\n\t}\n")}}},i.execute=function(){this.sceneTextureId.setValue(this.sceneTexture),this.sceneTextureInvResValue[0]=1/this.sceneTexture.width,this.sceneTextureInvResValue[1]=1/this.sceneTexture.height,this.sceneTextureInvResId.setValue(this.sceneTextureInvResValue),this._bloomTexture&&(this.bloomTextureId.setValue(this._bloomTexture),this.bloomIntensityId.setValue(this.bloomIntensity)),this._gradingEnabled&&this.bcsId.setValue([this.gradingBrightness,this.gradingContrast,this.gradingSaturation]),this._vignetteEnabled&&this.vignetterParamsId.setValue([this.vignetteInner,this.vignetteOuter,this.vignetteCurvature,this.vignetteIntensity]),this._fringingEnabled&&this.fringingIntensityId.setValue(this.fringingIntensity/1024),this.isSharpnessEnabled&&this.sharpnessId.setValue(ft.lerp(-.125,-.2,this.sharpness)),t.prototype.execute.call(this)},v(e,[{key:"bloomTexture",get:function(){return this._bloomTexture},set:function(t){this._bloomTexture!==t&&(this._bloomTexture=t,this._shaderDirty=!0)}},{key:"taaEnabled",get:function(){return this._taaEnabled},set:function(t){this._taaEnabled!==t&&(this._taaEnabled=t,this._shaderDirty=!0)}},{key:"gradingEnabled",get:function(){return this._gradingEnabled},set:function(t){this._gradingEnabled!==t&&(this._gradingEnabled=t,this._shaderDirty=!0)}},{key:"vignetteEnabled",get:function(){return this._vignetteEnabled},set:function(t){this._vignetteEnabled!==t&&(this._vignetteEnabled=t,this._shaderDirty=!0)}},{key:"fringingEnabled",get:function(){return this._fringingEnabled},set:function(t){this._fringingEnabled!==t&&(this._fringingEnabled=t,this._shaderDirty=!0)}},{key:"toneMapping",get:function(){return this._toneMapping},set:function(t){this._toneMapping!==t&&(this._toneMapping=t,this._shaderDirty=!0)}},{key:"toneMapChunk",get:function(){switch(this.toneMapping){case 0:return Ro.tonemappingLinearPS;case 1:return Ro.tonemappingFilmicPS;case 2:return Ro.tonemappingHejlPS;case 3:return Ro.tonemappingAcesPS;case 4:return Ro.tonemappingAces2PS;case 5:return Ro.tonemappingNeutralPS}return Ro.tonemappingNonePS}},{key:"sharpness",get:function(){return this._sharpness},set:function(t){this._sharpness!==t&&(this._sharpness=t,this._shaderDirty=!0)}},{key:"isSharpnessEnabled",get:function(){return this._sharpness>0}}])}(ep),uM=function(t){function e(e,i,n){var s;(s=t.call(this,e)||this).historyIndex=0,s.historyTexture=null,s.historyTextures=[],s.historyRenderTargets=[],s.sourceTexture=i,s.cameraComponent=n;var r=Ro.sampleCatmullRomPS;s.shader=s.createQuadShader("TaaResolveShader","\n\t\t\t#define QUALITY_HIGH\n\t\t"+r+"\n\tuniform highp sampler2D uSceneDepthMap;\n\tuniform sampler2D sourceTexture;\n\tuniform sampler2D historyTexture;\n\tuniform mat4 matrix_viewProjectionPrevious;\n\tuniform mat4 matrix_viewProjectionInverse;\n\tuniform vec4 jitters;\n\tuniform vec2 textureSize;\n\tvarying vec2 uv0;\n\tvec2 reproject(vec2 uv, float depth) {\n\t\t#ifndef WEBGPU\n\t\t\tdepth = depth * 2.0 - 1.0;\n\t\t#endif\n\t\tvec4 ndc = vec4(uv * 2.0 - 1.0, depth, 1.0);\n\t\tndc.xy -= jitters.xy;\n\t\tvec4 worldPosition = matrix_viewProjectionInverse * ndc;\n\t\tworldPosition /= worldPosition.w;\n\t\n\t\tvec4 screenPrevious = matrix_viewProjectionPrevious * worldPosition;\n\t\treturn (screenPrevious.xy / screenPrevious.w) * 0.5 + 0.5;\n\t}\n\tvec4 colorClamp(vec2 uv, vec4 historyColor) {\n\t\tvec3 minColor = vec3(9999.0);\n\t\tvec3 maxColor = vec3(-9999.0);\n \n\t\tfor(float x = -1.0; x <= 1.0; ++x)\n\t\t{\n\t\t\tfor(float y = -1.0; y <= 1.0; ++y)\n\t\t\t{\n\t\t\t\tvec3 color = texture2D(sourceTexture, uv + vec2(x, y) / textureSize).rgb;\n\t\t\t\tminColor = min(minColor, color);\n\t\t\t\tmaxColor = max(maxColor, color);\n\t\t\t}\n\t\t}\n \n\t\tvec3 clamped = clamp(historyColor.rgb, minColor, maxColor);\n\t\treturn vec4(clamped, historyColor.a);\n\t}\n\tvoid main()\n\t{\n\t\tvec2 uv = uv0;\n\t\t#ifdef WEBGPU\n\t\t\tuv.y = 1.0 - uv.y;\n\t\t#endif\n\t\tvec4 srcColor = texture2D(sourceTexture, uv);\n\t\tfloat depth = texture2DLodEXT(uSceneDepthMap, uv, 0.0).r;\n\t\tvec2 historyUv = reproject(uv0, depth);\n\t\t#ifdef QUALITY_HIGH\n\t\t\tvec4 historyColor = SampleTextureCatmullRom(TEXTURE_PASS(historyTexture), historyUv, textureSize);\n\t\t#else\n\t\t\tvec4 historyColor = texture2D(historyTexture, historyUv);\n\t\t#endif\n\t\tvec4 historyColorClamped = colorClamp(uv, historyColor);\n\t\tfloat mixFactor = (historyUv.x < 0.0 || historyUv.x > 1.0 || historyUv.y < 0.0 || historyUv.y > 1.0) ?\n\t\t\t1.0 : 0.05;\n\t\tgl_FragColor = mix(historyColorClamped, srcColor, mixFactor);\n\t}\n");var a=e.scope;return s.sourceTextureId=a.resolve("sourceTexture"),s.textureSizeId=a.resolve("textureSize"),s.textureSize=new Float32Array(2),s.historyTextureId=a.resolve("historyTexture"),s.viewProjPrevId=a.resolve("matrix_viewProjectionPrevious"),s.viewProjInvId=a.resolve("matrix_viewProjectionInverse"),s.jittersId=a.resolve("jitters"),s.setup(),s}x(e,t);var i=e.prototype;return i.destroy=function(){this.renderTarget&&(this.renderTarget.destroyTextureBuffers(),this.renderTarget.destroy(),this.renderTarget=null)},i.setup=function(){for(var t=0;t<2;++t)this.historyTextures[t]=new or(this.device,{name:"TAA-History-"+t,width:4,height:4,format:this.sourceTexture.format,mipmaps:!1,minFilter:1,magFilter:1,addressU:1,addressV:1}),this.historyRenderTargets[t]=new Cn({colorBuffer:this.historyTextures[t],depth:!1});this.historyTexture=this.historyTextures[0],this.init(this.historyRenderTargets[0],{resizeSource:this.sourceTexture})},i.before=function(){this.sourceTextureId.setValue(this.sourceTexture),this.historyTextureId.setValue(this.historyTextures[1-this.historyIndex]),this.textureSize[0]=this.sourceTexture.width,this.textureSize[1]=this.sourceTexture.height,this.textureSizeId.setValue(this.textureSize);var t=this.cameraComponent.camera;this.viewProjPrevId.setValue(t._viewProjPrevious.data),this.viewProjInvId.setValue(t._viewProjInverse.data),this.jittersId.setValue(t._jitters)},i.update=function(){return this.historyIndex=1-this.historyIndex,this.historyTexture=this.historyTextures[this.historyIndex],this.renderTarget=this.historyRenderTargets[this.historyIndex],this.historyTexture},e}(ep),dM=[],fM=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e)||this).viewBindGroups=[],o.velocityTexture=void 0,o.scene=i,o.renderer=n,o.camera=s,o.setupRenderTarget(r,a),o}x(e,t);var i=e.prototype;return i.destroy=function(){var e,i;t.prototype.destroy.call(this),null==(e=this.renderTarget)||e.destroy(),this.renderTarget=null,null==(i=this.velocityTexture)||i.destroy(),this.velocityTexture=null,this.viewBindGroups.forEach((function(t){t.defaultUniformBuffer.destroy(),t.destroy()})),this.viewBindGroups.length=0},i.setupRenderTarget=function(t,e){var i=this.device,n=i.getRenderableHdrFormat([ve,me]);this.velocityTexture=new or(i,{name:"VelocityTexture",width:4,height:4,format:n,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});var s=new Cn({name:"PrepassRT",depthBuffer:t});this.init(s,e),this.depthStencilOps.storeDepth=!0},i.after=function(){this.device.scope.resolve("uSceneDepthMap").setValue(this.renderTarget.depthBuffer),this.device.scope.resolve("uSceneVelocityMap").setValue(this.velocityTexture)},i.execute=function(){for(var t=this.renderer,e=this.scene,i=this.renderTarget,n=this.camera.camera,s=e.layers.layerList,r=e.layers.subLayerEnabled,a=e.layers.subLayerList,o=0;o0),cP.cross(t,this.root.right),this._shapes.yz.entity.enabled=cP.length()0),0)),cP.cross(t,this.root.up),this._shapes.xz.entity.enabled=cP.length()0),0,+(cP.dot(this.root.right)>0)))},i._storeNodePositions=function(){for(var t=0;t.9?(_P.sub2(o,i),SP.copy(this._camera.entity.getRotation()).invert().transformVector(_P,_P),h=Math.sign(c)*Math.atan2(_P.y,_P.x)*ft.RAD_TO_DEG):(_P.copy(i),vP.cross(a.normal,l).normalize().add(i),this._camera.worldToScreen(_P,gP),this._camera.worldToScreen(vP,yP),_P.sub2(yP,gP).normalize(),vP.set(t,e,0),h=_P.dot(vP)),{point:o,angle:h}},v(e,[{key:"xyzTubeRadius",get:function(){return this._shapes.x.tubeRadius},set:function(t){this._setDiskProp("tubeRadius",t)}},{key:"xyzRingRadius",get:function(){return this._shapes.x.ringRadius},set:function(t){this._setDiskProp("ringRadius",t)}},{key:"faceTubeRadius",get:function(){return this._shapes.face.tubeRadius},set:function(t){this._shapes.face.tubeRadius=t}},{key:"faceRingRadius",get:function(){return this._shapes.face.ringRadius},set:function(t){this._shapes.face.ringRadius=t}},{key:"ringTolerance",get:function(){return this._shapes.x.tolerance},set:function(t){this._setDiskProp("tolerance",t),this._shapes.face.tolerance=t}}])}(zM),EP=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this,e,i)||this)._size=.12,n._tolerance=.05,n.triData=[new WM(new Rf,2)],n._createCenter(),n}x(e,t);var i=e.prototype;return i._createCenter=function(){this._createRoot("boxCenter"),this._updateTransform(),this._addRenderMesh(this.entity,"box",this._shading)},i._updateTransform=function(){this.entity.setLocalScale(this._size,this._size,this._size)},v(e,[{key:"size",get:function(){return this._size},set:function(t){this._size=null!=t?t:1,this._updateTransform()}},{key:"tolerance",get:function(){return this._tolerance},set:function(t){this._tolerance=t,this._updateTransform()}}])}(nP),AP=new wt,CP=new wt,MP=new Nt,PP=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this,e,i)||this)._gap=0,n._lineThickness=.02,n._lineLength=.5,n._boxSize=.12,n._tolerance=.1,n._box=void 0,n._line=void 0,n._flipped=!1,n.triData=[new WM(new Rf),new WM(new lp,1)],n._createBoxLine(),n}x(e,t);var i=e.prototype;return i._createBoxLine=function(){this._createRoot("boxLine"),this._box=new Sm("box:"+this.axis),this.entity.addChild(this._box),this._updateBox(),this._addRenderMesh(this._box,"box",this._shading),this._line=new Sm("line:"+this.axis),this.entity.addChild(this._line),this._updateLine(),this._addRenderMesh(this._line,"cylinder",this._shading)},i._updateBox=function(){AP.set(0,this._gap+.5*this._boxSize+this._lineLength,0),MP.set(0,0,0,1),CP.set(this._boxSize,this._boxSize,this._boxSize),this.triData[0].setTransform(AP,MP,CP),this._box.setLocalPosition(0,this._gap+.5*this._boxSize+this._lineLength,0),this._box.setLocalScale(this._boxSize,this._boxSize,this._boxSize)},i._updateLine=function(){AP.set(0,this._gap+.5*this._lineLength,0),MP.set(0,0,0,1),CP.set(this._lineThickness+this._tolerance,this._lineLength,this._lineThickness+this._tolerance),this.triData[1].setTransform(AP,MP,CP),this._line.setLocalPosition(0,this._gap+.5*this._lineLength,0),this._line.setLocalScale(this._lineThickness,this._lineLength,this._lineThickness)},v(e,[{key:"gap",get:function(){return this._gap},set:function(t){this._gap=null!=t?t:0,this._updateLine(),this._updateBox()}},{key:"lineThickness",get:function(){return this._lineThickness},set:function(t){this._lineThickness=null!=t?t:1,this._updateLine(),this._updateBox()}},{key:"lineLength",get:function(){return this._lineLength},set:function(t){this._lineLength=null!=t?t:1,this._updateLine(),this._updateBox()}},{key:"boxSize",get:function(){return this._boxSize},set:function(t){this._boxSize=null!=t?t:1,this._updateBox()}},{key:"tolerance",get:function(){return this._tolerance},set:function(t){this._tolerance=t,this._updateLine()}},{key:"flipped",get:function(){return this._flipped},set:function(t){this._flipped!==t&&(this._flipped=t,this._rotation.equals(wt.ZERO)?AP.set(0,0,this._flipped?180:0):AP.copy(this._rotation).mulScalar(this._flipped?-1:1),this._line.enabled=!this._flipped,this.entity.setLocalEulerAngles(AP))}}])}(nP),RP=new wt,IP=new wt,DP=new Nt,LP=.98,kP=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._shapes={xyz:new EP(n._device,{axis:xM,layers:[n._layer.id],shading:n._shading,defaultColor:n._meshColors.axis.xyz,hoverColor:n._meshColors.hover.xyz}),yz:new sP(n._device,{axis:vM,layers:[n._layer.id],shading:n._shading,rotation:new wt(0,0,-90),defaultColor:n._meshColors.axis.x,hoverColor:n._meshColors.hover.x}),xz:new sP(n._device,{axis:gM,layers:[n._layer.id],shading:n._shading,rotation:new wt(0,0,0),defaultColor:n._meshColors.axis.y,hoverColor:n._meshColors.hover.y}),xy:new sP(n._device,{axis:yM,layers:[n._layer.id],shading:n._shading,rotation:new wt(90,0,0),defaultColor:n._meshColors.axis.z,hoverColor:n._meshColors.hover.z}),x:new PP(n._device,{axis:vM,layers:[n._layer.id],shading:n._shading,rotation:new wt(0,0,-90),defaultColor:n._meshColors.axis.x,hoverColor:n._meshColors.hover.x}),y:new PP(n._device,{axis:gM,layers:[n._layer.id],shading:n._shading,rotation:new wt(0,0,0),defaultColor:n._meshColors.axis.y,hoverColor:n._meshColors.hover.y}),z:new PP(n._device,{axis:yM,layers:[n._layer.id],shading:n._shading,rotation:new wt(90,0,0),defaultColor:n._meshColors.axis.z,hoverColor:n._meshColors.hover.z})},n._coordSpace=mM,n._nodeScales=new Map,n._forward=new wt,n._useUniformScaling=!1,n.snapIncrement=1,n.flipShapes=!0,n.lowerBoundScale=new wt(-1/0,-1/0,-1/0),n._createTransform(),n.on(zM.EVENT_TRANSFORMSTART,(function(){n._storeNodeScales()})),n.on(zM.EVENT_TRANSFORMMOVE,(function(t){n.snap&&(t.mulScalar(1/n.snapIncrement),t.round(),t.mulScalar(n.snapIncrement)),t.mulScalar(1/n._scale),n._setNodeScales(t.add(wt.ONE))})),n.on(zM.EVENT_NODESDETACH,(function(){n._nodeScales.clear()})),n._app.on("prerender",(function(){n._shapesLookAtCamera()})),n}x(e,t);var i=e.prototype;return i._setArrowProp=function(t,e){this._shapes.x[t]=e,this._shapes.y[t]=e,this._shapes.z[t]=e},i._setPlaneProp=function(t,e){this._shapes.yz[t]=e,this._shapes.xz[t]=e,this._shapes.xy[t]=e},i._shapesLookAtCamera=function(){var t=this.facing,e=t.dot(this.root.right);this._shapes.x.entity.enabled=Math.abs(e)0),RP.cross(t,this.root.right),this._shapes.yz.entity.enabled=RP.length()0),0)),RP.cross(t,this.root.up),this._shapes.xz.entity.enabled=RP.length()0),0,+(RP.dot(this.root.right)>0)))},i._storeNodeScales=function(){for(var t=0;t=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))};n()}))},t.createMesh=IA,t.createPlane=EA,t.createScript=XT,t.createShader=Oo,t.createShaderFromCode=Fo,t.createSphere=wA,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=CA,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?VS=t:XS(t)},t.drawFullscreenQuad=DA,t.drawQuadWithShader=Xo,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Xo(t,i,n,s,r)},t.events=R,t.extend=d,t.getPixelFormatArrayType=De,t.getProgramLibrary=Do,t.getReservedScriptNames=function(){return WT},t.getTouchTargetCoords=ja,t.gfx=bA,t.guid=I,t.http=Qa,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=jA,t.isCompressedPixelFormat=Re,t.isIntegerPixelFormat=Ie,t.log=mA,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=ft,t.now=lt,t.path=D,t.pixelFormatInfo=Pe,t.platform=G,t.posteffect=LA,t.prefilterCubemap=function(t){},t.programlib=SA,t.registerScript=qT,t.reprojectTexture=lc,t.revision=h,t.scene=NA,t.script=Hp,t.semanticToLocation=Ki,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=Fo(t,Ro.fullscreenQuadVS,Ro.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new or(t,{name:"prefiltered-cube",cubemap:!1,type:ui,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new or(t,{name:"prefiltered-cube",cubemap:!1,type:ui,format:e.format,width:n,height:n,mipmaps:!1}),c=new Cn({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(nn.NOBLEND),Xo(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p Date: Thu, 27 Feb 2025 13:43:28 +0900 Subject: [PATCH 8/8] remove old files --- GemQuest/GemQuest/1904849.json | 1 - GemQuest/GemQuest/__game-scripts.js | 1 - GemQuest/GemQuest/__loading__.js | 112 --------- GemQuest/GemQuest/__modules__.js | 45 ---- GemQuest/GemQuest/__settings__.js | 21 -- GemQuest/GemQuest/__start__.js | 228 ------------------ .../files/assets/158042711/1/click3.mp3 | Bin 7670 -> 0 bytes .../files/assets/158042712/1/SoundOff.png | Bin 12531 -> 0 bytes .../files/assets/158042720/1/Clear_copy.png | Bin 1091 -> 0 bytes .../files/assets/158042722/1/rect.png | Bin 14647 -> 0 bytes .../files/assets/158042725/1/SoundOn.png | Bin 17543 -> 0 bytes .../files/assets/158042726/1/open.mp3 | Bin 4381 -> 0 bytes .../files/assets/158042728/1/lose.mp3 | Bin 9440 -> 0 bytes .../files/assets/158042732/1/cardFront.png | Bin 18416 -> 0 bytes .../files/assets/158042734/1/circle.png | Bin 10317 -> 0 bytes .../files/assets/158042738/1/Jalnan.png | Bin 103866 -> 0 bytes .../files/assets/158042740/1/UI_Card.png | Bin 3180 -> 0 bytes .../GemQuest/files/assets/158042741/1/win.mp3 | Bin 7040 -> 0 bytes .../files/assets/158042746/1/dia_2.png | Bin 57124 -> 0 bytes .../assets/158042747/1/Layer_5_copy_5.png | Bin 662 -> 0 bytes .../files/assets/158042748/1/up_Money.png | Bin 660 -> 0 bytes .../files/assets/158042749/1/Cancel.png | Bin 4757 -> 0 bytes .../GemQuest/files/assets/158042750/1/Ok.png | Bin 4799 -> 0 bytes .../files/assets/158042751/1/Clear.png | Bin 4780 -> 0 bytes .../158042752/1/superstar_memesbruh03 (1).png | Bin 28716 -> 0 bytes .../files/assets/158042754/1/edit.png | Bin 33425 -> 0 bytes .../files/assets/158043146/1/bottom_2.png | Bin 1421 -> 0 bytes .../files/assets/158043147/1/bottom_4.png | Bin 1432 -> 0 bytes .../files/assets/158043148/1/bottom_5.png | Bin 1416 -> 0 bytes .../files/assets/158043149/1/bottom_1.png | Bin 1422 -> 0 bytes .../files/assets/158043150/1/bottom_3.png | Bin 1430 -> 0 bytes .../files/assets/158043151/1/bottom_6.png | Bin 1427 -> 0 bytes .../files/assets/158043152/1/Group_9.png | Bin 1408 -> 0 bytes .../files/assets/158051372/1/shadow_2.png | Bin 2096 -> 0 bytes .../files/assets/158051373/1/shadow_6.png | Bin 2096 -> 0 bytes .../files/assets/158051374/1/shadow_3.png | Bin 2107 -> 0 bytes .../files/assets/158051375/1/shadow_1.png | Bin 2095 -> 0 bytes .../files/assets/158051376/1/shadow_4.png | Bin 2073 -> 0 bytes .../files/assets/158051377/1/shadow_5.png | Bin 2063 -> 0 bytes .../files/assets/158051378/1/shadow_7.png | Bin 2000 -> 0 bytes .../files/assets/158483931/1/Asset_3.png | Bin 5300 -> 0 bytes .../files/assets/158483964/1/Asset_2.png | Bin 5224 -> 0 bytes .../files/assets/159797215/1/gems01-1.png | Bin 9935 -> 0 bytes .../files/assets/159797216/1/gems04.png | Bin 3308 -> 0 bytes .../files/assets/159797217/1/gems03-2.png | Bin 11145 -> 0 bytes .../files/assets/159797218/1/gems01.png | Bin 3225 -> 0 bytes .../files/assets/159797219/1/gems05-2.png | Bin 9587 -> 0 bytes .../files/assets/159797220/1/gems02.png | Bin 3113 -> 0 bytes .../files/assets/159797221/1/gems03.png | Bin 5602 -> 0 bytes .../files/assets/159797222/1/gems06.png | Bin 4593 -> 0 bytes .../files/assets/159797223/1/gems04-2.png | Bin 9213 -> 0 bytes .../files/assets/159797224/1/gems02-2.png | Bin 9115 -> 0 bytes .../files/assets/159797225/1/gems06-2.png | Bin 9005 -> 0 bytes .../files/assets/159797226/1/gems05.png | Bin 4707 -> 0 bytes GemQuest/GemQuest/index.html | 17 -- GemQuest/GemQuest/logo.png | Bin 2599 -> 0 bytes GemQuest/GemQuest/manifest.json | 1 - GemQuest/GemQuest/playcanvas-stable.min.js | 6 - GemQuest/GemQuest/styles.css | 43 ---- 59 files changed, 475 deletions(-) delete mode 100644 GemQuest/GemQuest/1904849.json delete mode 100644 GemQuest/GemQuest/__game-scripts.js delete mode 100644 GemQuest/GemQuest/__loading__.js delete mode 100644 GemQuest/GemQuest/__modules__.js delete mode 100644 GemQuest/GemQuest/__settings__.js delete mode 100644 GemQuest/GemQuest/__start__.js delete mode 100644 GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 delete mode 100644 GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png delete mode 100644 GemQuest/GemQuest/files/assets/158042720/1/Clear_copy.png delete mode 100644 GemQuest/GemQuest/files/assets/158042722/1/rect.png delete mode 100644 GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png delete mode 100644 GemQuest/GemQuest/files/assets/158042726/1/open.mp3 delete mode 100644 GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 delete mode 100644 GemQuest/GemQuest/files/assets/158042732/1/cardFront.png delete mode 100644 GemQuest/GemQuest/files/assets/158042734/1/circle.png delete mode 100644 GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png delete mode 100644 GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png delete mode 100644 GemQuest/GemQuest/files/assets/158042741/1/win.mp3 delete mode 100644 GemQuest/GemQuest/files/assets/158042746/1/dia_2.png delete mode 100644 GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png delete mode 100644 GemQuest/GemQuest/files/assets/158042748/1/up_Money.png delete mode 100644 GemQuest/GemQuest/files/assets/158042749/1/Cancel.png delete mode 100644 GemQuest/GemQuest/files/assets/158042750/1/Ok.png delete mode 100644 GemQuest/GemQuest/files/assets/158042751/1/Clear.png delete mode 100644 GemQuest/GemQuest/files/assets/158042752/1/superstar_memesbruh03 (1).png delete mode 100644 GemQuest/GemQuest/files/assets/158042754/1/edit.png delete mode 100644 GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png delete mode 100644 GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png delete mode 100644 GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png delete mode 100644 GemQuest/GemQuest/files/assets/158043149/1/bottom_1.png delete mode 100644 GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png delete mode 100644 GemQuest/GemQuest/files/assets/158043151/1/bottom_6.png delete mode 100644 GemQuest/GemQuest/files/assets/158043152/1/Group_9.png delete mode 100644 GemQuest/GemQuest/files/assets/158051372/1/shadow_2.png delete mode 100644 GemQuest/GemQuest/files/assets/158051373/1/shadow_6.png delete mode 100644 GemQuest/GemQuest/files/assets/158051374/1/shadow_3.png delete mode 100644 GemQuest/GemQuest/files/assets/158051375/1/shadow_1.png delete mode 100644 GemQuest/GemQuest/files/assets/158051376/1/shadow_4.png delete mode 100644 GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png delete mode 100644 GemQuest/GemQuest/files/assets/158051378/1/shadow_7.png delete mode 100644 GemQuest/GemQuest/files/assets/158483931/1/Asset_3.png delete mode 100644 GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png delete mode 100644 GemQuest/GemQuest/files/assets/159797216/1/gems04.png delete mode 100644 GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797218/1/gems01.png delete mode 100644 GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797220/1/gems02.png delete mode 100644 GemQuest/GemQuest/files/assets/159797221/1/gems03.png delete mode 100644 GemQuest/GemQuest/files/assets/159797222/1/gems06.png delete mode 100644 GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797224/1/gems02-2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png delete mode 100644 GemQuest/GemQuest/files/assets/159797226/1/gems05.png delete mode 100644 GemQuest/GemQuest/index.html delete mode 100644 GemQuest/GemQuest/logo.png delete mode 100644 GemQuest/GemQuest/manifest.json delete mode 100644 GemQuest/GemQuest/playcanvas-stable.min.js delete mode 100644 GemQuest/GemQuest/styles.css diff --git a/GemQuest/GemQuest/1904849.json b/GemQuest/GemQuest/1904849.json deleted file mode 100644 index 9620ca5..0000000 --- a/GemQuest/GemQuest/1904849.json +++ /dev/null @@ -1 +0,0 @@ -{"branch_id":"fa201fb2-9558-40a9-9aae-93e54c6576ef","name":"Untitled","created":"2022-07-28T06:42:52.235Z","settings":{"physics":{"gravity":[0,-9.8,0]},"render":{"lightmapFilterRange":10,"tonemapping":0,"ambientBakeOcclusionContrast":0,"skybox":null,"lightmapFilterSmoothness":0.2,"gamma_correction":1,"fog_start":1,"skyboxIntensity":1,"fog_color":[0,0,0],"lightmapMode":1,"ambientBakeSpherePart":0.4,"fog":"none","lightmapMaxResolution":2048,"skyboxMip":0,"lightmapSizeMultiplier":16,"fog_end":1000,"lightmapFilterEnabled":false,"ambientBake":false,"fog_density":0.01,"exposure":1,"global_ambient":[0.2,0.2,0.2],"ambientBakeNumSamples":1,"ambientBakeOcclusionBrightness":0,"skyboxRotation":[0,0,0],"clusteredLightingEnabled":true,"lightingCells":[10,3,10],"lightingMaxLightsPerCell":255,"lightingCookieAtlasResolution":2048,"lightingShadowAtlasResolution":2048,"lightingShadowType":0,"lightingCookiesEnabled":false,"lightingAreaLightsEnabled":false,"lightingShadowsEnabled":true}},"entities":{"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[2,2,-2],"scale":[1,1,1],"name":"Light","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"light":{"castShadows":true,"isStatic":false,"vsmBlurSize":11,"shadowUpdateMode":2,"normalOffsetBias":0.05,"color":[1,1,1],"bakeArea":0,"numCascades":1,"outerConeAngle":45,"bakeNumSamples":1,"affectDynamic":true,"intensity":1,"bakeDir":true,"cookieAngle":0,"affectLightmapped":false,"cookieChannel":"rgb","innerConeAngle":40,"shadowBias":0.2,"bake":false,"falloffMode":0,"cookieAsset":null,"vsmBias":0.01,"layers":[0],"cookieIntensity":1,"cascadeDistribution":0.5,"cookieOffset":[0,0],"shadowResolution":1024,"cookieScale":[1,1],"enabled":true,"shape":0,"range":8,"vsmBlurMode":1,"shadowDistance":16,"type":"directional","cookieFalloff":true,"shadowType":0}},"rotation":[45,135,0],"tags":[],"enabled":true,"children":[]},"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[0,0,0],"scale":[1,1,1],"name":"Root","parent":null,"resource_id":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{},"rotation":[0,0,0],"tags":[],"enabled":true,"children":["80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","80f1dd9a-0e40-11ed-aa6c-5a8c0ef4e2c9","a019517d-368f-4ce7-87bb-e99894bcc1e2","6a132463-4065-4029-8123-50daf0892779"]},"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9":{"position":[4,3.5,4],"scale":[1,1,1],"name":"Camera","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","resource_id":"80f1dc8c-0e40-11ed-aa6c-5a8c0ef4e2c9","components":{"camera":{"projection":0,"farClip":1000,"clearColorBuffer":true,"layers":[0,1,2,3,4],"priority":0,"fov":45,"clearDepthBuffer":true,"frustumCulling":true,"clearColor":[0.118,0.118,0.118,1],"enabled":true,"orthoHeight":4,"nearClip":0.1,"rect":[0,0,1,1]}},"rotation":[-30,45,0],"tags":[],"enabled":true,"children":[]},"a019517d-368f-4ce7-87bb-e99894bcc1e2":{"name":"2D Screen","tags":[],"enabled":true,"resource_id":"a019517d-368f-4ce7-87bb-e99894bcc1e2","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["553caf6c-a2e2-456e-bab1-af926693d0bd","7e408ddb-a1c0-4c54-ad0a-9b33af456156","c98c1544-8c4e-488d-ab9c-d889c34639ad","43776b5d-805c-405d-8a6a-693a0848e585","6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","cf778ab4-4cd6-4c44-a880-8eca997d8fcc"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"screen":{"enabled":true,"screenSpace":true,"scaleMode":"blend","scaleBlend":0.5,"resolution":[1280,720],"referenceResolution":[1000,1600]}}},"553caf6c-a2e2-456e-bab1-af926693d0bd":{"name":"BakcgourndCover","tags":[],"enabled":false,"resource_id":"553caf6c-a2e2-456e-bab1-af926693d0bd","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-800,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"c98c1544-8c4e-488d-ab9c-d889c34639ad":{"name":"Top","tags":[],"enabled":true,"resource_id":"c98c1544-8c4e-488d-ab9c-d889c34639ad","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["39d376ac-458e-43c3-8d1e-efab6ddb7a46","5d189437-9722-4cdb-92e0-34304dbe04de"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,1,0.5,1],"pivot":[0.5,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":250,"margin":[-500,-250,-500,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["userBalance"],"scripts":{"userBalance":{"enabled":true,"attributes":{"userBalanceText":"5d189437-9722-4cdb-92e0-34304dbe04de","userName":"39d376ac-458e-43c3-8d1e-efab6ddb7a46"}}}}}},"39d376ac-458e-43c3-8d1e-efab6ddb7a46":{"name":"UserName","tags":[],"enabled":false,"resource_id":"39d376ac-458e-43c3-8d1e-efab6ddb7a46","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[-475.1432317571818,-35,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,1,1,1],"pivot":[1,1],"text":"UserName","key":null,"fontAsset":158042738,"fontSize":60,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":60,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":315,"height":67.44,"margin":[-803.943,-102.58,475.143,35],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5d189437-9722-4cdb-92e0-34304dbe04de":{"name":"Balance","tags":[],"enabled":true,"resource_id":"5d189437-9722-4cdb-92e0-34304dbe04de","parent":"c98c1544-8c4e-488d-ab9c-d889c34639ad","children":[],"position":[0,35.5076950865905,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"100","key":null,"fontAsset":158042752,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":150,"height":97.5,"margin":[-75,-13.242,-75,-84.258],"alignment":[1,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"43776b5d-805c-405d-8a6a-693a0848e585":{"name":"Middle","tags":[],"enabled":true,"resource_id":"43776b5d-805c-405d-8a6a-693a0848e585","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["b892d94b-b6fd-4fbb-97ef-13c142300082","efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b"],"position":[0,91.35106736896113,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":1600,"margin":[-500,-708.649,-500,-891.351],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["middle","gemController"],"scripts":{"middle":{"enabled":true,"attributes":{"resultText":null,"boxButton":[]}},"gemController":{"enabled":true,"attributes":{"front":[159797215,159797224,159797217,159797223,159797219,159797225],"back":[159797218,159797220,159797221,159797216,159797226,159797222],"bottom":[158043149,158043146,158043150,158043147,158043148,158043151,158043152],"shadow":[158051375,158051372,158051374,158051376,158051377,158051373,158051378],"gems":["77b77b27-30a7-4cdc-8b54-62af4619ebca","10520a74-44dd-4c4d-b996-4287b282d419","e59df02d-9cef-4560-b9ae-2edb8a519ac1","1776e15a-5b3f-47ba-a138-a858fe37f268","7b1adc07-6b13-41f1-9f3f-9123400c4dba"]}}}}}},"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["717f1daa-0043-4f79-90ec-85deecdc5e73","480c18f6-d3b8-478a-b573-4889b0154e56","4a5d316b-7653-4505-b82f-693edb49b6a2","85b17c53-513d-4bfa-871d-1e0e273b8786"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,0,-500,-400],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bottom"],"scripts":{"bottom":{"enabled":true,"attributes":{"startButton":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","winResult":"5665afa5-5303-4c36-90aa-082859636427","loseResult":"8d022bf0-009d-4913-9cba-07b973de155d","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a","profit":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","randomButton":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","clearButton":"1a458b72-d5fb-4f25-a042-540371d7162f","betEditButton":"f5286247-662e-4692-b877-1758d446897b","betAmountText":"da783934-28fc-4d8c-a03c-c23c231a31ba","multiplier":"408ea63d-61d1-46e5-a3bc-7c020d2e654e"}}}}}},"717f1daa-0043-4f79-90ec-85deecdc5e73":{"name":"Idle","tags":[],"enabled":true,"resource_id":"717f1daa-0043-4f79-90ec-85deecdc5e73","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["ac86bc84-6e51-4fca-9e3c-eb36f48b4a86"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"480c18f6-d3b8-478a-b573-4889b0154e56":{"name":"InGame","tags":[],"enabled":true,"resource_id":"480c18f6-d3b8-478a-b573-4889b0154e56","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["1a458b72-d5fb-4f25-a042-540371d7162f","6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","2e0a4330-1edb-4584-bb1d-0459e4d45884","d8fdcb3c-7e91-467f-9d37-deac44bb1780","f5286247-662e-4692-b877-1758d446897b"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4a5d316b-7653-4505-b82f-693edb49b6a2":{"name":"Result","tags":[],"enabled":true,"resource_id":"4a5d316b-7653-4505-b82f-693edb49b6a2","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5665afa5-5303-4c36-90aa-082859636427","8d022bf0-009d-4913-9cba-07b973de155d"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,-200,-500,-200],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86":{"name":"StartButton","tags":[],"enabled":true,"resource_id":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","parent":"717f1daa-0043-4f79-90ec-85deecdc5e73","children":["ef9eb80a-dac0-413c-8134-6174cd11f061"],"position":[0,-110,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042751,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[-147,-161.5,-147,58.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef9eb80a-dac0-413c-8134-6174cd11f061":{"name":"Text","tags":[],"enabled":true,"resource_id":"ef9eb80a-dac0-413c-8134-6174cd11f061","parent":"ac86bc84-6e51-4fca-9e3c-eb36f48b4a86","children":[],"position":[0,9,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"START","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":106.875,"height":36.563,"margin":[-118.75,-31.625,-118.75,-49.625],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6a132463-4065-4029-8123-50daf0892779":{"name":"Controller","tags":[],"enabled":true,"resource_id":"6a132463-4065-4029-8123-50daf0892779","parent":"80f1daf2-0e40-11ed-aa6c-5a8c0ef4e2c9","children":["3789b06d-2fd1-4703-9075-6b91a609741b","3d2631fa-a332-4c94-85d0-9e6aed3a924a","1b0059ce-7c72-4a34-aef1-b2b0d6cd2136"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{}},"3789b06d-2fd1-4703-9075-6b91a609741b":{"name":"DummyServer","tags":[],"enabled":true,"resource_id":"3789b06d-2fd1-4703-9075-6b91a609741b","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["dummyServer"],"scripts":{"dummyServer":{"enabled":true,"attributes":{}}}}}},"3d2631fa-a332-4c94-85d0-9e6aed3a924a":{"name":"GameController","tags":[],"enabled":true,"resource_id":"3d2631fa-a332-4c94-85d0-9e6aed3a924a","parent":"6a132463-4065-4029-8123-50daf0892779","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["gameController"],"scripts":{"gameController":{"enabled":true,"attributes":{}}}}}},"5665afa5-5303-4c36-90aa-082859636427":{"name":"Win","tags":[],"enabled":false,"resource_id":"5665afa5-5303-4c36-90aa-082859636427","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1844b778-6764-46e5-b3dd-d0f182761b4f","408ea63d-61d1-46e5-a3bc-7c020d2e654e","bfede50e-d7ca-47a2-9fb6-1bd77c5a515e"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1844b778-6764-46e5-b3dd-d0f182761b4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"1844b778-6764-46e5-b3dd-d0f182761b4f","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,89.89380877091162,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"WIN","key":null,"fontAsset":158042752,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":345,"height":195,"margin":[-172.5,-7.606,-172.5,-187.394],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8d022bf0-009d-4913-9cba-07b973de155d":{"name":"Lose","tags":[],"enabled":false,"resource_id":"8d022bf0-009d-4913-9cba-07b973de155d","parent":"4a5d316b-7653-4505-b82f-693edb49b6a2","children":["1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb"],"position":[0,600,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":0.7,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":400,"margin":[-500,400,-500,-800],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb":{"name":"Text","tags":[],"enabled":true,"resource_id":"1c5dc611-37cb-4f8d-ace2-0a2f1943f6cb","parent":"8d022bf0-009d-4913-9cba-07b973de155d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Lose","key":null,"fontAsset":158042752,"fontSize":300,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":240,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":480,"height":195,"margin":[-240,-97.5,-240,-97.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136":{"name":"AudioController","tags":[],"enabled":true,"resource_id":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","parent":"6a132463-4065-4029-8123-50daf0892779","children":["3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","81a10236-090f-4364-b5ad-8e296a5eb78e"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"script":{"enabled":true,"order":["audioController"],"scripts":{"audioController":{"enabled":true,"attributes":{"soundSource":"81a10236-090f-4364-b5ad-8e296a5eb78e"}}}}}},"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc":{"name":"Audio Listener","tags":[],"enabled":true,"resource_id":"3d33c7cd-5e8a-443c-9f9a-bc369f15aafc","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"audiolistener":{"enabled":true}}},"81a10236-090f-4364-b5ad-8e296a5eb78e":{"name":"Sound","tags":[],"enabled":true,"resource_id":"81a10236-090f-4364-b5ad-8e296a5eb78e","parent":"1b0059ce-7c72-4a34-aef1-b2b0d6cd2136","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"sound":{"enabled":true,"volume":1,"pitch":1,"positional":true,"refDistance":1,"maxDistance":10000,"rollOffFactor":1,"distanceModel":"linear","slots":{"2":{"name":"Click","loop":false,"autoPlay":false,"overlap":false,"asset":158042711,"startTime":0,"duration":null,"volume":1,"pitch":1},"3":{"name":"Lose","loop":false,"autoPlay":false,"overlap":false,"asset":158042728,"startTime":0,"duration":null,"volume":1,"pitch":1},"4":{"name":"Open","loop":false,"autoPlay":false,"overlap":false,"asset":158042726,"startTime":0,"duration":null,"volume":1,"pitch":1},"5":{"name":"Win","loop":false,"autoPlay":false,"overlap":false,"asset":158042741,"startTime":0,"duration":null,"volume":1,"pitch":1}}}}},"cf778ab4-4cd6-4c44-a880-8eca997d8fcc":{"name":"SoundButton","tags":[],"enabled":true,"resource_id":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":["50ad00e6-271c-4756-b28d-11e6b1ef52eb"],"position":[20,-20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,1,0,1],"pivot":[0,1],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[20,-140,-140,20],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"50ad00e6-271c-4756-b28d-11e6b1ef52eb":{"name":"Button","tags":[],"enabled":true,"resource_id":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","parent":"cf778ab4-4cd6-4c44-a880-8eca997d8fcc","children":["1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","2753f9e8-255b-4725-84a2-16795c7174e6"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042734,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":120,"height":120,"margin":[-60,-60,-60,-60],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["soundButton"],"scripts":{"soundButton":{"enabled":true,"attributes":{"onImg":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","offImg":"2753f9e8-255b-4725-84a2-16795c7174e6"}}}}}},"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58":{"name":"On","tags":[],"enabled":false,"resource_id":"1a0f0002-34e5-4b79-ae4f-98f3b59e4b58","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042725,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2753f9e8-255b-4725-84a2-16795c7174e6":{"name":"Off","tags":[],"enabled":true,"resource_id":"2753f9e8-255b-4725-84a2-16795c7174e6","parent":"50ad00e6-271c-4756-b28d-11e6b1ef52eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042712,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":105,"height":60,"margin":[-52.5,-30,-52.5,-30],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85b17c53-513d-4bfa-871d-1e0e273b8786":{"name":"BetController","tags":[],"enabled":true,"resource_id":"85b17c53-513d-4bfa-871d-1e0e273b8786","parent":"6e2e0ad6-b7b0-497c-a2d6-83174b42bb9d","children":["5a034e63-1b15-486b-96fc-2b2e2847420a"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0,0.5,0],"pivot":[0.5,0],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,0,-500,-600],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["betController"],"scripts":{"betController":{"enabled":true,"attributes":{"betButton":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892"],"okButton":"e905deb6-b6db-4c52-acbf-f678b6491e58","cancelButton":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","clearButton":"520409b8-ff1b-4179-92e0-317a07036fd4","betAmountText":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","errorText":"0482f254-0b73-45a9-8881-807ee55524be","betUi":"5a034e63-1b15-486b-96fc-2b2e2847420a"}}}}}},"5a034e63-1b15-486b-96fc-2b2e2847420a":{"name":"BackGround","tags":[],"enabled":false,"resource_id":"5a034e63-1b15-486b-96fc-2b2e2847420a","parent":"85b17c53-513d-4bfa-871d-1e0e273b8786","children":["1cf8d121-4dba-4338-8004-c37c5648d1ac","85736018-f6da-4142-b0da-753be93796e0","0f9874ca-b06b-4b03-a7fa-e8cc04692bde","bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","cf2a2801-e64c-471c-9c01-8b87b2550734","88edaf23-57fb-4d4c-8499-37b285e47892","d24500da-4b2a-4d7c-9215-53b4fb6bd76e","e905deb6-b6db-4c52-acbf-f678b6491e58","87973658-53ec-488e-aef0-a8f678900356","520409b8-ff1b-4179-92e0-317a07036fd4","0482f254-0b73-45a9-8881-807ee55524be"],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.16470588235294117,0.16470588235294117,0.16470588235294117],"opacity":0.99,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":600,"margin":[-500,-300,-500,-300],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1cf8d121-4dba-4338-8004-c37c5648d1ac":{"name":"Button","tags":[],"enabled":true,"resource_id":"1cf8d121-4dba-4338-8004-c37c5648d1ac","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["8b15b958-beb8-43ea-b8f6-5fb59cc50677"],"position":[-319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1cf8d121-4dba-4338-8004-c37c5648d1ac","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,63.247,165,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1}}}}}},"8b15b958-beb8-43ea-b8f6-5fb59cc50677":{"name":"Text","tags":[],"enabled":true,"resource_id":"8b15b958-beb8-43ea-b8f6-5fb59cc50677","parent":"1cf8d121-4dba-4338-8004-c37c5648d1ac","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85736018-f6da-4142-b0da-753be93796e0":{"name":"Button","tags":[],"enabled":true,"resource_id":"85736018-f6da-4142-b0da-753be93796e0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["eafbf68e-a08d-439e-9c08-e1f0c393b867"],"position":[0,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"85736018-f6da-4142-b0da-753be93796e0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,63.247,-155,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10}}}}}},"eafbf68e-a08d-439e-9c08-e1f0c393b867":{"name":"Text","tags":[],"enabled":true,"resource_id":"eafbf68e-a08d-439e-9c08-e1f0c393b867","parent":"85736018-f6da-4142-b0da-753be93796e0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0f9874ca-b06b-4b03-a7fa-e8cc04692bde":{"name":"Button","tags":[],"enabled":true,"resource_id":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["c5508cc8-5056-422d-b761-052b3a319b99"],"position":[319.99995708465576,114.74652660559423,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,63.247,-475,-166.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100}}}}}},"c5508cc8-5056-422d-b761-052b3a319b99":{"name":"Text","tags":[],"enabled":true,"resource_id":"c5508cc8-5056-422d-b761-052b3a319b99","parent":"0f9874ca-b06b-4b03-a7fa-e8cc04692bde","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0":{"name":"Button","tags":[],"enabled":true,"resource_id":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c"],"position":[-319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-475,-56.753,165,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":1000}}}}}},"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c":{"name":"Text","tags":[],"enabled":true,"resource_id":"ed28c1c6-0d61-4b0d-addc-2cf6d7adec8c","parent":"bcc50a6f-cef3-482d-a5cc-d0910b4fb2a0","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cf2a2801-e64c-471c-9c01-8b87b2550734":{"name":"Button","tags":[],"enabled":true,"resource_id":"cf2a2801-e64c-471c-9c01-8b87b2550734","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["61bcedac-217b-4855-9e44-de5fc08a3f1f"],"position":[0,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"cf2a2801-e64c-471c-9c01-8b87b2550734","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-155,-56.753,-155,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":10000}}}}}},"61bcedac-217b-4855-9e44-de5fc08a3f1f":{"name":"Text","tags":[],"enabled":true,"resource_id":"61bcedac-217b-4855-9e44-de5fc08a3f1f","parent":"cf2a2801-e64c-471c-9c01-8b87b2550734","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Text","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"88edaf23-57fb-4d4c-8499-37b285e47892":{"name":"Button","tags":[],"enabled":true,"resource_id":"88edaf23-57fb-4d4c-8499-37b285e47892","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["04788a9b-8bdc-48e3-9b88-3d484f890d82"],"position":[319.99995708465576,-5.253454320919445,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"88edaf23-57fb-4d4c-8499-37b285e47892","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"pressedTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"inactiveTint":[0.8470588235294118,0.8352941176470589,0.8352941176470589,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[165,-56.753,-475,-46.247],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["numButton"],"scripts":{"numButton":{"enabled":true,"attributes":{"betAmount":100000}}}}}},"04788a9b-8bdc-48e3-9b88-3d484f890d82":{"name":"Text","tags":[],"enabled":true,"resource_id":"04788a9b-8bdc-48e3-9b88-3d484f890d82","parent":"88edaf23-57fb-4d4c-8499-37b285e47892","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100,000","key":null,"fontAsset":158042752,"fontSize":50,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":32,"margin":[-100,-45,-100,-55],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d24500da-4b2a-4d7c-9215-53b4fb6bd76e":{"name":"CancelButton","tags":[],"enabled":true,"resource_id":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["e0918e69-2b3d-4418-84ea-a29337e12201"],"position":[200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042749,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[45,-291.164,-355,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e0918e69-2b3d-4418-84ea-a29337e12201":{"name":"Text","tags":[],"enabled":true,"resource_id":"e0918e69-2b3d-4418-84ea-a29337e12201","parent":"d24500da-4b2a-4d7c-9215-53b4fb6bd76e","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Cancel","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":26,"margin":[-150,-8,-150,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e905deb6-b6db-4c52-acbf-f678b6491e58":{"name":"OkButton","tags":[],"enabled":true,"resource_id":"e905deb6-b6db-4c52-acbf-f678b6491e58","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["746363d7-a558-440e-9e91-ad949975e57b"],"position":[-200,-239.66421710778468,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"e905deb6-b6db-4c52-acbf-f678b6491e58","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042751,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":294,"height":103,"margin":[-347,-291.164,53,188.164],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"746363d7-a558-440e-9e91-ad949975e57b":{"name":"Text","tags":[],"enabled":true,"resource_id":"746363d7-a558-440e-9e91-ad949975e57b","parent":"e905deb6-b6db-4c52-acbf-f678b6491e58","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Ok","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":26,"margin":[-100,-8,-100,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"408ea63d-61d1-46e5-a3bc-7c020d2e654e":{"name":"Multiplier","tags":[],"enabled":true,"resource_id":"408ea63d-61d1-46e5-a3bc-7c020d2e654e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[0,-43.88431665325958,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"1.5x","key":null,"fontAsset":158042752,"fontSize":120,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":120,"wrapLines":true,"spacing":1,"color":[0.2901960784313726,1,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":172.5,"height":97.5,"margin":[-86.25,-92.634,-86.25,-4.866],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e408ddb-a1c0-4c54-ad0a-9b33af456156":{"name":"BakcgourndCover","tags":[],"enabled":true,"resource_id":"7e408ddb-a1c0-4c54-ad0a-9b33af456156","parent":"a019517d-368f-4ce7-87bb-e99894bcc1e2","children":[],"position":[63.246499999999855,72.27699999999993,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.28627450980392155,0.28627450980392155,0.28627450980392155],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":2130.730576948686,"height":1728.065873800372,"margin":[-1002.119,-791.756,-1128.612,-936.31],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"87973658-53ec-488e-aef0-a8f678900356":{"name":"Image","tags":[],"enabled":true,"resource_id":"87973658-53ec-488e-aef0-a8f678900356","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["d9ac37ec-0f58-4e1e-8e3a-493afae8f818"],"position":[-153.74922561263267,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042747,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-475.249,-176.5,-167.751,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"520409b8-ff1b-4179-92e0-317a07036fd4":{"name":"ClearButton","tags":[],"enabled":true,"resource_id":"520409b8-ff1b-4179-92e0-317a07036fd4","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":["968dad83-b059-4f0a-bcdf-c87c1f24d98b"],"position":[327.4116066032516,-125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"520409b8-ff1b-4179-92e0-317a07036fd4","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":null,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042750,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[172.412,-176.5,-482.412,73.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"968dad83-b059-4f0a-bcdf-c87c1f24d98b":{"name":"Text","tags":[],"enabled":true,"resource_id":"968dad83-b059-4f0a-bcdf-c87c1f24d98b","parent":"520409b8-ff1b-4179-92e0-317a07036fd4","children":[],"position":[0,5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Clear","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":80,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":239.861,"height":102.509,"margin":[-119.93,-46.255,-119.93,-56.255],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.5,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d9ac37ec-0f58-4e1e-8e3a-493afae8f818":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"d9ac37ec-0f58-4e1e-8e3a-493afae8f818","parent":"87973658-53ec-488e-aef0-a8f678900356","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":52,"margin":[-40.414,-26,8.414,-26],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0482f254-0b73-45a9-8881-807ee55524be":{"name":"errorText","tags":[],"enabled":true,"resource_id":"0482f254-0b73-45a9-8881-807ee55524be","parent":"5a034e63-1b15-486b-96fc-2b2e2847420a","children":[],"position":[0,225.18919542295134,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Not enough balance.","key":null,"fontAsset":158042752,"fontSize":100,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":100,"wrapLines":true,"spacing":1,"color":[1,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":700,"height":65,"margin":[-350,192.689,-350,-257.689],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.59,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1a458b72-d5fb-4f25-a042-540371d7162f":{"name":"Clear","tags":[],"enabled":false,"resource_id":"1a458b72-d5fb-4f25-a042-540371d7162f","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["be83f1e4-6463-4904-b112-f6536d494d88"],"position":[8.060000091791153,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"1a458b72-d5fb-4f25-a042-540371d7162f","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042749,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-146.94,-164.842,-163.06,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"be83f1e4-6463-4904-b112-f6536d494d88":{"name":"Text","tags":[],"enabled":true,"resource_id":"be83f1e4-6463-4904-b112-f6536d494d88","parent":"1a458b72-d5fb-4f25-a042-540371d7162f","children":[],"position":[0,8,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"CLEAR","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":200,"height":36.563,"margin":[-100,-24.5,-100,-40.5],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be":{"name":"RandomButton","tags":[],"enabled":false,"resource_id":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["e91ffea1-c1fc-4a11-8df1-3979d834a574"],"position":[-325.90301036834717,-113.34197046619124,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042750,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[-480.903,-164.842,170.903,61.842],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e91ffea1-c1fc-4a11-8df1-3979d834a574":{"name":"Text","tags":[],"enabled":true,"resource_id":"e91ffea1-c1fc-4a11-8df1-3979d834a574","parent":"6d3eb8b1-dda0-4f78-b2e4-b312be1d97be","children":[],"position":[0,6.274000000000001,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"Random","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":150,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":135,"height":36.563,"margin":[-120,-26.226,-120,-38.774],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.4,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"2e0a4330-1edb-4584-bb1d-0459e4d45884":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"2e0a4330-1edb-4584-bb1d-0459e4d45884","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,-16,-16,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d8fdcb3c-7e91-467f-9d37-deac44bb1780":{"name":"Image","tags":[],"enabled":true,"resource_id":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["da783934-28fc-4d8c-a03c-c23c231a31ba"],"position":[-156.5541042921678,5.180978775024414,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042747,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":643,"height":103,"margin":[-478.054,-46.319,-164.946,-56.681],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"da783934-28fc-4d8c-a03c-c23c231a31ba":{"name":"BetAmount","tags":[],"enabled":true,"resource_id":"da783934-28fc-4d8c-a03c-c23c231a31ba","parent":"d8fdcb3c-7e91-467f-9d37-deac44bb1780","children":[],"position":[-8.413906864091445,0.0000247955322265625,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0","key":null,"fontAsset":158042752,"fontSize":80,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":80,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":65,"margin":[-48.413906864091445,-32.49997520446777,8.413906864091445,-32.50002479553223],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f5286247-662e-4692-b877-1758d446897b":{"name":"Edit","tags":[],"enabled":true,"resource_id":"f5286247-662e-4692-b877-1758d446897b","parent":"480c18f6-d3b8-478a-b573-4889b0154e56","children":["5fe9fe96-ddbd-4a67-a64c-358066d05e95"],"position":[330.0094451544421,3.8209915161132812,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"button":{"enabled":true,"active":true,"imageEntity":"f5286247-662e-4692-b877-1758d446897b","hitPadding":[0,0,0,0],"transitionMode":0,"hoverTint":[1,1,1,1],"pressedTint":[1,1,1,1],"inactiveTint":[1,1,1,1],"fadeDuration":0,"hoverSpriteAsset":null,"hoverSpriteFrame":0,"pressedSpriteAsset":null,"pressedSpriteFrame":0,"inactiveSpriteAsset":null,"inactiveSpriteFrame":0,"hoverTextureAsset":null,"pressedTextureAsset":null,"inactiveTextureAsset":null},"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042748,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":310,"height":103,"margin":[175.009,-47.679,-485.009,-55.321],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":true,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5fe9fe96-ddbd-4a67-a64c-358066d05e95":{"name":"Image","tags":[],"enabled":true,"resource_id":"5fe9fe96-ddbd-4a67-a64c-358066d05e95","parent":"f5286247-662e-4692-b877-1758d446897b","children":[],"position":[-0.0000019073486328125,11.220285209681606,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158042754,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":60,"height":60,"margin":[-30,-18.78,-30,-41.22],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e":{"name":"Profit","tags":[],"enabled":true,"resource_id":"bfede50e-d7ca-47a2-9fb6-1bd77c5a515e","parent":"5665afa5-5303-4c36-90aa-082859636427","children":[],"position":[-19.999998807907104,-140.3346080003128,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"+100","key":null,"fontAsset":158042752,"fontSize":150,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":150,"wrapLines":true,"spacing":1,"color":[1,0.8,0],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":202.5,"height":97.49999999999999,"margin":[-146.562,-201.272,-106.563,79.397],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0.42,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b892d94b-b6fd-4fbb-97ef-13c142300082":{"name":"Slot","tags":[],"enabled":true,"resource_id":"b892d94b-b6fd-4fbb-97ef-13c142300082","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["77b77b27-30a7-4cdc-8b54-62af4619ebca","10520a74-44dd-4c4d-b996-4287b282d419","e59df02d-9cef-4560-b9ae-2edb8a519ac1"],"position":[0,-80,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":300,"margin":[-500,-230,-500,-70],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0.5,0.5],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"77b77b27-30a7-4cdc-8b54-62af4619ebca":{"name":"Element","tags":[],"enabled":true,"resource_id":"77b77b27-30a7-4cdc-8b54-62af4619ebca","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7"],"position":[200,296.686,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[50,96.686,-350,-496.686],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"69d72b0d-28af-487f-b82c-0cf4e8840be5","back":"893c14ee-9064-4973-bfce-48231c7c4afb","bottom":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","shadow":"14a8661f-82f8-4189-81a8-da6f2a35ddf4","gemRoot":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7"}}}}},"template_id":158051543,"template_ent_ids":{"77b77b27-30a7-4cdc-8b54-62af4619ebca":"46c38d3e-39d1-4629-8150-d7d70bee70d5","96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b":"9c014850-8148-4911-b636-54fdf9288fa4","14a8661f-82f8-4189-81a8-da6f2a35ddf4":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7":"ed258efe-c13a-4a3e-b913-9585b6881aee","893c14ee-9064-4973-bfce-48231c7c4afb":"5009eb83-b71c-46c2-8e49-4502c110876a","69d72b0d-28af-487f-b82c-0cf4e8840be5":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7":{"name":"Gem","tags":[],"enabled":true,"resource_id":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","parent":"77b77b27-30a7-4cdc-8b54-62af4619ebca","children":["893c14ee-9064-4973-bfce-48231c7c4afb","69d72b0d-28af-487f-b82c-0cf4e8840be5"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"14a8661f-82f8-4189-81a8-da6f2a35ddf4"}}}}}},"893c14ee-9064-4973-bfce-48231c7c4afb":{"name":"Back","tags":[],"enabled":true,"resource_id":"893c14ee-9064-4973-bfce-48231c7c4afb","parent":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"69d72b0d-28af-487f-b82c-0cf4e8840be5":{"name":"Front","tags":[],"enabled":true,"resource_id":"69d72b0d-28af-487f-b82c-0cf4e8840be5","parent":"6ad64ba0-ffe7-42c3-b4a6-f14608e11ea7","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","parent":"77b77b27-30a7-4cdc-8b54-62af4619ebca","children":["14a8661f-82f8-4189-81a8-da6f2a35ddf4"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"14a8661f-82f8-4189-81a8-da6f2a35ddf4":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"14a8661f-82f8-4189-81a8-da6f2a35ddf4","parent":"96b8acd3-a74b-4d0c-a9c3-7dc35d87b89b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"10520a74-44dd-4c4d-b996-4287b282d419":{"name":"Element","tags":[],"enabled":true,"resource_id":"10520a74-44dd-4c4d-b996-4287b282d419","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","4ed4e8ef-5053-4938-92f2-d55d40851f81"],"position":[500,250,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[350,50,-650,-450],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"9f5700ec-7537-4129-8c29-0f5ccad68af1","back":"f44abfb5-6184-413c-966b-deb291eb885e","bottom":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","shadow":"fdf90175-1540-4147-818a-d661af4bcb8a","gemRoot":"4ed4e8ef-5053-4938-92f2-d55d40851f81"}}}}},"template_id":158051543,"template_ent_ids":{"10520a74-44dd-4c4d-b996-4287b282d419":"46c38d3e-39d1-4629-8150-d7d70bee70d5","0261e130-d6e9-4bd5-81d8-13e3c8fa9d44":"9c014850-8148-4911-b636-54fdf9288fa4","fdf90175-1540-4147-818a-d661af4bcb8a":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","4ed4e8ef-5053-4938-92f2-d55d40851f81":"ed258efe-c13a-4a3e-b913-9585b6881aee","f44abfb5-6184-413c-966b-deb291eb885e":"5009eb83-b71c-46c2-8e49-4502c110876a","9f5700ec-7537-4129-8c29-0f5ccad68af1":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","parent":"10520a74-44dd-4c4d-b996-4287b282d419","children":["fdf90175-1540-4147-818a-d661af4bcb8a"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fdf90175-1540-4147-818a-d661af4bcb8a":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"fdf90175-1540-4147-818a-d661af4bcb8a","parent":"0261e130-d6e9-4bd5-81d8-13e3c8fa9d44","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4ed4e8ef-5053-4938-92f2-d55d40851f81":{"name":"Gem","tags":[],"enabled":true,"resource_id":"4ed4e8ef-5053-4938-92f2-d55d40851f81","parent":"10520a74-44dd-4c4d-b996-4287b282d419","children":["f44abfb5-6184-413c-966b-deb291eb885e","9f5700ec-7537-4129-8c29-0f5ccad68af1"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"fdf90175-1540-4147-818a-d661af4bcb8a"}}}}}},"f44abfb5-6184-413c-966b-deb291eb885e":{"name":"Back","tags":[],"enabled":true,"resource_id":"f44abfb5-6184-413c-966b-deb291eb885e","parent":"4ed4e8ef-5053-4938-92f2-d55d40851f81","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9f5700ec-7537-4129-8c29-0f5ccad68af1":{"name":"Front","tags":[],"enabled":true,"resource_id":"9f5700ec-7537-4129-8c29-0f5ccad68af1","parent":"4ed4e8ef-5053-4938-92f2-d55d40851f81","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"e59df02d-9cef-4560-b9ae-2edb8a519ac1":{"name":"Element","tags":[],"enabled":true,"resource_id":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","parent":"b892d94b-b6fd-4fbb-97ef-13c142300082","children":["6e5e540f-cf5e-481f-8540-73cfd908c00a","39398f01-37ec-4e72-b968-a8df19f5cdf5"],"position":[800,250,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[650,50,-950,-450],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e","back":"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","bottom":"6e5e540f-cf5e-481f-8540-73cfd908c00a","shadow":"985618b9-b0f7-4e3b-a0ba-9eaee7664807","gemRoot":"39398f01-37ec-4e72-b968-a8df19f5cdf5"}}}}},"template_id":158051543,"template_ent_ids":{"e59df02d-9cef-4560-b9ae-2edb8a519ac1":"46c38d3e-39d1-4629-8150-d7d70bee70d5","6e5e540f-cf5e-481f-8540-73cfd908c00a":"9c014850-8148-4911-b636-54fdf9288fa4","985618b9-b0f7-4e3b-a0ba-9eaee7664807":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","39398f01-37ec-4e72-b968-a8df19f5cdf5":"ed258efe-c13a-4a3e-b913-9585b6881aee","3a9e29a8-1c91-445e-bfd6-2f20ab562c0d":"5009eb83-b71c-46c2-8e49-4502c110876a","7249d2ce-e903-41ab-b1ab-3134bdbc0b4e":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"6e5e540f-cf5e-481f-8540-73cfd908c00a":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"6e5e540f-cf5e-481f-8540-73cfd908c00a","parent":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","children":["985618b9-b0f7-4e3b-a0ba-9eaee7664807"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"985618b9-b0f7-4e3b-a0ba-9eaee7664807":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"985618b9-b0f7-4e3b-a0ba-9eaee7664807","parent":"6e5e540f-cf5e-481f-8540-73cfd908c00a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"39398f01-37ec-4e72-b968-a8df19f5cdf5":{"name":"Gem","tags":[],"enabled":true,"resource_id":"39398f01-37ec-4e72-b968-a8df19f5cdf5","parent":"e59df02d-9cef-4560-b9ae-2edb8a519ac1","children":["3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","7249d2ce-e903-41ab-b1ab-3134bdbc0b4e"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"985618b9-b0f7-4e3b-a0ba-9eaee7664807"}}}}}},"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d":{"name":"Back","tags":[],"enabled":true,"resource_id":"3a9e29a8-1c91-445e-bfd6-2f20ab562c0d","parent":"39398f01-37ec-4e72-b968-a8df19f5cdf5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e":{"name":"Front","tags":[],"enabled":true,"resource_id":"7249d2ce-e903-41ab-b1ab-3134bdbc0b4e","parent":"39398f01-37ec-4e72-b968-a8df19f5cdf5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6":{"name":"Slot","tags":[],"enabled":true,"resource_id":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["1776e15a-5b3f-47ba-a138-a858fe37f268","7b1adc07-6b13-41f1-9f3f-9123400c4dba"],"position":[0,-360,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":1000,"height":300,"margin":[-500,-510,-500,210],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0.5,0.5],"padding":[0,0,0,0],"spacing":[20,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"1776e15a-5b3f-47ba-a138-a858fe37f268":{"name":"Element","tags":[],"enabled":true,"resource_id":"1776e15a-5b3f-47ba-a138-a858fe37f268","parent":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","children":["994f4db6-a1c0-492d-b410-ab33bffafb60","464ab44c-1f15-4705-a3f0-a5c656358454"],"position":[90,300,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[0,100,-180,-500],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"575bb1cb-4b6d-4c97-8368-5a3fd5528231","back":"2d136b0b-b173-4f0c-878d-6b0c8d02c222","bottom":"994f4db6-a1c0-492d-b410-ab33bffafb60","shadow":"963cf158-c90c-4661-84e7-5ae9a4e475a5","gemRoot":"464ab44c-1f15-4705-a3f0-a5c656358454"}}}}},"template_id":158051543,"template_ent_ids":{"1776e15a-5b3f-47ba-a138-a858fe37f268":"46c38d3e-39d1-4629-8150-d7d70bee70d5","994f4db6-a1c0-492d-b410-ab33bffafb60":"9c014850-8148-4911-b636-54fdf9288fa4","963cf158-c90c-4661-84e7-5ae9a4e475a5":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","464ab44c-1f15-4705-a3f0-a5c656358454":"ed258efe-c13a-4a3e-b913-9585b6881aee","2d136b0b-b173-4f0c-878d-6b0c8d02c222":"5009eb83-b71c-46c2-8e49-4502c110876a","575bb1cb-4b6d-4c97-8368-5a3fd5528231":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"994f4db6-a1c0-492d-b410-ab33bffafb60":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"994f4db6-a1c0-492d-b410-ab33bffafb60","parent":"1776e15a-5b3f-47ba-a138-a858fe37f268","children":["963cf158-c90c-4661-84e7-5ae9a4e475a5"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"963cf158-c90c-4661-84e7-5ae9a4e475a5":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"963cf158-c90c-4661-84e7-5ae9a4e475a5","parent":"994f4db6-a1c0-492d-b410-ab33bffafb60","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"464ab44c-1f15-4705-a3f0-a5c656358454":{"name":"Gem","tags":[],"enabled":true,"resource_id":"464ab44c-1f15-4705-a3f0-a5c656358454","parent":"1776e15a-5b3f-47ba-a138-a858fe37f268","children":["2d136b0b-b173-4f0c-878d-6b0c8d02c222","575bb1cb-4b6d-4c97-8368-5a3fd5528231"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"963cf158-c90c-4661-84e7-5ae9a4e475a5"}}}}}},"2d136b0b-b173-4f0c-878d-6b0c8d02c222":{"name":"Back","tags":[],"enabled":true,"resource_id":"2d136b0b-b173-4f0c-878d-6b0c8d02c222","parent":"464ab44c-1f15-4705-a3f0-a5c656358454","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"575bb1cb-4b6d-4c97-8368-5a3fd5528231":{"name":"Front","tags":[],"enabled":true,"resource_id":"575bb1cb-4b6d-4c97-8368-5a3fd5528231","parent":"464ab44c-1f15-4705-a3f0-a5c656358454","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"7b1adc07-6b13-41f1-9f3f-9123400c4dba":{"name":"Element","tags":[],"enabled":true,"resource_id":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","parent":"efa0cedd-0fd0-451f-b077-b1aaca7fd8a6","children":["be3aff00-3da0-4759-9e93-a51a799a5944","aae1cc1a-8906-4bf2-aa98-10ab014b0424"],"position":[270,300,0],"rotation":[0,0,0],"scale":[0.5,0.5,0.5],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":400,"margin":[180,100,-360,-500],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["gem"],"scripts":{"gem":{"enabled":true,"attributes":{"front":"85d8558b-4a73-4d1e-a77e-ac48762d6081","back":"4d8e2d46-6be9-4bb2-b013-1467aaa80b34","bottom":"be3aff00-3da0-4759-9e93-a51a799a5944","shadow":"7f284e05-0826-40b1-8663-a73a0a20046e","gemRoot":"aae1cc1a-8906-4bf2-aa98-10ab014b0424"}}}}},"template_id":158051543,"template_ent_ids":{"7b1adc07-6b13-41f1-9f3f-9123400c4dba":"46c38d3e-39d1-4629-8150-d7d70bee70d5","be3aff00-3da0-4759-9e93-a51a799a5944":"9c014850-8148-4911-b636-54fdf9288fa4","7f284e05-0826-40b1-8663-a73a0a20046e":"b3c1047f-22ca-4dcf-a8b3-4217e96a3fe6","aae1cc1a-8906-4bf2-aa98-10ab014b0424":"ed258efe-c13a-4a3e-b913-9585b6881aee","4d8e2d46-6be9-4bb2-b013-1467aaa80b34":"5009eb83-b71c-46c2-8e49-4502c110876a","85d8558b-4a73-4d1e-a77e-ac48762d6081":"ff22f922-1d7c-44b5-b8dd-737a98bd052d"}},"be3aff00-3da0-4759-9e93-a51a799a5944":{"name":"Bottom","tags":[],"enabled":true,"resource_id":"be3aff00-3da0-4759-9e93-a51a799a5944","parent":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","children":["7f284e05-0826-40b1-8663-a73a0a20046e"],"position":[0.00003814697265625,-220,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158043149,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":484,"height":202,"margin":[-242,-321,-242,119],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7f284e05-0826-40b1-8663-a73a0a20046e":{"name":"Shadow","tags":[],"enabled":true,"resource_id":"7f284e05-0826-40b1-8663-a73a0a20046e","parent":"be3aff00-3da0-4759-9e93-a51a799a5944","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":158051375,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":340,"height":80,"margin":[-170,-40,-170,-40],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"aae1cc1a-8906-4bf2-aa98-10ab014b0424":{"name":"Gem","tags":[],"enabled":true,"resource_id":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","parent":"7b1adc07-6b13-41f1-9f3f-9123400c4dba","children":["4d8e2d46-6be9-4bb2-b013-1467aaa80b34","85d8558b-4a73-4d1e-a77e-ac48762d6081"],"position":[-0.00000694518894306384,20,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[-16,4,-16,-36],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["bounce"],"scripts":{"bounce":{"enabled":true,"attributes":{"shadow":"7f284e05-0826-40b1-8663-a73a0a20046e"}}}}}},"4d8e2d46-6be9-4bb2-b013-1467aaa80b34":{"name":"Back","tags":[],"enabled":true,"resource_id":"4d8e2d46-6be9-4bb2-b013-1467aaa80b34","parent":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797221,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"85d8558b-4a73-4d1e-a77e-ac48762d6081":{"name":"Front","tags":[],"enabled":true,"resource_id":"85d8558b-4a73-4d1e-a77e-ac48762d6081","parent":"aae1cc1a-8906-4bf2-aa98-10ab014b0424","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":159797217,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":358,"height":348,"margin":[-179,-174,-179,-174],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["twinkle"],"scripts":{"twinkle":{"enabled":true,"attributes":{}}}}}},"1f7df6b7-eb4e-48aa-89ae-d75595423f7e":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","parent":"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b","children":["e68319c2-d211-40c1-8f20-37078c4aebec","862909c4-6180-4125-bb83-d23b35d689eb","ce092b17-fee2-403e-87d4-dab91c5ff5d7","a03ce837-a76f-4693-acd0-7e2659589fba","02674ebc-2e8a-4fa5-a38b-73e92206a6be","a403cf2a-b776-412a-a945-8578ac2fd195","3f71b3be-2c0b-4515-892a-2b52eff4dfe1"],"position":[0,-7.002194785397762,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":420,"margin":[-250,-217.002,-250,-202.998],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":1,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[0,10],"widthFitting":0,"heightFitting":0,"wrap":false},"script":{"enabled":true,"order":["handRankingController"],"scripts":{"handRankingController":{"enabled":true,"attributes":{"handRanking":["3f71b3be-2c0b-4515-892a-2b52eff4dfe1","a403cf2a-b776-412a-a945-8578ac2fd195","02674ebc-2e8a-4fa5-a38b-73e92206a6be","a03ce837-a76f-4693-acd0-7e2659589fba","ce092b17-fee2-403e-87d4-dab91c5ff5d7","862909c4-6180-4125-bb83-d23b35d689eb","e68319c2-d211-40c1-8f20-37078c4aebec"]}}}}}},"e68319c2-d211-40c1-8f20-37078c4aebec":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"e68319c2-d211-40c1-8f20-37078c4aebec","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["98888f0e-6c6f-4722-8912-9fd865189367"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["76847f2d-02d6-43ce-b385-2ba18e911d6d","690bc6db-cf74-45e2-8261-70d8aa3048ec","10fee707-6093-4d72-a363-28e7866830e6","b4badfbe-f379-48cb-98c7-472f0dc1879b","94cc9a38-b097-4a7d-94af-70d202915b54"],"back":["0a959a04-b622-4361-9266-530b5a0af850","21ff2cd4-737c-417d-9e50-b411e41169aa","3c0ce115-0179-4fa7-abc9-087e26982901","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","45312f23-9d38-4e50-800b-365bc06d216e"],"background":"98888f0e-6c6f-4722-8912-9fd865189367","ratioText":"8fca21e5-dc93-4342-bb45-959aacc6b441"}}}}},"template_ent_ids":{"e68319c2-d211-40c1-8f20-37078c4aebec":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","98888f0e-6c6f-4722-8912-9fd865189367":"ce17a95e-9203-461a-9489-bcc168463252","08f27400-e901-434d-bac8-b27582dd94b1":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","0a959a04-b622-4361-9266-530b5a0af850":"c523cddb-0df4-4ceb-a074-0915aa00fa47","8fca21e5-dc93-4342-bb45-959aacc6b441":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","76847f2d-02d6-43ce-b385-2ba18e911d6d":"b859c695-97fb-4cde-9595-7b7345f9bcf8","21ff2cd4-737c-417d-9e50-b411e41169aa":"df02f698-fd5a-42e0-9e44-39d443455c50","690bc6db-cf74-45e2-8261-70d8aa3048ec":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","3c0ce115-0179-4fa7-abc9-087e26982901":"df495c59-d865-4dd6-902b-1d14f7ed40fd","10fee707-6093-4d72-a363-28e7866830e6":"59a56431-62a2-4f01-a28c-ebd168de6515","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806":"fd010274-cbd5-4187-98ac-91954baeb83d","b4badfbe-f379-48cb-98c7-472f0dc1879b":"b87e83c9-98c3-43ae-9542-9884db97dbe0","45312f23-9d38-4e50-800b-365bc06d216e":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","94cc9a38-b097-4a7d-94af-70d202915b54":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"},"template_id":158484030},"98888f0e-6c6f-4722-8912-9fd865189367":{"name":"Image","tags":[],"enabled":true,"resource_id":"98888f0e-6c6f-4722-8912-9fd865189367","parent":"e68319c2-d211-40c1-8f20-37078c4aebec","children":["08f27400-e901-434d-bac8-b27582dd94b1","8fca21e5-dc93-4342-bb45-959aacc6b441"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"862909c4-6180-4125-bb83-d23b35d689eb":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"862909c4-6180-4125-bb83-d23b35d689eb","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["df0bcbc7-cfe2-4489-bd9a-bb0111453171"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["edef977c-5d78-450f-b8f5-85f099437b14","38032713-171a-479e-938a-75ae9f70207d","6d1eaab7-0015-492e-8133-b4c2c086907d","a19c540f-df1f-449b-bdef-19634f773f57","4bba9107-ae3c-49a1-b994-10df1d687160"],"back":["36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","003f14c4-710b-4528-8c6c-9834c685afce","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","5900c759-f8cc-4d3f-b5b6-05442f0288da","b72f2f7d-2bca-439b-a882-61f02e0e8deb"],"background":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","ratioText":"33ce77a3-8914-4f90-b361-7774f65ad781"}}}}},"template_id":158484030,"template_ent_ids":{"862909c4-6180-4125-bb83-d23b35d689eb":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","df0bcbc7-cfe2-4489-bd9a-bb0111453171":"ce17a95e-9203-461a-9489-bcc168463252","5481862b-b2fe-416f-8b28-0a7a58cf3e38":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","36bcb1a5-9cb6-4e15-8f22-ab98d23320b9":"c523cddb-0df4-4ceb-a074-0915aa00fa47","33ce77a3-8914-4f90-b361-7774f65ad781":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","edef977c-5d78-450f-b8f5-85f099437b14":"b859c695-97fb-4cde-9595-7b7345f9bcf8","003f14c4-710b-4528-8c6c-9834c685afce":"df02f698-fd5a-42e0-9e44-39d443455c50","38032713-171a-479e-938a-75ae9f70207d":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe":"df495c59-d865-4dd6-902b-1d14f7ed40fd","6d1eaab7-0015-492e-8133-b4c2c086907d":"59a56431-62a2-4f01-a28c-ebd168de6515","5900c759-f8cc-4d3f-b5b6-05442f0288da":"fd010274-cbd5-4187-98ac-91954baeb83d","a19c540f-df1f-449b-bdef-19634f773f57":"b87e83c9-98c3-43ae-9542-9884db97dbe0","b72f2f7d-2bca-439b-a882-61f02e0e8deb":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4bba9107-ae3c-49a1-b994-10df1d687160":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"df0bcbc7-cfe2-4489-bd9a-bb0111453171":{"name":"Image","tags":[],"enabled":true,"resource_id":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","parent":"862909c4-6180-4125-bb83-d23b35d689eb","children":["5481862b-b2fe-416f-8b28-0a7a58cf3e38","33ce77a3-8914-4f90-b361-7774f65ad781"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ce092b17-fee2-403e-87d4-dab91c5ff5d7":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"ce092b17-fee2-403e-87d4-dab91c5ff5d7","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["52e81368-744d-4211-9783-463f3f18d266"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["cda12430-a0af-42f7-bded-2cb8839a8e70","9bb291dd-dc3c-43b3-ad1c-fc8971e0e411","92ba1ae7-8d5c-4c5e-a637-fc7e9937185e","ef50cfe9-fbb5-494e-a063-0cb85b0a0692","897c5ed9-db0a-4ee7-b552-bc25eadf369b"],"back":["b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","b6b0d31a-713e-4d46-9a33-fef2254c46dd","e8944576-42da-4d44-9873-c6c21b6029dd","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d"],"background":"52e81368-744d-4211-9783-463f3f18d266","ratioText":"3be7a32d-f2aa-4536-b8ed-62dca3a9335a"}}}}},"template_id":158484030,"template_ent_ids":{"ce092b17-fee2-403e-87d4-dab91c5ff5d7":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","52e81368-744d-4211-9783-463f3f18d266":"ce17a95e-9203-461a-9489-bcc168463252","e51b80ca-817f-442c-93b9-2d42fac7573f":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","b556b2d1-3f0f-47c4-af7f-592b1fd8c58a":"c523cddb-0df4-4ceb-a074-0915aa00fa47","3be7a32d-f2aa-4536-b8ed-62dca3a9335a":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","cda12430-a0af-42f7-bded-2cb8839a8e70":"b859c695-97fb-4cde-9595-7b7345f9bcf8","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae":"df02f698-fd5a-42e0-9e44-39d443455c50","9bb291dd-dc3c-43b3-ad1c-fc8971e0e411":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","b6b0d31a-713e-4d46-9a33-fef2254c46dd":"df495c59-d865-4dd6-902b-1d14f7ed40fd","92ba1ae7-8d5c-4c5e-a637-fc7e9937185e":"59a56431-62a2-4f01-a28c-ebd168de6515","e8944576-42da-4d44-9873-c6c21b6029dd":"fd010274-cbd5-4187-98ac-91954baeb83d","ef50cfe9-fbb5-494e-a063-0cb85b0a0692":"b87e83c9-98c3-43ae-9542-9884db97dbe0","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","897c5ed9-db0a-4ee7-b552-bc25eadf369b":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"52e81368-744d-4211-9783-463f3f18d266":{"name":"Image","tags":[],"enabled":true,"resource_id":"52e81368-744d-4211-9783-463f3f18d266","parent":"ce092b17-fee2-403e-87d4-dab91c5ff5d7","children":["e51b80ca-817f-442c-93b9-2d42fac7573f","3be7a32d-f2aa-4536-b8ed-62dca3a9335a"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a03ce837-a76f-4693-acd0-7e2659589fba":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"a03ce837-a76f-4693-acd0-7e2659589fba","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["6686a8cf-7817-489b-ad37-0dad17102399"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["3c197239-0fe4-42f0-8cc5-b89010edd581","a1d3861e-e23a-4d27-9c1e-7ee924b26d02","84018bde-b814-4cd6-b27b-19e4b09af65d","8610da67-6279-41b9-b0ad-d78906a0567f","4a244b71-0bc9-4a72-a484-23654867d7ba"],"back":["6964de8f-208a-4599-bc22-2310ae32cc26","e946dfa5-cc7f-426c-a77a-5047b9765cb5","8765a4fa-3152-47a8-8dcc-3eb0da744b80","8b96118a-9ca0-4728-87bb-c4999308ce84","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709"],"background":"6686a8cf-7817-489b-ad37-0dad17102399","ratioText":"5edce589-bd23-46a1-9460-cdfa133f3741"}}}}},"template_id":158484030,"template_ent_ids":{"a03ce837-a76f-4693-acd0-7e2659589fba":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","6686a8cf-7817-489b-ad37-0dad17102399":"ce17a95e-9203-461a-9489-bcc168463252","70355aaa-690f-49e1-bfe1-62cfa71bbd86":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","6964de8f-208a-4599-bc22-2310ae32cc26":"c523cddb-0df4-4ceb-a074-0915aa00fa47","5edce589-bd23-46a1-9460-cdfa133f3741":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","3c197239-0fe4-42f0-8cc5-b89010edd581":"b859c695-97fb-4cde-9595-7b7345f9bcf8","e946dfa5-cc7f-426c-a77a-5047b9765cb5":"df02f698-fd5a-42e0-9e44-39d443455c50","a1d3861e-e23a-4d27-9c1e-7ee924b26d02":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","8765a4fa-3152-47a8-8dcc-3eb0da744b80":"df495c59-d865-4dd6-902b-1d14f7ed40fd","84018bde-b814-4cd6-b27b-19e4b09af65d":"59a56431-62a2-4f01-a28c-ebd168de6515","8b96118a-9ca0-4728-87bb-c4999308ce84":"fd010274-cbd5-4187-98ac-91954baeb83d","8610da67-6279-41b9-b0ad-d78906a0567f":"b87e83c9-98c3-43ae-9542-9884db97dbe0","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4a244b71-0bc9-4a72-a484-23654867d7ba":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"6686a8cf-7817-489b-ad37-0dad17102399":{"name":"Image","tags":[],"enabled":true,"resource_id":"6686a8cf-7817-489b-ad37-0dad17102399","parent":"a03ce837-a76f-4693-acd0-7e2659589fba","children":["70355aaa-690f-49e1-bfe1-62cfa71bbd86","5edce589-bd23-46a1-9460-cdfa133f3741"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.6901960784313725,0.7843137254901961,0.592156862745098],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"02674ebc-2e8a-4fa5-a38b-73e92206a6be":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"02674ebc-2e8a-4fa5-a38b-73e92206a6be","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["4201d16d-944a-49bb-b851-95b95a1124b0"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["e919c001-4665-46f1-ac43-4745e2e9e661","5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25","7e4728eb-8d7d-4e44-be0c-830dc02f251a","5ba5d436-a69e-481a-819a-d274aa5021d0","d804d77c-3053-4a7c-b507-dade4ad7d286"],"back":["2cec4a01-21d5-46ea-b218-2b51fd8322eb","5bbeda81-74de-4189-aa40-51ef48f68405","b35342ca-a2ad-452f-8f12-5c13dd924337","a1f660c6-810c-4afe-91a0-82a77a78a628","0fc84334-45d8-4dea-a34e-cb50c4cd68fd"],"background":"4201d16d-944a-49bb-b851-95b95a1124b0","ratioText":"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0"}}}}},"template_id":158484030,"template_ent_ids":{"02674ebc-2e8a-4fa5-a38b-73e92206a6be":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","4201d16d-944a-49bb-b851-95b95a1124b0":"ce17a95e-9203-461a-9489-bcc168463252","06693cbc-ff2e-47f8-ba8a-2a983acbfd3a":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","2cec4a01-21d5-46ea-b218-2b51fd8322eb":"c523cddb-0df4-4ceb-a074-0915aa00fa47","26fbf2e2-7471-4d3c-82de-9a1a73bd91e0":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","e919c001-4665-46f1-ac43-4745e2e9e661":"b859c695-97fb-4cde-9595-7b7345f9bcf8","5bbeda81-74de-4189-aa40-51ef48f68405":"df02f698-fd5a-42e0-9e44-39d443455c50","5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","b35342ca-a2ad-452f-8f12-5c13dd924337":"df495c59-d865-4dd6-902b-1d14f7ed40fd","7e4728eb-8d7d-4e44-be0c-830dc02f251a":"59a56431-62a2-4f01-a28c-ebd168de6515","a1f660c6-810c-4afe-91a0-82a77a78a628":"fd010274-cbd5-4187-98ac-91954baeb83d","5ba5d436-a69e-481a-819a-d274aa5021d0":"b87e83c9-98c3-43ae-9542-9884db97dbe0","0fc84334-45d8-4dea-a34e-cb50c4cd68fd":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","d804d77c-3053-4a7c-b507-dade4ad7d286":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"4201d16d-944a-49bb-b851-95b95a1124b0":{"name":"Image","tags":[],"enabled":true,"resource_id":"4201d16d-944a-49bb-b851-95b95a1124b0","parent":"02674ebc-2e8a-4fa5-a38b-73e92206a6be","children":["06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","26fbf2e2-7471-4d3c-82de-9a1a73bd91e0"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a403cf2a-b776-412a-a945-8578ac2fd195":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"a403cf2a-b776-412a-a945-8578ac2fd195","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["519932de-a1d6-43fc-a0a6-3beca0292a34"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["0b8e9e41-b026-4d65-9f0d-06ac841b6f35","8147e4c1-097c-445d-8670-24a022c02b3b","fdeb38d5-434c-4999-97c9-d26f52001e4b","bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8","61edca59-8ca9-4121-bccb-52229f9c4845"],"back":["a11971d0-384f-4873-8687-256fb8eef08a","668be6f2-8971-4c58-842f-1e8bb991ce9b","abc88bd9-bafb-4869-b305-d0b75317cb66","9608d3af-1086-48e1-b5d8-c385724b8b8b","fde313a8-d730-44f4-9afb-ddfea41ae59e"],"background":"519932de-a1d6-43fc-a0a6-3beca0292a34","ratioText":"afb6ea5a-265d-422c-b5aa-48245effefa7"}}}}},"template_id":158484030,"template_ent_ids":{"a403cf2a-b776-412a-a945-8578ac2fd195":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","519932de-a1d6-43fc-a0a6-3beca0292a34":"ce17a95e-9203-461a-9489-bcc168463252","63790e27-d7c9-49fc-b493-a5954d193415":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","a11971d0-384f-4873-8687-256fb8eef08a":"c523cddb-0df4-4ceb-a074-0915aa00fa47","afb6ea5a-265d-422c-b5aa-48245effefa7":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","0b8e9e41-b026-4d65-9f0d-06ac841b6f35":"b859c695-97fb-4cde-9595-7b7345f9bcf8","668be6f2-8971-4c58-842f-1e8bb991ce9b":"df02f698-fd5a-42e0-9e44-39d443455c50","8147e4c1-097c-445d-8670-24a022c02b3b":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","abc88bd9-bafb-4869-b305-d0b75317cb66":"df495c59-d865-4dd6-902b-1d14f7ed40fd","fdeb38d5-434c-4999-97c9-d26f52001e4b":"59a56431-62a2-4f01-a28c-ebd168de6515","9608d3af-1086-48e1-b5d8-c385724b8b8b":"fd010274-cbd5-4187-98ac-91954baeb83d","bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8":"b87e83c9-98c3-43ae-9542-9884db97dbe0","fde313a8-d730-44f4-9afb-ddfea41ae59e":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","61edca59-8ca9-4121-bccb-52229f9c4845":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"519932de-a1d6-43fc-a0a6-3beca0292a34":{"name":"Image","tags":[],"enabled":true,"resource_id":"519932de-a1d6-43fc-a0a6-3beca0292a34","parent":"a403cf2a-b776-412a-a945-8578ac2fd195","children":["63790e27-d7c9-49fc-b493-a5954d193415","afb6ea5a-265d-422c-b5aa-48245effefa7"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3f71b3be-2c0b-4515-892a-2b52eff4dfe1":{"name":"HandRanking","tags":[],"enabled":true,"resource_id":"3f71b3be-2c0b-4515-892a-2b52eff4dfe1","parent":"1f7df6b7-eb4e-48aa-89ae-d75595423f7e","children":["61da894a-f8ab-4292-8da9-36cf3a008284"],"position":[250,410,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":500,"height":50,"margin":[0,385,-500,-435],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"script":{"enabled":true,"order":["handRanking"],"scripts":{"handRanking":{"enabled":true,"attributes":{"front":["5924f98a-370e-4681-bc0a-1c04d6b92a3f","0cbe8a2b-e3df-48db-8121-132888d9951a","f318c3cf-637b-480d-a5c8-aefc8aa152b8","8a504a83-319d-41f7-8955-e6d26039802f","4531e528-7715-4d45-abb9-d9c70b1ac290"],"back":["bedbc30f-f1d4-434f-bd47-c705eddb2092","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","16857b02-b406-4d85-9331-92b757a79466","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","1ecfa034-4f96-4e83-943f-cf898f75d164"],"background":"61da894a-f8ab-4292-8da9-36cf3a008284","ratioText":"a34136d5-6898-41b6-b466-cbbd86529a4f"}}}}},"template_id":158484030,"template_ent_ids":{"3f71b3be-2c0b-4515-892a-2b52eff4dfe1":"b7994544-cc22-44b8-84a5-3e2ff9c40cf5","61da894a-f8ab-4292-8da9-36cf3a008284":"ce17a95e-9203-461a-9489-bcc168463252","30a7e57c-1e07-4a19-8f0d-02851c1decb8":"ac0b5905-f06d-426f-bce0-7ec8a8b8bcc5","bedbc30f-f1d4-434f-bd47-c705eddb2092":"c523cddb-0df4-4ceb-a074-0915aa00fa47","a34136d5-6898-41b6-b466-cbbd86529a4f":"db40a9d5-4771-42ca-9f37-a6c332bcfc53","5924f98a-370e-4681-bc0a-1c04d6b92a3f":"b859c695-97fb-4cde-9595-7b7345f9bcf8","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b":"df02f698-fd5a-42e0-9e44-39d443455c50","0cbe8a2b-e3df-48db-8121-132888d9951a":"d5a9b7a7-728d-4423-8767-f3de4a1776bd","16857b02-b406-4d85-9331-92b757a79466":"df495c59-d865-4dd6-902b-1d14f7ed40fd","f318c3cf-637b-480d-a5c8-aefc8aa152b8":"59a56431-62a2-4f01-a28c-ebd168de6515","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa":"fd010274-cbd5-4187-98ac-91954baeb83d","8a504a83-319d-41f7-8955-e6d26039802f":"b87e83c9-98c3-43ae-9542-9884db97dbe0","1ecfa034-4f96-4e83-943f-cf898f75d164":"f7fbe189-2953-4b49-b3fe-54a0dd5e02c8","4531e528-7715-4d45-abb9-d9c70b1ac290":"7a1c0953-5a4c-44fe-977c-d6a0002f62c3"}},"61da894a-f8ab-4292-8da9-36cf3a008284":{"name":"Image","tags":[],"enabled":true,"resource_id":"61da894a-f8ab-4292-8da9-36cf3a008284","parent":"3f71b3be-2c0b-4515-892a-2b52eff4dfe1","children":["30a7e57c-1e07-4a19-8f0d-02851c1decb8","a34136d5-6898-41b6-b466-cbbd86529a4f"],"position":[250,40,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,1,1],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.3176470588235294,0.3176470588235294,0.3176470588235294],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":32,"height":32,"margin":[0,0,0,0],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b":{"name":"Image","tags":[],"enabled":true,"resource_id":"4f0e5ae1-6d54-45ec-a86b-48a0fa53ed0b","parent":"43776b5d-805c-405d-8a6a-693a0848e585","children":["1f7df6b7-eb4e-48aa-89ae-d75595423f7e"],"position":[0,298.2751436174549,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.4666666666666667,0.4666666666666667,0.4666666666666667],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":550,"height":450,"margin":[-275,73.275,-275,-523.275],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"08f27400-e901-434d-bac8-b27582dd94b1":{"name":"icon","tags":[],"enabled":true,"resource_id":"08f27400-e901-434d-bac8-b27582dd94b1","parent":"98888f0e-6c6f-4722-8912-9fd865189367","children":["0a959a04-b622-4361-9266-530b5a0af850","21ff2cd4-737c-417d-9e50-b411e41169aa","3c0ce115-0179-4fa7-abc9-087e26982901","4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","45312f23-9d38-4e50-800b-365bc06d216e"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"8fca21e5-dc93-4342-bb45-959aacc6b441":{"name":"Text","tags":[],"enabled":true,"resource_id":"8fca21e5-dc93-4342-bb45-959aacc6b441","parent":"98888f0e-6c6f-4722-8912-9fd865189367","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0a959a04-b622-4361-9266-530b5a0af850":{"name":"Back","tags":[],"enabled":true,"resource_id":"0a959a04-b622-4361-9266-530b5a0af850","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["76847f2d-02d6-43ce-b385-2ba18e911d6d"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5481862b-b2fe-416f-8b28-0a7a58cf3e38":{"name":"icon","tags":[],"enabled":true,"resource_id":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","parent":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","children":["36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","003f14c4-710b-4528-8c6c-9834c685afce","074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","5900c759-f8cc-4d3f-b5b6-05442f0288da","b72f2f7d-2bca-439b-a882-61f02e0e8deb"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9":{"name":"Back","tags":[],"enabled":true,"resource_id":"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["edef977c-5d78-450f-b8f5-85f099437b14"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"33ce77a3-8914-4f90-b361-7774f65ad781":{"name":"Text","tags":[],"enabled":true,"resource_id":"33ce77a3-8914-4f90-b361-7774f65ad781","parent":"df0bcbc7-cfe2-4489-bd9a-bb0111453171","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e51b80ca-817f-442c-93b9-2d42fac7573f":{"name":"icon","tags":[],"enabled":true,"resource_id":"e51b80ca-817f-442c-93b9-2d42fac7573f","parent":"52e81368-744d-4211-9783-463f3f18d266","children":["b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","b6b0d31a-713e-4d46-9a33-fef2254c46dd","e8944576-42da-4d44-9873-c6c21b6029dd","9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a":{"name":"Back","tags":[],"enabled":true,"resource_id":"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["cda12430-a0af-42f7-bded-2cb8839a8e70"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3be7a32d-f2aa-4536-b8ed-62dca3a9335a":{"name":"Text","tags":[],"enabled":true,"resource_id":"3be7a32d-f2aa-4536-b8ed-62dca3a9335a","parent":"52e81368-744d-4211-9783-463f3f18d266","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"70355aaa-690f-49e1-bfe1-62cfa71bbd86":{"name":"icon","tags":[],"enabled":true,"resource_id":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","parent":"6686a8cf-7817-489b-ad37-0dad17102399","children":["6964de8f-208a-4599-bc22-2310ae32cc26","e946dfa5-cc7f-426c-a77a-5047b9765cb5","8765a4fa-3152-47a8-8dcc-3eb0da744b80","8b96118a-9ca0-4728-87bb-c4999308ce84","b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"6964de8f-208a-4599-bc22-2310ae32cc26":{"name":"Back","tags":[],"enabled":true,"resource_id":"6964de8f-208a-4599-bc22-2310ae32cc26","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["3c197239-0fe4-42f0-8cc5-b89010edd581"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5edce589-bd23-46a1-9460-cdfa133f3741":{"name":"Text","tags":[],"enabled":true,"resource_id":"5edce589-bd23-46a1-9460-cdfa133f3741","parent":"6686a8cf-7817-489b-ad37-0dad17102399","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a":{"name":"icon","tags":[],"enabled":true,"resource_id":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","parent":"4201d16d-944a-49bb-b851-95b95a1124b0","children":["2cec4a01-21d5-46ea-b218-2b51fd8322eb","5bbeda81-74de-4189-aa40-51ef48f68405","b35342ca-a2ad-452f-8f12-5c13dd924337","a1f660c6-810c-4afe-91a0-82a77a78a628","0fc84334-45d8-4dea-a34e-cb50c4cd68fd"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"2cec4a01-21d5-46ea-b218-2b51fd8322eb":{"name":"Back","tags":[],"enabled":true,"resource_id":"2cec4a01-21d5-46ea-b218-2b51fd8322eb","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["e919c001-4665-46f1-ac43-4745e2e9e661"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0":{"name":"Text","tags":[],"enabled":true,"resource_id":"26fbf2e2-7471-4d3c-82de-9a1a73bd91e0","parent":"4201d16d-944a-49bb-b851-95b95a1124b0","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"63790e27-d7c9-49fc-b493-a5954d193415":{"name":"icon","tags":[],"enabled":true,"resource_id":"63790e27-d7c9-49fc-b493-a5954d193415","parent":"519932de-a1d6-43fc-a0a6-3beca0292a34","children":["a11971d0-384f-4873-8687-256fb8eef08a","668be6f2-8971-4c58-842f-1e8bb991ce9b","abc88bd9-bafb-4869-b305-d0b75317cb66","9608d3af-1086-48e1-b5d8-c385724b8b8b","fde313a8-d730-44f4-9afb-ddfea41ae59e"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"a11971d0-384f-4873-8687-256fb8eef08a":{"name":"Back","tags":[],"enabled":true,"resource_id":"a11971d0-384f-4873-8687-256fb8eef08a","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["0b8e9e41-b026-4d65-9f0d-06ac841b6f35"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5764705882352941,0.5764705882352941,0.5764705882352941],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"afb6ea5a-265d-422c-b5aa-48245effefa7":{"name":"Text","tags":[],"enabled":true,"resource_id":"afb6ea5a-265d-422c-b5aa-48245effefa7","parent":"519932de-a1d6-43fc-a0a6-3beca0292a34","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"30a7e57c-1e07-4a19-8f0d-02851c1decb8":{"name":"icon","tags":[],"enabled":true,"resource_id":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","parent":"61da894a-f8ab-4292-8da9-36cf3a008284","children":["bedbc30f-f1d4-434f-bd47-c705eddb2092","39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","16857b02-b406-4d85-9331-92b757a79466","a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","1ecfa034-4f96-4e83-943f-cf898f75d164"],"position":[-81.22045727062459,-0.0001220703125,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"group","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":300,"height":32,"margin":[-231.22,-16,-68.78,-16],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false},"layoutgroup":{"enabled":true,"orientation":0,"reverseX":false,"reverseY":true,"alignment":[0,1],"padding":[0,0,0,0],"spacing":[30,0],"widthFitting":0,"heightFitting":0,"wrap":false}}},"bedbc30f-f1d4-434f-bd47-c705eddb2092":{"name":"Back","tags":[],"enabled":true,"resource_id":"bedbc30f-f1d4-434f-bd47-c705eddb2092","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["5924f98a-370e-4681-bc0a-1c04d6b92a3f"],"position":[16,16,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[257.5,-3,-297.5,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a34136d5-6898-41b6-b466-cbbd86529a4f":{"name":"Text","tags":[],"enabled":true,"resource_id":"a34136d5-6898-41b6-b466-cbbd86529a4f","parent":"61da894a-f8ab-4292-8da9-36cf3a008284","children":[],"position":[-20,-0.000026702880859375,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"text","anchor":[1,0.5,1,0.5],"pivot":[1,0.5],"text":"0.00x","key":null,"fontAsset":158042752,"fontSize":45,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":45,"wrapLines":true,"spacing":1,"color":[1,1,1],"opacity":1,"textureAsset":null,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":70,"height":26,"margin":[-90,-13,20,-13],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":true,"autoHeight":true,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"76847f2d-02d6-43ce-b385-2ba18e911d6d":{"name":"Front","tags":[],"enabled":true,"resource_id":"76847f2d-02d6-43ce-b385-2ba18e911d6d","parent":"0a959a04-b622-4361-9266-530b5a0af850","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5450980392156862,0.21568627450980393,0.25098039215686274],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"21ff2cd4-737c-417d-9e50-b411e41169aa":{"name":"Back","tags":[],"enabled":true,"resource_id":"21ff2cd4-737c-417d-9e50-b411e41169aa","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["690bc6db-cf74-45e2-8261-70d8aa3048ec"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"690bc6db-cf74-45e2-8261-70d8aa3048ec":{"name":"Front","tags":[],"enabled":true,"resource_id":"690bc6db-cf74-45e2-8261-70d8aa3048ec","parent":"21ff2cd4-737c-417d-9e50-b411e41169aa","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3c0ce115-0179-4fa7-abc9-087e26982901":{"name":"Back","tags":[],"enabled":true,"resource_id":"3c0ce115-0179-4fa7-abc9-087e26982901","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["10fee707-6093-4d72-a363-28e7866830e6"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"10fee707-6093-4d72-a363-28e7866830e6":{"name":"Front","tags":[],"enabled":true,"resource_id":"10fee707-6093-4d72-a363-28e7866830e6","parent":"3c0ce115-0179-4fa7-abc9-087e26982901","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806":{"name":"Back","tags":[],"enabled":true,"resource_id":"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["b4badfbe-f379-48cb-98c7-472f0dc1879b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b4badfbe-f379-48cb-98c7-472f0dc1879b":{"name":"Front","tags":[],"enabled":true,"resource_id":"b4badfbe-f379-48cb-98c7-472f0dc1879b","parent":"4c3bf03b-5d8f-4bba-9e36-2a8b63e90806","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"45312f23-9d38-4e50-800b-365bc06d216e":{"name":"Back","tags":[],"enabled":true,"resource_id":"45312f23-9d38-4e50-800b-365bc06d216e","parent":"08f27400-e901-434d-bac8-b27582dd94b1","children":["94cc9a38-b097-4a7d-94af-70d202915b54"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"94cc9a38-b097-4a7d-94af-70d202915b54":{"name":"Front","tags":[],"enabled":true,"resource_id":"94cc9a38-b097-4a7d-94af-70d202915b54","parent":"45312f23-9d38-4e50-800b-365bc06d216e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"edef977c-5d78-450f-b8f5-85f099437b14":{"name":"Front","tags":[],"enabled":true,"resource_id":"edef977c-5d78-450f-b8f5-85f099437b14","parent":"36bcb1a5-9cb6-4e15-8f22-ab98d23320b9","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"003f14c4-710b-4528-8c6c-9834c685afce":{"name":"Back","tags":[],"enabled":true,"resource_id":"003f14c4-710b-4528-8c6c-9834c685afce","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["38032713-171a-479e-938a-75ae9f70207d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"38032713-171a-479e-938a-75ae9f70207d":{"name":"Front","tags":[],"enabled":true,"resource_id":"38032713-171a-479e-938a-75ae9f70207d","parent":"003f14c4-710b-4528-8c6c-9834c685afce","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe":{"name":"Back","tags":[],"enabled":true,"resource_id":"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["6d1eaab7-0015-492e-8133-b4c2c086907d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"6d1eaab7-0015-492e-8133-b4c2c086907d":{"name":"Front","tags":[],"enabled":true,"resource_id":"6d1eaab7-0015-492e-8133-b4c2c086907d","parent":"074dff5a-1c8a-466b-8ae6-73b43ad9e5fe","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5900c759-f8cc-4d3f-b5b6-05442f0288da":{"name":"Back","tags":[],"enabled":true,"resource_id":"5900c759-f8cc-4d3f-b5b6-05442f0288da","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["a19c540f-df1f-449b-bdef-19634f773f57"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a19c540f-df1f-449b-bdef-19634f773f57":{"name":"Front","tags":[],"enabled":true,"resource_id":"a19c540f-df1f-449b-bdef-19634f773f57","parent":"5900c759-f8cc-4d3f-b5b6-05442f0288da","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b72f2f7d-2bca-439b-a882-61f02e0e8deb":{"name":"Back","tags":[],"enabled":true,"resource_id":"b72f2f7d-2bca-439b-a882-61f02e0e8deb","parent":"5481862b-b2fe-416f-8b28-0a7a58cf3e38","children":["4bba9107-ae3c-49a1-b994-10df1d687160"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4bba9107-ae3c-49a1-b994-10df1d687160":{"name":"Front","tags":[],"enabled":true,"resource_id":"4bba9107-ae3c-49a1-b994-10df1d687160","parent":"b72f2f7d-2bca-439b-a882-61f02e0e8deb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"cda12430-a0af-42f7-bded-2cb8839a8e70":{"name":"Front","tags":[],"enabled":true,"resource_id":"cda12430-a0af-42f7-bded-2cb8839a8e70","parent":"b556b2d1-3f0f-47c4-af7f-592b1fd8c58a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae":{"name":"Back","tags":[],"enabled":true,"resource_id":"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["9bb291dd-dc3c-43b3-ad1c-fc8971e0e411"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9bb291dd-dc3c-43b3-ad1c-fc8971e0e411":{"name":"Front","tags":[],"enabled":true,"resource_id":"9bb291dd-dc3c-43b3-ad1c-fc8971e0e411","parent":"914f46d6-6ec0-4ea0-8ce1-1e68b5794dae","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b6b0d31a-713e-4d46-9a33-fef2254c46dd":{"name":"Back","tags":[],"enabled":true,"resource_id":"b6b0d31a-713e-4d46-9a33-fef2254c46dd","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["92ba1ae7-8d5c-4c5e-a637-fc7e9937185e"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"92ba1ae7-8d5c-4c5e-a637-fc7e9937185e":{"name":"Front","tags":[],"enabled":true,"resource_id":"92ba1ae7-8d5c-4c5e-a637-fc7e9937185e","parent":"b6b0d31a-713e-4d46-9a33-fef2254c46dd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e8944576-42da-4d44-9873-c6c21b6029dd":{"name":"Back","tags":[],"enabled":true,"resource_id":"e8944576-42da-4d44-9873-c6c21b6029dd","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["ef50cfe9-fbb5-494e-a063-0cb85b0a0692"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"ef50cfe9-fbb5-494e-a063-0cb85b0a0692":{"name":"Front","tags":[],"enabled":true,"resource_id":"ef50cfe9-fbb5-494e-a063-0cb85b0a0692","parent":"e8944576-42da-4d44-9873-c6c21b6029dd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d":{"name":"Back","tags":[],"enabled":true,"resource_id":"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d","parent":"e51b80ca-817f-442c-93b9-2d42fac7573f","children":["897c5ed9-db0a-4ee7-b552-bc25eadf369b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"897c5ed9-db0a-4ee7-b552-bc25eadf369b":{"name":"Front","tags":[],"enabled":true,"resource_id":"897c5ed9-db0a-4ee7-b552-bc25eadf369b","parent":"9fd35ab5-4cf3-4ccb-839f-5f08cd3e784d","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"3c197239-0fe4-42f0-8cc5-b89010edd581":{"name":"Front","tags":[],"enabled":true,"resource_id":"3c197239-0fe4-42f0-8cc5-b89010edd581","parent":"6964de8f-208a-4599-bc22-2310ae32cc26","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e946dfa5-cc7f-426c-a77a-5047b9765cb5":{"name":"Back","tags":[],"enabled":true,"resource_id":"e946dfa5-cc7f-426c-a77a-5047b9765cb5","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["a1d3861e-e23a-4d27-9c1e-7ee924b26d02"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a1d3861e-e23a-4d27-9c1e-7ee924b26d02":{"name":"Front","tags":[],"enabled":true,"resource_id":"a1d3861e-e23a-4d27-9c1e-7ee924b26d02","parent":"e946dfa5-cc7f-426c-a77a-5047b9765cb5","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8765a4fa-3152-47a8-8dcc-3eb0da744b80":{"name":"Back","tags":[],"enabled":true,"resource_id":"8765a4fa-3152-47a8-8dcc-3eb0da744b80","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["84018bde-b814-4cd6-b27b-19e4b09af65d"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"84018bde-b814-4cd6-b27b-19e4b09af65d":{"name":"Front","tags":[],"enabled":true,"resource_id":"84018bde-b814-4cd6-b27b-19e4b09af65d","parent":"8765a4fa-3152-47a8-8dcc-3eb0da744b80","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8b96118a-9ca0-4728-87bb-c4999308ce84":{"name":"Back","tags":[],"enabled":true,"resource_id":"8b96118a-9ca0-4728-87bb-c4999308ce84","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["8610da67-6279-41b9-b0ad-d78906a0567f"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8610da67-6279-41b9-b0ad-d78906a0567f":{"name":"Front","tags":[],"enabled":true,"resource_id":"8610da67-6279-41b9-b0ad-d78906a0567f","parent":"8b96118a-9ca0-4728-87bb-c4999308ce84","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709":{"name":"Back","tags":[],"enabled":true,"resource_id":"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709","parent":"70355aaa-690f-49e1-bfe1-62cfa71bbd86","children":["4a244b71-0bc9-4a72-a484-23654867d7ba"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4a244b71-0bc9-4a72-a484-23654867d7ba":{"name":"Front","tags":[],"enabled":true,"resource_id":"4a244b71-0bc9-4a72-a484-23654867d7ba","parent":"b9a7cbe2-ea52-4cc8-916f-f2e4d32ee709","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"e919c001-4665-46f1-ac43-4745e2e9e661":{"name":"Front","tags":[],"enabled":true,"resource_id":"e919c001-4665-46f1-ac43-4745e2e9e661","parent":"2cec4a01-21d5-46ea-b218-2b51fd8322eb","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5bbeda81-74de-4189-aa40-51ef48f68405":{"name":"Back","tags":[],"enabled":true,"resource_id":"5bbeda81-74de-4189-aa40-51ef48f68405","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25":{"name":"Front","tags":[],"enabled":true,"resource_id":"5e9f39c4-d2dc-49f5-9dd6-d6b099e0fb25","parent":"5bbeda81-74de-4189-aa40-51ef48f68405","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"b35342ca-a2ad-452f-8f12-5c13dd924337":{"name":"Back","tags":[],"enabled":true,"resource_id":"b35342ca-a2ad-452f-8f12-5c13dd924337","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["7e4728eb-8d7d-4e44-be0c-830dc02f251a"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"7e4728eb-8d7d-4e44-be0c-830dc02f251a":{"name":"Front","tags":[],"enabled":true,"resource_id":"7e4728eb-8d7d-4e44-be0c-830dc02f251a","parent":"b35342ca-a2ad-452f-8f12-5c13dd924337","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a1f660c6-810c-4afe-91a0-82a77a78a628":{"name":"Back","tags":[],"enabled":true,"resource_id":"a1f660c6-810c-4afe-91a0-82a77a78a628","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["5ba5d436-a69e-481a-819a-d274aa5021d0"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5ba5d436-a69e-481a-819a-d274aa5021d0":{"name":"Front","tags":[],"enabled":true,"resource_id":"5ba5d436-a69e-481a-819a-d274aa5021d0","parent":"a1f660c6-810c-4afe-91a0-82a77a78a628","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0fc84334-45d8-4dea-a34e-cb50c4cd68fd":{"name":"Back","tags":[],"enabled":true,"resource_id":"0fc84334-45d8-4dea-a34e-cb50c4cd68fd","parent":"06693cbc-ff2e-47f8-ba8a-2a983acbfd3a","children":["d804d77c-3053-4a7c-b507-dade4ad7d286"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"d804d77c-3053-4a7c-b507-dade4ad7d286":{"name":"Front","tags":[],"enabled":true,"resource_id":"d804d77c-3053-4a7c-b507-dade4ad7d286","parent":"0fc84334-45d8-4dea-a34e-cb50c4cd68fd","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0b8e9e41-b026-4d65-9f0d-06ac841b6f35":{"name":"Front","tags":[],"enabled":false,"resource_id":"0b8e9e41-b026-4d65-9f0d-06ac841b6f35","parent":"a11971d0-384f-4873-8687-256fb8eef08a","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"668be6f2-8971-4c58-842f-1e8bb991ce9b":{"name":"Back","tags":[],"enabled":true,"resource_id":"668be6f2-8971-4c58-842f-1e8bb991ce9b","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["8147e4c1-097c-445d-8670-24a022c02b3b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5764705882352941,0.5764705882352941,0.5764705882352941],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8147e4c1-097c-445d-8670-24a022c02b3b":{"name":"Front","tags":[],"enabled":false,"resource_id":"8147e4c1-097c-445d-8670-24a022c02b3b","parent":"668be6f2-8971-4c58-842f-1e8bb991ce9b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"abc88bd9-bafb-4869-b305-d0b75317cb66":{"name":"Back","tags":[],"enabled":true,"resource_id":"abc88bd9-bafb-4869-b305-d0b75317cb66","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["fdeb38d5-434c-4999-97c9-d26f52001e4b"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fdeb38d5-434c-4999-97c9-d26f52001e4b":{"name":"Front","tags":[],"enabled":false,"resource_id":"fdeb38d5-434c-4999-97c9-d26f52001e4b","parent":"abc88bd9-bafb-4869-b305-d0b75317cb66","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"9608d3af-1086-48e1-b5d8-c385724b8b8b":{"name":"Back","tags":[],"enabled":true,"resource_id":"9608d3af-1086-48e1-b5d8-c385724b8b8b","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8":{"name":"Front","tags":[],"enabled":false,"resource_id":"bb957aa5-7fbb-4f21-98a7-2ff9a0e349a8","parent":"9608d3af-1086-48e1-b5d8-c385724b8b8b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"fde313a8-d730-44f4-9afb-ddfea41ae59e":{"name":"Back","tags":[],"enabled":true,"resource_id":"fde313a8-d730-44f4-9afb-ddfea41ae59e","parent":"63790e27-d7c9-49fc-b493-a5954d193415","children":["61edca59-8ca9-4121-bccb-52229f9c4845"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"61edca59-8ca9-4121-bccb-52229f9c4845":{"name":"Front","tags":[],"enabled":false,"resource_id":"61edca59-8ca9-4121-bccb-52229f9c4845","parent":"fde313a8-d730-44f4-9afb-ddfea41ae59e","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"5924f98a-370e-4681-bc0a-1c04d6b92a3f":{"name":"Front","tags":[],"enabled":true,"resource_id":"5924f98a-370e-4681-bc0a-1c04d6b92a3f","parent":"bedbc30f-f1d4-434f-bd47-c705eddb2092","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0.5843137254901961,0.5843137254901961,0.5843137254901961],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b":{"name":"Back","tags":[],"enabled":true,"resource_id":"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["0cbe8a2b-e3df-48db-8121-132888d9951a"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"0cbe8a2b-e3df-48db-8121-132888d9951a":{"name":"Front","tags":[],"enabled":true,"resource_id":"0cbe8a2b-e3df-48db-8121-132888d9951a","parent":"39ee3799-5725-46a7-8d75-ce8c4ba6bb1b","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"16857b02-b406-4d85-9331-92b757a79466":{"name":"Back","tags":[],"enabled":true,"resource_id":"16857b02-b406-4d85-9331-92b757a79466","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["f318c3cf-637b-480d-a5c8-aefc8aa152b8"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"f318c3cf-637b-480d-a5c8-aefc8aa152b8":{"name":"Front","tags":[],"enabled":true,"resource_id":"f318c3cf-637b-480d-a5c8-aefc8aa152b8","parent":"16857b02-b406-4d85-9331-92b757a79466","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa":{"name":"Back","tags":[],"enabled":true,"resource_id":"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["8a504a83-319d-41f7-8955-e6d26039802f"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"8a504a83-319d-41f7-8955-e6d26039802f":{"name":"Front","tags":[],"enabled":true,"resource_id":"8a504a83-319d-41f7-8955-e6d26039802f","parent":"a98637cf-eb31-4fd9-9205-aa9e4c9afdaa","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"1ecfa034-4f96-4e83-943f-cf898f75d164":{"name":"Back","tags":[],"enabled":true,"resource_id":"1ecfa034-4f96-4e83-943f-cf898f75d164","parent":"30a7e57c-1e07-4a19-8f0d-02851c1decb8","children":["4531e528-7715-4d45-abb9-d9c70b1ac290"],"position":[300,14.5,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0,0,0,0],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[0,0,0],"opacity":1,"textureAsset":158483931,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":40,"height":35,"margin":[280,-3,-320,-32],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}},"4531e528-7715-4d45-abb9-d9c70b1ac290":{"name":"Front","tags":[],"enabled":true,"resource_id":"4531e528-7715-4d45-abb9-d9c70b1ac290","parent":"1ecfa034-4f96-4e83-943f-cf898f75d164","children":[],"position":[0,0,0],"rotation":[0,0,0],"scale":[1,1,1],"components":{"element":{"enabled":true,"type":"image","anchor":[0.5,0.5,0.5,0.5],"pivot":[0.5,0.5],"text":"","key":null,"fontAsset":158042738,"fontSize":32,"minFontSize":8,"maxFontSize":32,"autoFitWidth":false,"autoFitHeight":false,"maxLines":null,"lineHeight":32,"wrapLines":true,"spacing":1,"color":[1,0.9568627450980393,0],"opacity":1,"textureAsset":158483964,"spriteAsset":null,"spriteFrame":0,"pixelsPerUnit":null,"width":41,"height":36,"margin":[-20.5,-18,-20.5,-18],"alignment":[0.5,0.5],"outlineColor":[0,0,0,1],"outlineThickness":0,"shadowColor":[0,0,0,1],"shadowOffset":[0,0],"rect":[0,0,1,1],"materialAsset":null,"autoWidth":false,"autoHeight":false,"fitMode":"stretch","useInput":false,"batchGroupId":null,"mask":false,"layers":[4],"enableMarkup":false}}}},"checkpoint_id":"538cfe14-2d4b-4fc9-a353-edbc9508330f","id":1904849} \ No newline at end of file diff --git a/GemQuest/GemQuest/__game-scripts.js b/GemQuest/GemQuest/__game-scripts.js deleted file mode 100644 index f5b5eca..0000000 --- a/GemQuest/GemQuest/__game-scripts.js +++ /dev/null @@ -1 +0,0 @@ -pc.extend(pc,function(){var TweenManager=function(t){this._app=t,this._tweens=[],this._add=[]};TweenManager.prototype={add:function(t){return this._add.push(t),t},update:function(t){for(var i=0,e=this._tweens.length;i-1||this._tweens.push(this._add[t]);this._add.length=0}}};var Tween=function(t,i,e){pc.events.attach(this),this.manager=i,e&&(this.entity=null),this.time=0,this.complete=!1,this.playing=!1,this.stopped=!0,this.pending=!1,this.target=t,this.duration=0,this._currentDelay=0,this.timeScale=1,this._reverse=!1,this._delay=0,this._yoyo=!1,this._count=0,this._numRepeats=0,this._repeatDelay=0,this._from=!1,this._slerp=!1,this._fromQuat=new pc.Quat,this._toQuat=new pc.Quat,this._quat=new pc.Quat,this.easing=pc.Linear,this._sv={},this._ev={}},_parseProperties=function(t){var i;return t instanceof pc.Vec2?i={x:t.x,y:t.y}:t instanceof pc.Vec3?i={x:t.x,y:t.y,z:t.z}:t instanceof pc.Vec4||t instanceof pc.Quat?i={x:t.x,y:t.y,z:t.z,w:t.w}:t instanceof pc.Color?(i={r:t.r,g:t.g,b:t.b},void 0!==t.a&&(i.a=t.a)):i=t,i};Tween.prototype={to:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this},from:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._from=!0,this},rotate:function(t,i,e,s,n,r){return this._properties=_parseProperties(t),this.duration=i,e&&(this.easing=e),s&&this.delay(s),n&&this.repeat(n),r&&this.yoyo(r),this._slerp=!0,this},start:function(){var t,i,e,s;if(this.playing=!0,this.complete=!1,this.stopped=!1,this._count=0,this.pending=this._delay>0,this._reverse&&!this.pending?this.time=this.duration:this.time=0,this._from){for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this._properties[t],this._ev[t]=this.target[t]);this._slerp&&(this._toQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,this._fromQuat.setFromEulerAngles(i,e,s))}else{for(t in this._properties)this._properties.hasOwnProperty(t)&&(this._sv[t]=this.target[t],this._ev[t]=this._properties[t]);this._slerp&&(i=void 0!==this._properties.x?this._properties.x:this.target.x,e=void 0!==this._properties.y?this._properties.y:this.target.y,s=void 0!==this._properties.z?this._properties.z:this.target.z,void 0!==this._properties.w?(this._fromQuat.copy(this.target),this._toQuat.set(i,e,s,this._properties.w)):(this._fromQuat.setFromEulerAngles(this.target.x,this.target.y,this.target.z),this._toQuat.setFromEulerAngles(i,e,s)))}return this._currentDelay=this._delay,this.manager.add(this),this},pause:function(){this.playing=!1},resume:function(){this.playing=!0},stop:function(){this.playing=!1,this.stopped=!0},delay:function(t){return this._delay=t,this.pending=!0,this},repeat:function(t,i){return this._count=0,this._numRepeats=t,this._repeatDelay=i||0,this},loop:function(t){return t?(this._count=0,this._numRepeats=1/0):this._numRepeats=0,this},yoyo:function(t){return this._yoyo=t,this},reverse:function(){return this._reverse=!this._reverse,this},chain:function(){for(var t=arguments.length;t--;)t>0?arguments[t-1]._chained=arguments[t]:this._chained=arguments[t];return this},onUpdate:function(t){return this.on("update",t),this},onComplete:function(t){return this.on("complete",t),this},onLoop:function(t){return this.on("loop",t),this},update:function(t){if(this.stopped)return!1;if(!this.playing)return!0;if(!this._reverse||this.pending?this.time+=t*this.timeScale:this.time-=t*this.timeScale,this.pending){if(!(this.time>this._currentDelay))return!0;this._reverse?this.time=this.duration-(this.time-this._currentDelay):this.time-=this._currentDelay,this.pending=!1}var i=0;(!this._reverse&&this.time>this.duration||this._reverse&&this.time<0)&&(this._count++,this.complete=!0,this.playing=!1,this._reverse?(i=this.duration-this.time,this.time=0):(i=this.time-this.duration,this.time=this.duration));var e,s,n=0===this.duration?1:this.time/this.duration,r=this.easing(n);for(var h in this._properties)this._properties.hasOwnProperty(h)&&(e=this._sv[h],s=this._ev[h],this.target[h]=e+(s-e)*r);if(this._slerp&&this._quat.slerp(this._fromQuat,this._toQuat,r),this.entity&&(this.entity._dirtifyLocal(),this.element&&this.entity.element&&(this.entity.element[this.element]=this.target),this._slerp&&this.entity.setLocalRotation(this._quat)),this.fire("update",t),this.complete){var o=this._repeat(i);return o?this.fire("loop"):(this.fire("complete",i),this.entity&&this.entity.off("destroy",this.stop,this),this._chained&&this._chained.start()),o}return!0},_repeat:function(t){if(this._count{this.setOpacityCascade(s.v)})).start()},pc.Entity.prototype.opacityTo=function(t,i,e){if(!this.element.material)return;let s={v:t};return this.setOpacity(t),this.tween(s).to({v:i},e,pc.SineOut).on("update",(()=>{this.setOpacity(s.v)})).start()},pc.Entity.prototype.setTextureFromURL=function(t){let i="t_"+t,e=pc.app.assets.find(i,"texture");if(null===e){pc.app.loader.getHandler("texture").crossOrigin="anonymous";var s=new pc.Asset(i,"texture",{url:t});pc.app.assets.add(s),s.on("load",(t=>{this.element.texture=t.resource})),pc.app.assets.load(s)}else this.element.texture=e.resource},pc.Entity.prototype.blink=function(t,i,e,s){for(let n=0;n{this.setOpacity(t)}),e*n*2),setTimeout((()=>{this.setOpacity(i)}),e*(2*n+1))};var t=pc.AppBase.getApplication();t&&t.addTweenManager()}();var Background=pc.createScript("background");Background.attributes.add("startPosX",{type:"number",default:1}),Background.attributes.add("endPosX",{type:"number",default:1}),Background.attributes.add("durationTime",{type:"number",default:1}),Background.prototype.initialize=function(){this.entity.setLocalPosition(this.startPosX,0,0),this.tween=this.entity.tween(this.entity.getLocalPosition()).to(new pc.Vec3(this.endPosX,0,0),this.durationTime,pc.Linear).loop(!0).yoyo(!0),this.tween.start()};var UserBalance=pc.createScript("userBalance");UserBalance.attributes.add("userBalanceText",{type:"entity"}),UserBalance.attributes.add("userName",{type:"entity"}),UserBalance.prototype.initialize=function(){UserBalance.instance=this,this.userBalance=0},UserBalance.prototype.setUserName=function(e){this.userName.element.text=e},UserBalance.prototype.getUserBalance=function(){return this.userBalance},UserBalance.prototype.setBalance=function(e){this.userBalance=e;let t={value:Number(this.userBalanceText.element.text)},a=this.userBalanceText.element,n=this.entity.tween(t).to({value:e},.3,pc.Linear);n.on("update",(function(e){let n=parseFloat(t.value.toFixed(0));a.text=`${n}`})),n.start()},UserBalance.prototype.update=function(e){};var DummyServer=pc.createScript("dummyServer");DummyServer.prototype.initialize=function(){DummyServer.instance=this,this.betAmount=-1,this.userBalance=0},DummyServer.prototype.login=async function(){return this.userBalance=getRandomInt(1e3,5e3),{id:"userName",balance:this.userBalance}},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.testCode=function(){let e=Array.from({length:40},((e,t)=>t+1)),t=shuffle(e).splice(0,10);console.log(e),console.log(t)},DummyServer.prototype.getResult=function(e){let t=e.filter((e=>e>=2)).sort(((e,t)=>t-e));if(0===t.length)return 0;if(1===t.length){if(2===t[0])return.1;if(3===t[0])return 3;if(4===t[0])return 5;if(5===t[0])return 50}else if(2===t.length){if(2===t[0])return 2;if(3===t[0])return 4}},DummyServer.prototype.startGame=function(e){if(e<0)return;let t=[],r=getDeck();t=shuffle(r).splice(0,5);let n=getMatchCount(t),u=this.getResult(n);this.userBalance=this.userBalance-e,this.betAmount=e;let i=u*e;return this.userBalance=this.userBalance+i,{balance:this.userBalance,betAmount:this.betAmount,profit:i,multiplier:u,gems:t}};var GlobalFunction=pc.createScript("globalFunction");function getRandomInt(r,o){return r=Math.ceil(r),o=Math.floor(o),Math.floor(Math.random()*(o-r))+r}function changeTexture(r,o){r.element.texture=o.resource}function shuffle(r){var o,e,t;for(t=r.length-1;t>0;t--)o=Math.floor(Math.random()*(t+1)),e=r[t],r[t]=r[o],r[o]=e;return r}function getTable(r,o){let e=[];for(let t=0;t{o[r]++})),o}function getGemColor(r){switch(r){case 0:return rgbToColor(15,144,202,255);case 1:return rgbToColor(0,127,154,255);case 2:return rgbToColor(226,125,17,255);case 3:return rgbToColor(135,42,221,255);case 4:return rgbToColor(27,172,53,255);case 5:return rgbToColor(214,48,124,255);default:return rgbToColor(52,68,83,255)}}function setButton(r,o,e){r.element.on("touchend",o,e),r.element.on("mouseup",o,e)}function rgbToColor(r,o,e,t){return new pc.Color(r/255,o/255,e/255,t/255)}function getCommaText(r){return r.toLocaleString("en-US")}async function loadJsonFromUrl(n){return new Promise((e=>{this.loadJsonFromRemote(n,(function(n){console.log(n);let o=JSON.stringify(n),s=JSON.parse(o);e(s)}))}))}async function delay(n){return new Promise((e=>setTimeout((()=>{e(n)}),n)))}async function loadJsonFromRemote(n,e){var o=new XMLHttpRequest;o.addEventListener("load",(function(){e(JSON.parse(this.response))})),o.open("GET",n),o.send()}var Middle=pc.createScript("middle");Middle.attributes.add("boxButton",{type:"entity",array:!0}),Middle.attributes.add("resultText",{type:"entity"}),Middle.prototype.initialize=function(){Middle.instance=this,this.idleTimer=null,this.buttons=[],this.entity.forEach((t=>{"Button"===t.name&&this.buttons.push(t)})),this.selectedIdx=-1};var GameController=pc.createScript("gameController");GameController.prototype.initialize=function(){GameController.instance=this},GameController.prototype.postInitialize=function(){this.init(),this.setIdle(),GemController.instance.init(),HandRankingController.instance.init()},GameController.prototype.init=async function(){let e=await DummyServer.instance.login();console.log(e),UserBalance.instance.setBalance(e.balance),UserBalance.instance.setUserName(e.id)},GameController.prototype.betGame=async function(e){let n=DummyServer.instance.startGame(e);console.log(n),UserBalance.instance.setBalance(UserBalance.instance.getUserBalance()-e),GemController.instance.init(),HandRankingController.instance.init(),HandRankingController.instance.setMatch(0,0,0),await delay(150);for(let e=0;e{this.changeButtonState(this.startButton,!0),this.changeTexture(this.startButton,this.start_inactive)}),1e3)},Bottom.prototype.setBetAmount=function(t){this.betAmountText.element.text=`${t}`,this.betAmount=t},Bottom.prototype.resetMultiplierColor=function(){ResultController.instance.resetColor(),this.disableButton(!1)},Bottom.prototype.setResultGame=async function(t,o,e){t?(AudioController.instance.playSound("Win"),this.multiplier.element.text=`${o.toFixed(2)}x`,this.profit.element.text=`+${e}`):AudioController.instance.playSound("Lose"),this.winResult.enabled=t,this.loseResult.enabled=!t,await delay(1500),this.winResult.enabled=!1,this.loseResult.enabled=!1},Bottom.prototype.betAmountErr=function(){var t=new pc.Color(0,0,0),o=this.entity.tween(t).yoyo(!0).repeat(4).to(new pc.Color(1,0,0),.2,pc.Linear);o.onUpdate((o=>{this.betAmountText.element.color=t})),o.start()};var AudioController=pc.createScript("audioController");AudioController.attributes.add("soundSource",{type:"entity"}),AudioController.prototype.initialize=function(){AudioController.instance=this,this.isMute=!0,this.soundSource.sound.volume=0},AudioController.prototype.setMute=function(o){this.isMute=o,this.isMute?this.soundSource.sound.volume=0:this.soundSource.sound.volume=.55},AudioController.prototype.playSound=function(o){!0!==this.isMute&&this.soundSource.sound.play(o)};var BetController=pc.createScript("betController");BetController.attributes.add("betUi",{type:"entity"}),BetController.attributes.add("betButton",{type:"entity",array:!0}),BetController.attributes.add("okButton",{type:"entity"}),BetController.attributes.add("cancelButton",{type:"entity"}),BetController.attributes.add("clearButton",{type:"entity"}),BetController.attributes.add("betAmountText",{type:"entity"}),BetController.attributes.add("errorText",{type:"entity"}),BetController.prototype.initialize=function(){BetController.instance=this,this.timer=null,this.betAmount=0,this.errorText.enabled=!1,setButton(this.cancelButton,this.onBetCancel,this),setButton(this.okButton,this.onBetOk,this),setButton(this.clearButton,this.onBetClear,this)},BetController.prototype.reset=function(){this.betAmount=0,this.updateText(),this.resetAllButton()},BetController.prototype.resetAllButton=function(){this.betButton.forEach((t=>t.element.color=new pc.Color(.5,.5,.5,1)))},BetController.prototype.betChange=function(t){let e=this.betAmount+t;return e>UserBalance.instance.getUserBalance()?(this.showErrorMsg(),!1):(this.errorText.enabled=!1,this.betAmount=e,this.updateText(),!0)},BetController.prototype.updateText=function(){let t=getCommaText(this.betAmount);this.betAmountText.element.text=`${t}`},BetController.prototype.onBetClear=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betAmount=0,this.updateText()},BetController.prototype.onBetOk=function(){AudioController.instance.playSound("Click"),console.log("BetController.prototype.betOk"),this.betUi.enabled=!1,Bottom.instance.setBetAmount(this.betAmount)},BetController.prototype.onBetCancel=function(){AudioController.instance.playSound("Click"),this.betUi.enabled=!1},BetController.prototype.showErrorMsg=function(){this.errorText.enabled=!0,clearTimeout(this.timer),this.timer=setTimeout((()=>{this.errorText.enabled=!1}),1e3)};var NumButton=pc.createScript("numButton");NumButton.attributes.add("betAmount",{type:"number"}),NumButton.prototype.initialize=function(){let t=this.entity.children[0],n=this.betAmount,e=getCommaText(n);t.element.text=`+${e}`,setButton(this.entity,this.onClick,this)},NumButton.prototype.onClick=function(){AudioController.instance.playSound("Click");BetController.instance.betChange(this.betAmount)};var SoundButton=pc.createScript("soundButton");SoundButton.attributes.add("onImg",{type:"entity"}),SoundButton.attributes.add("offImg",{type:"entity"}),SoundButton.prototype.initialize=function(){SoundButton.instance=this,this.isMute=!0,this.setButton(this.entity,this.onClick)},SoundButton.prototype.onClick=function(){this.isMute=!this.isMute,this.onImg.enabled=!1,this.offImg.enabled=!1,this.isMute?this.offImg.enabled=!0:this.onImg.enabled=!0,AudioController.instance.setMute(this.isMute)},SoundButton.prototype.setButton=function(t,n){t.element.on("touchend",n,this),t.element.on("mouseup",n,this)};var Twinkle=pc.createScript("twinkle");Twinkle.prototype.initialize=function(){this.onEnable(),this.entity.on("enable",this.onEnable,this)},Twinkle.prototype.onEnable=function(){var t={value:1},e=this.entity.tween(t).yoyo(!0).loop(!0).to({value:.5},1,pc.Linear);e.onUpdate((e=>{this.entity.element.opacity=t.value})),e.start()};var Bounce=pc.createScript("bounce");Bounce.attributes.add("shadow",{type:"entity"}),Bounce.prototype.initialize=function(){this.onEnable(),this.entity.on("enable",this.onEnable,this)},Bounce.prototype.onEnable=function(){console.log("onEnable");var t={value:0};let e=getRandomInt(6,12)/10;var o=this.entity.tween(t).yoyo(!0).loop(!0).to({value:15},e,pc.Linear);o.onUpdate((e=>{this.entity.setLocalPosition(0,t.value,0),this.shadow.setLocalScale(1-t.value/100,1-t.value/100,1)})),o.start()};var HandRankingController=pc.createScript("handRankingController");HandRankingController.attributes.add("handRanking",{type:"entity",array:"true"}),HandRankingController.prototype.initialize=function(){HandRankingController.instance=this,this.handInfo=[[0,0,0],[2,0,.1],[2,2,2],[3,0,3],[3,2,4],[4,0,5],[5,0,50]]},HandRankingController.prototype.postInitialize=function(){let n=0;this.handInfo.forEach((t=>{this.handRanking[n].script.handRanking.initHandRanking(t[0],t[1],t[2]),n++}))},HandRankingController.prototype.init=function(){this.handRanking.forEach((n=>{n.script.handRanking.setDefault()}))},HandRankingController.prototype.setMatch=function(n,t,a){this.init(),this.handRanking[n].script.handRanking.setSelected(getGemColor(t),getGemColor(a))};var HandRanking=pc.createScript("handRanking");HandRanking.attributes.add("front",{type:"entity",array:"true"}),HandRanking.attributes.add("back",{type:"entity",array:"true"}),HandRanking.attributes.add("background",{type:"entity"}),HandRanking.attributes.add("ratioText",{type:"entity"}),HandRanking.prototype.initialize=function(){this.enableColor=rgbToColor(147,147,147,255),this.disableColor=rgbToColor(52,68,83,255),this.selectedColor=rgbToColor(176,200,151,255),this.unselectedColor=rgbToColor(81,81,81,255),this.fillCount=0,this.borderCount=0},HandRanking.prototype.initHandRanking=function(t,e,o){this.fillCount=t,this.borderCount=e,this.ratioText.element.text=`${o.toFixed(2)}x`,this.setDefault()},HandRanking.prototype.setDefault=function(){this.background.element.color=this.unselectedColor;for(let t=0;t<5;++t)this.front[t].enabled=!1,this.back[t].element.color=this.disableColor;let t=0;for(let e=0;e{t.script.gem.reset()})),this.gemTypes=[],this.prevColorArray=[]},GemController.prototype.setGem=function(t,e){this.gems[t].script.gem.setGem(e),this.updateMatch(e)},GemController.prototype.getMatchedIndex=function(){let t=getMatchCount(this.gemTypes).filter((t=>t>=2)).sort(((t,e)=>e-t)),e=0;return 0===t.length&&(e=0),1===t.length&&(2===t[0]&&(e=1),3===t[0]&&(e=3),4===t[0]&&(e=5),5===t[0]&&(e=5)),2===t.length&&(2===t[0]&&(e=2),3===t[0]&&(e=4)),e},GemController.prototype.getMatchedCount=function(t){let e=0;return this.gemTypes.forEach((o=>{o===t&&e++})),e},GemController.prototype.enabledBottomColor=function(t){t.forEach((t=>{this.gemTypes.forEach(((e,o)=>{t.type===e&&this.gems[o].script.gem.enableBottomColor()}))}))},GemController.prototype.getMatchedColor=function(){let t=[];return this.gemTypes.forEach((e=>{let o=this.getMatchedCount(e);if(o>=2){let r=!1;t.forEach((t=>{t.type===e&&(r=!0)})),!1===r&&t.push({type:e,count:o})}})),t.sort(((t,e)=>e.count-t.count)),t},GemController.prototype.updateMatch=function(t){this.gemTypes.push(t);let e=this.getMatchedIndex(),o=this.getMatchedColor();this.enabledBottomColor(o),HandRankingController.instance.setMatch(e,o.length>0?o[0].type:0,o.length>1?o[1].type:0),this.prevColorArray=o},GemController.prototype.getGem=function(t){let e,o;return 0<=t&&t<=5?(e=this.front[t],o=this.back[t]):(e=this.front[0],o=this.back[0]),{front:e,back:o}},GemController.prototype.getBottom=function(t){return 0<=t&&t<=5?this.bottom[t]:this.bottom[6]},GemController.prototype.getShadow=function(t){return 0<=t&&t<=5?this.shadow[t]:this.shadow[6]}; \ No newline at end of file diff --git a/GemQuest/GemQuest/__loading__.js b/GemQuest/GemQuest/__loading__.js deleted file mode 100644 index 627a013..0000000 --- a/GemQuest/GemQuest/__loading__.js +++ /dev/null @@ -1,112 +0,0 @@ -pc.script.createLoadingScreen(function (app) { - var showSplash = function () { - // splash wrapper - var wrapper = document.createElement('div'); - wrapper.id = 'application-splash-wrapper'; - document.body.appendChild(wrapper); - - // splash - var splash = document.createElement('div'); - splash.id = 'application-splash'; - wrapper.appendChild(splash); - splash.style.display = 'none'; - - var logo = document.createElement('img'); - logo.src = ASSET_PREFIX + 'logo.png'; - splash.appendChild(logo); - logo.onload = function () { - splash.style.display = 'block'; - }; - - var container = document.createElement('div'); - container.id = 'progress-bar-container'; - splash.appendChild(container); - - var bar = document.createElement('div'); - bar.id = 'progress-bar'; - container.appendChild(bar); - - }; - - var hideSplash = function () { - var splash = document.getElementById('application-splash-wrapper'); - splash.parentElement.removeChild(splash); - }; - - var setProgress = function (value) { - var bar = document.getElementById('progress-bar'); - if (bar) { - value = Math.min(1, Math.max(0, value)); - bar.style.width = value * 100 + '%'; - } - }; - - var createCss = function () { - var css = [ - 'body {', - ' background-color: #283538;', - '}', - - '#application-splash-wrapper {', - ' position: absolute;', - ' top: 0;', - ' left: 0;', - ' height: 100%;', - ' width: 100%;', - ' background-color: #283538;', - '}', - - '#application-splash {', - ' position: absolute;', - ' top: calc(50% - 28px);', - ' width: 264px;', - ' left: calc(50% - 132px);', - '}', - - '#application-splash img {', - ' width: 100%;', - '}', - - '#progress-bar-container {', - ' margin: 20px auto 0 auto;', - ' height: 2px;', - ' width: 100%;', - ' background-color: #1d292c;', - '}', - - '#progress-bar {', - ' width: 0%;', - ' height: 100%;', - ' background-color: #f60;', - '}', - '@media (max-width: 480px) {', - ' #application-splash {', - ' width: 170px;', - ' left: calc(50% - 85px);', - ' }', - '}' - - ].join('\n'); - - var style = document.createElement('style'); - style.type = 'text/css'; - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - style.appendChild(document.createTextNode(css)); - } - - document.head.appendChild(style); - }; - - - createCss(); - - showSplash(); - - app.on('preload:end', function () { - app.off('preload:progress'); - }); - app.on('preload:progress', setProgress); - app.on('start', hideSplash); -}); diff --git a/GemQuest/GemQuest/__modules__.js b/GemQuest/GemQuest/__modules__.js deleted file mode 100644 index 35109fe..0000000 --- a/GemQuest/GemQuest/__modules__.js +++ /dev/null @@ -1,45 +0,0 @@ -var loadModules = function (modules, urlPrefix, doneCallback) { // eslint-disable-line no-unused-vars - - if (typeof modules === "undefined" || modules.length === 0) { - // caller may depend on callback behaviour being async - setTimeout(doneCallback); - } else { - let remaining = modules.length; - const moduleLoaded = () => { - if (--remaining === 0) { - doneCallback(); - } - }; - - modules.forEach(function (m) { - pc.WasmModule.setConfig(m.moduleName, { - glueUrl: urlPrefix + m.glueUrl, - wasmUrl: urlPrefix + m.wasmUrl, - fallbackUrl: urlPrefix + m.fallbackUrl - }); - - if (!m.hasOwnProperty('preload') || m.preload) { - if (m.moduleName === 'BASIS') { - // preload basis transcoder - pc.basisInitialize(); - moduleLoaded(); - } else if (m.moduleName === 'DracoDecoderModule') { - // preload draco decoder - if (pc.dracoInitialize) { - // 1.63 onwards - pc.dracoInitialize(); - moduleLoaded(); - } else { - // 1.62 and earlier - pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); - } - } else { - // load remaining modules in global scope - pc.WasmModule.getInstance(m.moduleName, () => { moduleLoaded(); }); - } - } else { - moduleLoaded(); - } - }); - } -}; diff --git a/GemQuest/GemQuest/__settings__.js b/GemQuest/GemQuest/__settings__.js deleted file mode 100644 index a3fb7e0..0000000 --- a/GemQuest/GemQuest/__settings__.js +++ /dev/null @@ -1,21 +0,0 @@ -window.ASSET_PREFIX = ""; -window.SCRIPT_PREFIX = ""; -window.SCENE_PATH = "1904849.json"; -window.CONTEXT_OPTIONS = { - 'antialias': true, - 'alpha': false, - 'preserveDrawingBuffer': false, - 'preferWebGl2': true, - 'powerPreference': "high-performance" -}; -window.SCRIPTS = [ 158042745, 158042743, 158042730, 158042727, 158042737, 158042744, 158042709, 158042710, 158042756, 158042742, 158042739, 158042733, 158042731, 158042871, 158050750, 158486655, 158486658, 159521138, 159521145 ]; -window.CONFIG_FILENAME = "config.json"; -window.INPUT_SETTINGS = { - useKeyboard: true, - useMouse: true, - useGamepads: false, - useTouch: true -}; -pc.script.legacy = false; -window.PRELOAD_MODULES = [ -]; diff --git a/GemQuest/GemQuest/__start__.js b/GemQuest/GemQuest/__start__.js deleted file mode 100644 index d519ed7..0000000 --- a/GemQuest/GemQuest/__start__.js +++ /dev/null @@ -1,228 +0,0 @@ -(function () { - // Shared Lib - var CANVAS_ID = 'application-canvas'; - - // Needed as we will have edge cases for particular versions of iOS - // returns null if not iOS - var getIosVersion = function () { - if (/iP(hone|od|ad)/.test(navigator.platform)) { - var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); - var version = [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; - return version; - } - - return null; - }; - - var lastWindowHeight = window.innerHeight; - var lastWindowWidth = window.innerWidth; - var windowSizeChangeIntervalHandler = null; - - var pcBootstrap = { - reflowHandler: null, - iosVersion: getIosVersion(), - - createCanvas: function () { - var canvas = document.createElement('canvas'); - canvas.setAttribute('id', CANVAS_ID); - canvas.setAttribute('tabindex', 0); - - // Disable I-bar cursor on click+drag - canvas.onselectstart = function () { return false; }; - - // Disable long-touch select on iOS devices - canvas.style['-webkit-user-select'] = 'none'; - - document.body.appendChild(canvas); - - return canvas; - }, - - - resizeCanvas: function (app, canvas) { - canvas.style.width = ''; - canvas.style.height = ''; - app.resizeCanvas(canvas.width, canvas.height); - - var fillMode = app._fillMode; - - if (fillMode === pc.FILLMODE_NONE || fillMode === pc.FILLMODE_KEEP_ASPECT) { - if ((fillMode === pc.FILLMODE_NONE && canvas.clientHeight < window.innerHeight) || (canvas.clientWidth / canvas.clientHeight >= window.innerWidth / window.innerHeight)) { - canvas.style.marginTop = Math.floor((window.innerHeight - canvas.clientHeight) / 2) + 'px'; - } else { - canvas.style.marginTop = ''; - } - } - - lastWindowHeight = window.innerHeight; - lastWindowWidth = window.innerWidth; - - // Work around when in landscape to work on iOS 12 otherwise - // the content is under the URL bar at the top - if (this.iosVersion && this.iosVersion[0] <= 12) { - window.scrollTo(0, 0); - } - }, - - reflow: function (app, canvas) { - this.resizeCanvas(app, canvas); - - // Poll for size changes as the window inner height can change after the resize event for iOS - // Have one tab only, and rotate from portrait -> landscape -> portrait - if (windowSizeChangeIntervalHandler === null) { - windowSizeChangeIntervalHandler = setInterval(function () { - if (lastWindowHeight !== window.innerHeight || lastWindowWidth !== window.innerWidth) { - this.resizeCanvas(app, canvas); - } - }.bind(this), 100); - - // Don't want to do this all the time so stop polling after some short time - setTimeout(function () { - if (!!windowSizeChangeIntervalHandler) { - clearInterval(windowSizeChangeIntervalHandler); - windowSizeChangeIntervalHandler = null; - } - }, 2000); - } - } - }; - - // Expose the reflow to users so that they can override the existing - // reflow logic if need be - window.pcBootstrap = pcBootstrap; -})(); - - -(function () { - var canvas, devices, app; - - var createInputDevices = function (canvas) { - var devices = { - elementInput: new pc.ElementInput(canvas, { - useMouse: INPUT_SETTINGS.useMouse, - useTouch: INPUT_SETTINGS.useTouch - }), - keyboard: INPUT_SETTINGS.useKeyboard ? new pc.Keyboard(window) : null, - mouse: INPUT_SETTINGS.useMouse ? new pc.Mouse(canvas) : null, - gamepads: INPUT_SETTINGS.useGamepads ? new pc.GamePads() : null, - touch: INPUT_SETTINGS.useTouch && pc.platform.touch ? new pc.TouchDevice(canvas) : null - }; - - return devices; - }; - - var configureCss = function (fillMode, width, height) { - // Configure resolution and resize event - if (canvas.classList) { - canvas.classList.add('fill-mode-' + fillMode); - } - - // css media query for aspect ratio changes - var css = "@media screen and (min-aspect-ratio: " + width + "/" + height + ") {"; - css += " #application-canvas.fill-mode-KEEP_ASPECT {"; - css += " width: auto;"; - css += " height: 100%;"; - css += " margin: 0 auto;"; - css += " }"; - css += "}"; - - // append css to style - if (document.head.querySelector) { - document.head.querySelector('style').innerHTML += css; - } - }; - - var displayError = function (html) { - var div = document.createElement('div'); - - div.innerHTML = [ - '', - ' ', - ' ', - ' ', - '
    ', - '
    ', - '
    ' + html + '
    ', - '
    ', - '
    ' - ].join('\n'); - - document.body.appendChild(div); - }; - - canvas = pcBootstrap.createCanvas(); - devices = createInputDevices(canvas); - - try { - app = new pc.Application(canvas, { - elementInput: devices.elementInput, - keyboard: devices.keyboard, - mouse: devices.mouse, - gamepads: devices.gamepads, - touch: devices.touch, - graphicsDeviceOptions: window.CONTEXT_OPTIONS, - assetPrefix: window.ASSET_PREFIX || "", - scriptPrefix: window.SCRIPT_PREFIX || "", - scriptsOrder: window.SCRIPTS || [] - }); - } catch (e) { - if (e instanceof pc.UnsupportedBrowserError) { - displayError('This page requires a browser that supports WebGL.
    ' + - '
    Click here to find out more.'); - } else if (e instanceof pc.ContextCreationError) { - displayError("It doesn't appear your computer can support WebGL.
    " + - 'Click here for more information.'); - } else { - displayError('Could not initialize application. Error: ' + e); - } - - return; - } - - var configure = function () { - app.configure(CONFIG_FILENAME, function (err) { - if (err) { - console.error(err); - } - - configureCss(app._fillMode, app._width, app._height); - - const ltcMat1 = []; - const ltcMat2 = []; - - if (ltcMat1.length && ltcMat2.length && app.setAreaLightLuts.length === 2) { - app.setAreaLightLuts(ltcMat1, ltcMat2); - } - - // do the first reflow after a timeout because of - // iOS showing a squished iframe sometimes - setTimeout(function () { - pcBootstrap.reflow(app, canvas); - pcBootstrap.reflowHandler = function () { pcBootstrap.reflow(app, canvas); }; - - window.addEventListener('resize', pcBootstrap.reflowHandler, false); - window.addEventListener('orientationchange', pcBootstrap.reflowHandler, false); - - app.preload(function (err) { - if (err) { - console.error(err); - } - - app.scenes.loadScene(SCENE_PATH, function (err, scene) { - if (err) { - console.error(err); - } - - app.start(); - }); - }); - }); - }); - }; - - if (PRELOAD_MODULES.length > 0) { - loadModules(PRELOAD_MODULES, ASSET_PREFIX, configure); - } else { - configure(); - } -})(); diff --git a/GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 b/GemQuest/GemQuest/files/assets/158042711/1/click3.mp3 deleted file mode 100644 index d82a03c3eae7f759d7aa84081d5b658b8b920b0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7670 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 diff --git a/GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png b/GemQuest/GemQuest/files/assets/158042712/1/SoundOff.png deleted file mode 100644 index eca33bfbf69bf7ee9822393a0a32aee2f03bff27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12531 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 diff --git a/GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png b/GemQuest/GemQuest/files/assets/158042725/1/SoundOn.png deleted file mode 100644 index 0f5002e534728642b2c4533f31f3a4f32977dbbd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17543 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 diff --git a/GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 b/GemQuest/GemQuest/files/assets/158042728/1/lose.mp3 deleted file mode 100644 index bf0b562e914c5b78bafda098816a50b75128a4b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9440 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 G=)VD%z=;h2 diff --git a/GemQuest/GemQuest/files/assets/158042732/1/cardFront.png b/GemQuest/GemQuest/files/assets/158042732/1/cardFront.png deleted file mode 100644 index 30fbf081d9718f625999b2eba192bf653513bc1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18416 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 diff --git a/GemQuest/GemQuest/files/assets/158042734/1/circle.png b/GemQuest/GemQuest/files/assets/158042734/1/circle.png deleted file mode 100644 index 435ce11dfb4dbfd3bebf7fd5f9bffc14c92ae3c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10317 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 diff --git a/GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png b/GemQuest/GemQuest/files/assets/158042738/1/Jalnan.png deleted file mode 100644 index 685488a9a347764c5929ec4313e32646bf986cf0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103866 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 diff --git a/GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png b/GemQuest/GemQuest/files/assets/158042740/1/UI_Card.png deleted file mode 100644 index 1f7be1f67fcb42c6ca4c4e260007cc37f992929c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3180 zcmeHKO^6)F6(0ML$PSVZiVyxt+-ZZbv1_{ix~po??9$!U9c}O^LSAe+Hg;;ds&@y? zOi!kJHM2VU5_AZb4o(mVeDEQc5Ry}j<*W`d$Pi%>2W(7YIX2ii#KAaV2*ij~@64{0 z>{{7NAcqX}ba%~r-}~P8UOj5g96S2${deAbXQR>BzjQ<%xAzz9b!p#M?Dyq+URbcV zJ4Q#IDjSUhuh-XYFFtbMKD+i>Z}~)ZqVrfQD+W!ai>_%-2P13UXdGUgj#PHiR8H5d z^oDKs(~Fl}r>EQQlYR$wMzLA#9XUNVkDoreoSiuj1-C);jV2Xsz!jyZ8LHjdv6K!zxHm}sJaLJ~acV2FeVxrYdVs0D+T z&z$+kwb8~pZylHEJeGZHyQ@_-YI)vdGHFgovly>wplw5J=q)TVp2X_GnzXXsVdWUF|=Ak0Weuc zehUd(xJRJ-&Ol^0NN2$ku8lYX4c=>LRlk+iJEn<62{u1Fka!j8A8MS7mEux`@3yyrC@}LW}q8xCMaX^%xDeO~>vfOoU#Epx7 zG42%Fs!Lo)XRW*#50ven-axGwZ!}z~yV;`KEROU_Te|i6{&?K{VE)waIh#$_Qd!;W zZ8xinY_vOH?(L%9-gwSnC#%MS-lF(3v$Dvmi5i=5#VY+Do6Gw$@})X;YwCL|{C|=9 zT-Iz=4OfgEoSs`Jvf~vTRjunZmz3Y&Si+y%C;a25XM0qGa6z9Wx@#x zeF_;9C`~0}K{$)m@7?ggVVH)PA;MsctYyL>PKkh=CXwJtveSbGX&geHGK3>31?HFr zoXaGTghgqC#-SfUw9|uAner&%6p09NiDXIz4rLhP zfCo{EcX|jCONn7Du`hjLkp*RG%x%&0Bj3X+gW zpgI>K5lk$fki`Ka0Ss^|c6uZ>bHSpRN{FN-l|Wn51g19PADqd6hQQU$)& za5l(zZV14PaAE9N#DUr?R?y{n4zmCtgEP?0DFKRh2_Sin8B|PXhVB)MVV@~PARyh` zj#X#}qYxSaMhPKM@ysf-S1i*ttc&dESDG+jJ68eDi~`UIrl6&mWoEBfIn^-BQ3kA+ zJ&f=g)k+93(wh6m=Z1D~!rI*Bv(4(=dRK2+-gE@n8WHwfQ$KDWsO-!3k<1M3I2qdm z*V%jSyVz*l{=||Dm!}v0`qnRhbnv#XC%-EWf_Hy*?v01^N8fq-?tc8r?SI_&_7hp> zYlogc`=>)MpL_Gn^{da0?z;Nta^u$<8&|JfzH;HK*FRk#?_7TM+JT>%^_R{+_q5lY zG@skpcIU|C<9B-oJMJz03P2zbHTa*1@~ZPv3Yw zKJ-oe+1WEceC)9P|I+`o5}%B|_v80TdF}MRi{;{*SJwV=_a|?C{`V8_{Nc(o`Ntcd k-+StV1@aTy3D+AhKKzXgocn$KU!t*;9F;$hzW@9`0mN?{a{vGU diff --git a/GemQuest/GemQuest/files/assets/158042741/1/win.mp3 b/GemQuest/GemQuest/files/assets/158042741/1/win.mp3 deleted file mode 100644 index f180be695cc1716b63cb6d9284e236da042d54a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7040 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 K04p>dBL5EzG3f;W diff --git a/GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png b/GemQuest/GemQuest/files/assets/158042747/1/Layer_5_copy_5.png deleted file mode 100644 index b7ba6c3db82762da0233f3c617202ff0f36c6bde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 662 zcmeAS@N?(olHy`uVBq!ia0y~yU}^@k(>d6HWVMQiF;KwS)5S5QV$R#Uj$JJd0t}AX zH~-h~Y}Su01qO#1D9YdDuR3zYfZ@RO z**pKIZk+7M&|qN5!62Z9T{YP7&QV1a2f^mu+jq~OdAs%UR|bZfduQ(KJN)jRo`obv zM1m~Z@Yv+z$;?v{3=QY4eR=2OP_^pyuDJCcDu=fG3Qz#1D!$YR&op0O1}z|)1BgN3 RQt)ID<>~6@vd$@?2>>X;sv-aY diff --git a/GemQuest/GemQuest/files/assets/158042748/1/up_Money.png b/GemQuest/GemQuest/files/assets/158042748/1/up_Money.png deleted file mode 100644 index a00694c1729965580276d3e19c589ec4952d8c14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 660 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 diff --git a/GemQuest/GemQuest/files/assets/158042750/1/Ok.png b/GemQuest/GemQuest/files/assets/158042750/1/Ok.png deleted file mode 100644 index 1c8e6a7ac2e59c918af90279a328d55ff2cf9dae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4799 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 diff --git a/GemQuest/GemQuest/files/assets/158042751/1/Clear.png b/GemQuest/GemQuest/files/assets/158042751/1/Clear.png deleted file mode 100644 index bad0c3475fb64aa913ac6975631bd442bbbd4d99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4780 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 Xo64~A*F1sSpvd=h^>bP0l+XkKrD@5p diff --git a/GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png b/GemQuest/GemQuest/files/assets/158043146/1/bottom_2.png deleted file mode 100644 index 54f8d316e4045900c6c25f28c3b3425a5338d24b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1421 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWjzy0M&bL8+`0z)8Ui)9Tv)EaaqRkq84X#UPKcb+WmU-wKR+Vk9cyL^?K@qhUkDvZ8Qy5sdJ zcG7FleO^T$en_SrpYzFSlK-SVZ@AeT{^yvV)Lwl)+A~kB(*ERhcYhn(PoFzgdM6NN>!0SFruhbJhHMSJyZ2;$NSx5#zSV9k zBSX)l%?pn@PtaGbyvW92&{gbtZ_c{7TqcHN#dRE?Ub8VY1nxCs`B^E=a9~B8MAM#J zW(J9?*RFi$XLu}}!l0pWf+4_R0^@=P1!f0EN45s0CLRV>7D)y!4kHE;fl&pc;XqD$ zNZ|N%z73f2beB(l`K6DSA;AVnFMnCHZ}S#lf=xHOUukgnp6%9rU|KwX?%m42FTW+_ zo6Yo-zro00mY?zAT2g-5k11d8z1*yx%fK+(+@xYt-P_FUjnj|5EAD>-6fxdXo>9=Z zuYHe2ZCX*$_bHML3CwNJ_}<3GXO?}LbbgNA?4RG1zQ6zTvQ$L@!2yRxct06lBRhC7-+H1z+B4Lrf`27FqmF_6L|6-=>NsP(l|cxg7R-3 zkK?{sPo~K-B#7Aa=*l(KOn71o6xX=t`>EjXt;+?|YmV|UYzPbwj7&pSY_ zVEmd})h{w8)O&yOo7C-@cZ-Q(Uf05n(@;~Chd%6 zc+jaE&YxF1`^m3Y{#Oovj;{Co#4hqHRLfzFeK)W$zopr0A}^hb^rhX diff --git a/GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png b/GemQuest/GemQuest/files/assets/158043147/1/bottom_4.png deleted file mode 100644 index 982a48096b6b22b8dd925eeccdb0e44a7c67b4f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1432 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWl7xYRN`YYbr^<7ZpU}SkB#@I zd!Lw-co_JPU%25v{p{Sg^Ag|7e%kG+xAO->fkN4A>pQytE8A-vdl(-ah>bFiq!ahBIZ~ye!-P=Fk-dkqL@E|^FuH31Q zHy_TKvp%(UVr_oKf59iQue%>ccyD_4i}`@_v-(JyW{d=mPx@^P4S{zhn`#b&@~pJ; zg#Dn5{pz&hiSS%t=G|q*@^iAv^|wIgkGhPH0#B?x?`;9){9cvWyVu+DmY>FVdQ&MBb@0ArEgSO5S3 diff --git a/GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png b/GemQuest/GemQuest/files/assets/158043148/1/bottom_5.png deleted file mode 100644 index bfab6244b3fa354610554f586f6fc758010f3451..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1416 zcmeAS@N?(olHy`uVBq!ia0y~yV0;2(pWuxzv!K~)7ur;pL(coU&u_LpDoL=)cz1x*^&T6rC zUh}Cr>nrA^OgfuZ=2x`u(b=1Gj3nN*ckkSM#&LZ81bdI7qbJ!L*4{8F-x2liGuO{a63hp##YUR{&^U4UY?S;>1_rl} zA1^#oJTZN;O+GV&#L=HB`99bC%@`RT?=)cf8OqFXU`3o{)1NiG3<)9Uc^&U7#2_M&!l0pWf+4_R0^@=P1!f0EN45s0Q3a#nKvsI-ar}2u zfWcr@^UD;ozX#bE4CbB8`E|Es;|$pw3=GGNO6Dry&J3RzvsbU_X*}@ z|9>bymt)v=pgfYMxgvq%Q-2#nL*QF}$9>trjC}R3;)(mWfZ6-&Re>k7&44m@Wt#p( zPP$zNWZsdCvSF#TKe-zuzGw22>1UJu4~Kp-1%_W(Y_$20{PT+Y=RXk!acg$vy`T8l z(az^n*(7hzyqio6^Ewu8oIZKaR-pJ#PWN5&o}B(VTVJix^5jny?%fOrlC2}|@Az6e zN&0ntApiILzp5wSbA1VMc<#k#%+-&^GSFd*F&6BI&*FR^8_SDmh&sVkF|3{YLL(V(Zos*v& zS23SdGyBPdm;N*6ewa9YQq8m{qUtgX|2ALtjEmlP&$Gz-q`T)n%YO$iC)?+%{4Dv& zX2{m?JUQdd*VJP3Fn5c()<2$;R{Pm8tU0=B=i#fL=7*n{epG_t+Phbq4!S$a6lDyw(ZY~f^(IDb^}M7|UQgWK0*0#C$q85kB_IE)xX1X36@6h;+{h66e2 z;ef!C`#g*ci>>DPExQ~KOnQ%J`Yhk?lfL=qLSXW33C@5?_|?o|R4Y(<&h+qv`4 zJ@3AmVzoD)ogrfX!h^RzAAR#e@3r{1b8l}jFkH*e_>l7T#^q}@6Yt(N_J6~`@Y;Aw zc}78>eS1yT`!^}+<>z@AHn2Gtw|`sLXJTD<;&S!#OC$M^32^A8sf|M_=fav;NpeBbohH|ON0XQxm6 zSyT9k^}T)59;5m4e}JX`t+SADF!} znHeOmo>e>%uf8*xok8NLzjJrHg1pMl3!oB!f09j%?KhJc)%eZK3~R1#O>O@FP3F^a z&wX2f+@s;AzsXt3Jvr`q&%4O-WNtLWfnr0GZ(ftir@yr|vVQ1seR9qAn$JsB)~oNF zkaAg%;lmle>E?NVCp~6@vd$@?2>`0v&SL-o diff --git a/GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png b/GemQuest/GemQuest/files/assets/158043150/1/bottom_3.png deleted file mode 100644 index a4b2635d6096ac88f4e8dec4592bc8de91ac89c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1430 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 a2mk;800000(o>TF0000ng000N*Nkl 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 D+OQTa diff --git a/GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png b/GemQuest/GemQuest/files/assets/158051377/1/shadow_5.png deleted file mode 100644 index 1ec849f8962f5fca8e61cfe37135e050c24087ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2063 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 V-Y`;C$pejt6c!X7*btDI{U5Y$*%|-< diff --git a/GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png b/GemQuest/GemQuest/files/assets/158483964/1/Asset_2.png deleted file mode 100644 index 633c078e634ce166327a99177436f250442342af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5224 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 Glm7y5mDFDV diff --git a/GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png b/GemQuest/GemQuest/files/assets/159797215/1/gems01-1.png deleted file mode 100644 index 25c7ec1a1addb68dac40be6aaf8c334f04e772fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9935 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 THFWzK@y$TTR2!#tH}Zb~<@k8Z diff --git a/GemQuest/GemQuest/files/assets/159797216/1/gems04.png b/GemQuest/GemQuest/files/assets/159797216/1/gems04.png deleted file mode 100644 index 0c3b10a6103e2c5f7a6e095161f524b718b7d7d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3308 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 Jx$~>u`!5BIEn5Hp diff --git a/GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png b/GemQuest/GemQuest/files/assets/159797217/1/gems03-2.png deleted file mode 100644 index 70c1356612c94ff804abfc734f1c10bb0e3fefc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11145 zcmaiacUV(Tw=ReRQZ1nLD!m0l?+}WhAV}}V5C}p*2)(K_rHWMP0qMPWq9DB&Y0^7L z553;)?|k1m_mBIXo9D?hduHDCu6JgwH9I@WCoN4?QX(2692^`{wWmriad2?0fVU|j zJ}`38K`{d~)XvI=&N>cO&TddAIF5p)!)rK`8WL&^e+h?LdN_8$rEzfZIBawcoeedf zOTrwG{LsG`es|bJA0I*y9~=eypq86-(dk3rhg#LwlXaL zCCX4kiwWZ31ZR@q7vzJ1K!QwSz?HD5khp||n3xzZlMqMP zduOOSpFN88-waA{6wJxyt+S1TJ=0%C=xYZTXBiei?SCx;`S!nQ?NR^QDqzzD+@Ws; z1o=UKm-TO;hQ|L6MI!$jjdFeo{~x{oPhym=$6L6-OE}8G#R&!k&x-Z0tGAL6CpgsE z!AaM_!S3HXsfBQGc0eH<-ZBY^@C!0=8raxdI=G>@{xQ(dkW{lrIYaGXa5W_v7J!1^ z#>P@oNCF}vp(G(BAq)`|6jWALfCz&jDq^A{KwnHmSmocgN)9j=B;4Nl-?oh`4;f31b4D=gI6(g5{*F$Wy5HJp8JejM$OXR{KJtSW zer32Gntn(*rlE|tGL2}PqMr1g)w?%_3{yYwq?Z~Lr6P9l0;tnXtw@==VIC=z%w&M* z^e1D%qC!9C4Az&t>+b`2C&O3D$8Du_^iybO4yIn5R@7THjH(f>)S?_NFpX;jRZev> z3JY>&nIR$se}5IG#LSnpJ!Vo*kJCZ|dS8X^E1W;!w(@y2Lre&k_d}>Ok(lVK8HsTzWNR(nBC!3Iw*uPn1Malda9g54MA ze`3-^+1zO0xqvkXZ-wj6w|ccM;2L58yw_V~J9MIVKK=n#rjAs z@*N0L{Pgp9<(^j>)F$~kpd{UStm^Qq4yV76E->kesBka}#oP$S`Lf>yR_HV2s;x6M z&ClvXcF(Hw_SuVNEoLPS%E&d>TP-9=Rn_8gxUpphFx74qc8RC^S4Xn$`!l zqo|Vv;Sx0N@&@s&t_dKgwW&AN)$4qk_K&MSh6v@ZTvH$r3)4WH(0quvE#@^h4jAD* zD+KX@QR<(0NlH1nufItN!QUblOEM#h-AoXu+HHWTyHLbJFMCbd@o!Ajgi)p&d-XMj zQ}A*?MF*mFATvHdQ*3AX7_WsSj~U`IklIEIk^0gBRKwFd0vnDajta>#cuc*6;su4` zzT5O|UtgeUaiBrj+W76p^$V(<^9b1)ARUCeB;$6Mw5+;a>w$nGLOfIw4aGDoT_2^~ z37{5wM~dm{pxi(KdbT?w-En6?T)}~^!ha1%&!!7=XtR~!xnvoCi6uW5(75b+n&>5~ zhygjPmwE1EXLr<3y?UYagsE2x?~jN5xgt*}Y6Dmgn%nv9YwDRnu?}iM51`BPG?JFY zn6iRG2Kot!PNpw^145KrH*e+J3Xm`q`zg%S;eJO~)!nGQ2cQ6D_rY z&v0um)cgJ8VbU%~cSO=UegL)itXH>kRu9>dp>zw$j+W=NT|M*0uiiXofX7$sN*1tG z#aAW%2U;58HAkeYog}172o{&ukM7wB8hhKg5FQSK90Pk|#u@7vA2s|D1gYi?1zREJ zdJd`TaiKxdyCOS|+biBYqDY_@X4v}OUL;ge%HJMHO2*2D$Q#8Ai9SwCV7EjI*UYWo z>r2O=6%&~8oaLchGoMM5AW|^^6y3zx7IIj7xwD}OR2ejAEW`ha?$1tg`W(5aztcXs zEO&Pt&&p>&fH69@g4>Q2tL#N!Jp$B4B|+ae{UOpx?3>n;+kmNj9Va6~S?Qdvg@jL@ zVc%eD&%-dwh zv{qT|&1v?aJ1r!A%-RRW{OU<-L=1M7*pVZL-&DNVl6*BOk@}zh{EO+PLLc1>A(C< z%??y#hcxyNcXj7^kNi;KS%c<NUYI zU^wy)8{f+B&I}^oHTxVNkFc}8b%4RSk&HdiVO4+6D^}JG(|WC2=o=p;8w_e4?6jV= zg@jT z4_8N2AzqKHg&Kj9X6!>W#@#hG9I41N!pdk~oa*vuMghmVPwDJsTxdSFvyLoTdaE=I zp5%$!N&*d<)ef0>kTY)XW}I%-XWpZgcl*}@i5O7(9jLlo=oJWm1&&Sn-AGIi96X-- z#v*kMNOxwDI`z+y?V)5BW*1Z(;H`UB33P2&W0Fm-D{sV%qLeFE8AO_MpKCOL3N7c~8?2)&8pc>%UYX zZ6>NzafB6a`d?o_sAask3`X5~E3N5f<5$orEu~5cGMSSZ z#{6%rlB25bz^&bRA<95qZjnjk^1b!mMlLB}H!>X&2vxA@eJcT<9TAygQd-}cJ-b}L z=CjJX@(C$rQ;B8O&likrvCN4%udzX7I4S+5$_Xfy4_ht}Wg{x2tkaIin0Nh|^w$uO z6f|W-c09;}%%e;o;21CGVF;G0nGhB6G(q|i#!ko6RG@Qy9UgqLZ-{LW`v9`;W!5Zd z$aB)xLm$?8B{#ov`}%@FDL_JJSq?O?fsKV}Pj*1O`WLQrId|NHz%A1hwnft9p;4#u zUY6$B0|}zHc3nMR)FcfQvII!rR=4Zpcef;Ll#>5m3>M^cO2w{cqJeu*6k$N!UGs;( zOF5hCr)(JC;H)u3dVk+PHGK09G~R0q@iM!M>9DQi|ti)?~qBB7*Bww4?_hcQ&w%=lDZLQl)!4BbzLahBC z@hLefBI2j=iAO{^T&Daa>`ym*xs|ta><)Mz zHZ?}R^&F@%YPhVrzxwF7t;F^0ti;GqKQ?m}>{?>mU!*xbT>D0{Dfn@O)i6Wo=4NVI zxHnU;9@_n&%*?kq?W%*pFW8EVC*|0}p4L}#!Bsh}APtr>dts0?AY>CO2%Bs6IaGx5 zJ11#0f5K`ZR0EGYg)wV{Ser=kjsro&a1{dOFxX8m7JMAgYCYdSDElr31mll(n;ez; zlX&N5Ul;=`)6wp?Y2BR{f5woV{AIkal(p9(nI2kIbiJZQ$+FoKv}H0Y_^wS#lSSw3x0;yMQXqi_&d&Wg;U} z=n5nLaP8FA;a6ZCJ^cy^wu=d;R*XMCD*LUC?7JD7R(qN@Z?K7!w9Q=|q0L_ZTA5eh zlF1(E`&6J#bt@80vhvNhH)w$6^U4w&En_7c9-?m~g{_LcK2|B<2vwS-7L)Q8rRer3 zIV+6p4D-OL9CCxH`M<<0MUUNdeWycYG6tEaPU+N6Z$8`BxtxOemN>&X4!XlUBqcZO z8#3ruclH5MZkPKdmf!TFk3w}^x;8(#&=o6x{MuCWevkI46n*)oy=PM)^ zReT$c^x%`|hhK|)*(>Ae-h?RzTgbohA;vPJufizDQi8=U&5jMrx^fTe>D2G3O~;u? z5jnnry`+B3br$C>S6L!8N)_ldOFgC2S;Pp{zutSqBkEE)`SwHB;~pJ?IcOU?#v#zv z7C~N9TEft_;toeHhoubZK@)6HbC1cL<=kc24 z0K!Ht$J|>-;+Lc-rgb>nHq}y=^k`*t?I@wXhZ?IyR@Ji0l%>_qu_#pC$6H!SnrLpL zJl6K%(c#KC*qs4?p?UE7=SFB(6Uc2aOfAU|13h94zq0qnsXB}IH~65>TJSJs!GP@L!L6y{AJ)G{=q2S4E!j_GOMweH_J~ zOMG;kXFgjaHA>qye$yF3s_>S#m;OojfvK;KGUlcNeU-Z6_Wj8(Qq04mk8A^Wj&t1M zTOPrQ*t$V`MbG=IWtZcF*J-iw2S=|FHyo7(C~r~TrbBV+WmAN*$k%Gt$XEf1QMwf; z9-n?#?Bf6rqHZC<;qt9`$c0t*Rg7^RCvwZ&&O`6h*-PMah__T_BoiijY3NwT-Xecf zs<*%P;B!f*Va$;!uiAP8!hg3Y&SIlDx;H1deP~~qm=G(zoPwrWS;D(COL^sKf|%>7 z^;=~-u;X+)KN#%q)cw9Z?wv3qSlhGl>@GAFKc&Sh<){Wym~bEf=kI3y)cahIZPl9Z z#{X_ouQmD(d?fkfZPwnIS~enN$)!V&9C^h?$atc%IbBjP5mTZF!Zf(28YPij4n(_r4*=i*aw!2cs*$UQ$#t0 zb4p@dt)&Cy`)KhfQuuH(r$b@Wr98bUbRY>+TR;Ze2>Zd>c@Mn$X&vo;L2+|4^EI?Q z;rC}wp46hSP-K5vN8oD3RDEh4{nL9b($oeD^^^9bkCqx@4XC5dcSWNv zz1lCI2W#1PUe?18b#v6BhQD1`PzLk7l9MCZ_DB1$RT88`V2Y&i39(9!G*z!z7kAq) zFJW=*LFAe0i95<}+SkXw&Uo~%)AjDFURpW^@H?Pmv zubEVBIC@q)m)jOBd;&$47?-*2FH-oa6jV3xk%x}>8thLIHWERPLl+B(8!n|!VB>lh zP{f^#jN1hy?FWUF7mwTyPuD1C-KU2g&kKluz18Jj**0gS7-%UJ!=9^M&lP>O@QTf7 zZ2QRO2C10CR4oQr$Zb`#bWH!wU%JI3s%)W{;Der=w#4TqxAvZy+A3giGsNhWEwc{I zJ8~AN+9cFWyrRrl@y%_DaOpqSP^O7#!zxFThZ{i0aD%HfOPWI9`wQr%AN9e3(wU@< zn6d@2sH*$f;qng0>DEEVq&!ZIGkj|@<@{*dInyQUKE5+JFM5Ju>IF+TLHefXZjF_z7ds z_AJeHB8|h)u^$K8pA30$&Mz5M55BH=^C*rpUFi3jQ6!!fO{MmU>>v9eJ^T~#tr2R+ zuv*VEuZLEB2QMYp2LIJgu%~b>P_@8Lu4HUJqud zamwI{w&B8K_RFocqDxRu>5gM)CX*Nc*(fP;(+0IWMP;5#yD}-aTRQjRL`Y&!Xkv`R zwdkgmOuD#{`?_)K@%MD*2Z6lBRN#W(TUi(`(w!tyUxGlP9n{1L5j;5(wDz8tBcA=x zho5}AMeRDx_Zr4F`&%Kx+|~u%C)3unMioX0NttaJ4)JHzC>NAfWhLA7XD10>_Kjl5 zx9mybp~NCnZf@w4B#%^SpJHgH!Xdt6UvP^}HXIx(S-kEXv-%OAnF{-KLKF)%N+V!% zP5NeU%xU%cCPNH%T6p6tbcuYrk=xrc#V?=qV;ll4cA0w1uk!;CpVO?Ac_){6?YNh3 z=j4kHJlW&5r35>cELV&@Pj0X|%(#?nnU+;qEYI1Xpl$Q;W2+n|-*eMbSh+F2sVn2T zsI{k;jv8oNKT*0q?Oomdmeck%dz>E%TSLtq`mA0ftQuJ> zYe>&zmOCyY24(G=R=T>$GshFoqxJ(8QmXblg`ZMC)?i#6Y#MED&9=FomNUdU?y}cP zG)v!KjRQ&b$0dok*9rC8^H({6X<{1A@AGh5NQ<}iyo%LekFHqRmS$3+i4}=X)4L2xOTC8a0f$tVwmVX$C1t6;0Va?n^AG$auF_WY+Rv zgw*ox37dYToNCf%h0m|M+(a*BC_d;E-c-tRJjy@bHw!-5J{Es;Z}lheKz5(hw>jX2 z)LQ)HGUZF){woe^_WeR#fq$sW{E*aXdo|5g_wm<{A-kL3pN=$Ro-I8?X`yoe6sE!! z@*MT-1+u0Cj21HwYwPZM0}?11M?W=FLM|EF66UC_Q35X@afV^-Ea7k_Q}%1fOU>j6GRCeA%s$AY!7i{VkEK_A*4nH`kI|)<#*s zeQD&fE^l~AR7uVEi<2SBW z1#c7(1}C-ZhH!#a#y^-EBW*EK){A}4o1+nQ)5PA%;1fjx&+ch*ZShqs+3p6|5q@UJ z|2mF1^OMDZh$FksaTmtJOvyu;ZqIgb-Vrg#y}fsw&7p)&fd<-IOwzU)Q|G0woTSW{ zg!`iuFDP1)$xz5zaeFgw_GbB6(YCZR3!jfpVsc>*i#pR%Z9tFcEv^xW7eF8$b;Mi6 zGS@885mgMXR+HVXYEF>nXIJ@SQfZ12>Yu7dr}=#wP>_Z7_Nd`MeGD9Mh4S`9+X4^n z!LxM77AA5iN14fXUFd(k+cbI!zXyvm8VHK>vE~!InQAxjdt+_H<=T{Or{*nH*Li?f zH-V3e?)lnLI5FRVS=bfiDSoY)yMeV274RrxF_3E9WhB|QxC<9PeO=~+3jCwESn%)} zMq<@^cM}q0{d2P1icm64K5G;2ERJ%&J-dlwtbI_KK6cXOmexXfMBP9tXa8(i-tuDZ z^kMvzCoVEg&=zHD_6*a2-}B4Ss6i@-`S|$Mjk4MuPPg|5xYKx3EIY7)Y_wE*s}lpX zZTt>S+$~!MV&`^-($xiWO%eph2cFxyjs2Jv|Ln_kjdEbbyME5&WMQ4zx>PF{#Lr-R z>a}iosl2~pB$8;f@vc`RS{f4BX4FuVL13(w-`zXXoA75v%T|@WU6)gZ*Y*W+LS|xV z&ZC0TMge4=yezD5khPhYJ5u%nEpYbWg&Um_PhlTf8ga^pODgc{c|!bqPU5U1)A3+V zhmT;~iAW*77<@N}TQIc<9}W|l{cEYr^~2ZmC6~w)2D8PjNv+M?>02i8k`wyS{ycd^ zNxvb@Ry<9TH>{4YSUgd7TQ3KeCR%B^f2Q|mU=AWs+}5AUXjU-1R$Lhui++;{vIVnp z%mtfxU7||LoVzVW!XsY(d3rSdkm~fHQnn>K4+l}}+QJJGq%YRP6@dsvHjQGWP@ zC{*7wp@a8!8=-(otKP4Uti>lGnHd8}_Y_o6wGqQLh_iu>|)TRv@x zbK3D8ZDa);Vc8RP!#Bser_=*RW$$adC&4by5jTi7cFq>lTeGfTq)t}*G?hIPw)};L zY$WKfCGxWeE`lg0*#$=Tj2`%Aop?M;8}aSCsrfmwHpSFytk@6svqOnza`9ZGlf+nM zkv2=_7un($3_o?rcIGlYkio`($oss$zt8p&MBe%F?0KXK)!bGpC-~wO)u!uK^!wOL znN-BQF{P*x^4eQim+N{gQJ>w2s6y0OIY%7Z@@a12I4L3OrdKqLea_f8b#d9apjUQ19=61tMb^>GvB>M;cI!lb z$CklIIOZU?bP~qpTNe{pr?HaJtvK%WHTsXQaL7n%5T;{`v$JFD&?AJEC-u@)@kFuA z%0ZT9ST=?564Ww1_p8`&`7oi)yLQ%WWgr<)dv)(ynn|~H8EjvmD}M-WKh$mxwMGLb`|R-O#xO9 zgx?)#>iLDciKdIW%9@oYlFO3OS?l;mph(kcEHvYx_etftd6%l9P3UYtX);VXywh^= zI`3|U>NCZC_8u@FD0U0)s7TaPGk*hXDVUeMWo_b$Ic_tm5MvBK(@rjdB#{92sgk(t{ZK-{I=RVZe>L<1%OWz z>X}(WGq=w{J8l zR&u~TvQn}%s*<$vL<^j^kJ$!VytTY}ydWI?nmzN9J0BMh?QZ#RXy`|3$hZvtoQo*($Mxsld-GTUW z-CFd2?7X=l&wbY!PdIylNs8>zL9R^Ev|@EYQLqw!zGL21)u8M{3-wg3xIVnql6&P& zvlyC^nOKn5^xjC}&X+jf6V2lv;bYz|_o)XsRWPMN1D>M&$@XHHr^)(~CNpo83l8h# zPM-8W>$5m>W^RoUeH5z!khi3trY&M!?DlM^OTzm&`oz3o7LCJ`F1EMQUw77c-m_}@ zG$!R;dn6=T5;$k_x^SsY?s@u6_h;l zr_Uy?mEb~yuVE*qoIE13AYAf%cS!tMGb5iYPNXc&vn8T!tORkz>q1*P*}y&4ctz&??+nBKTo zUR8%16Of-svL0`Qqs9m9UEA63axRrlQ`=ezRWE-t7`&Xki}el`8(kF2B^5l6@c;T_19X zlS6NRd5t9KM?qvzSh;;g2v6fUbMI`NG`;1!v`saxUt$+AB56J#8pvapEg1xp&s4~a z3nxKaVx*&MpXdF&mU9g~-_9_f3vRO?-TkPFv+kdtC$_6s3l#81-}kP#eJu(1LB6|= z(yN75i9!2#jGwi{)iz zuk;h4W1Q?P9a5z#D%A5^pV@Y#ik1(1xC4xO67;BNaaNGrcKf_A(pTwvm1L&$aSK&l z498$D;)>abB)*dGm;;NdvJ)y8@hikPa!IX9@l4y{%`-E7I=vS!6U3}W7l_t*j<#`I zpW&uIcb?xmoN$uxW(Qwk)U^{Hn>2)mMJRt-YA9NS#pCoxS#?sa=RPl96Daz2U<<#q zL|Na7HXTLn_qjdJn2s%S#*O)?+2K18@*#&D{#Hh+XLz(cz$nQFWju}cS|TyR7keRS z&c1>fx}$~blDz@UNn2%Ur9avblP}%+YFbIMPUR@nv&Z9 zlqV*-W@bIiNVPcf&1BMcn>fTbKyVQ3xu3rrBkG2ExGNz5&ZXH1@fKUgl$9#anHZVw z-rfF@ZPiOq^EBoN|K<5_3{$rcHo97F$qIJq@J_P5kURd5WlH{5% zRL(}9rA{n#l+EjN(@ABTlmROkM6{JnCYIbMY&Lv!XZK^A_Z<1;yS8wG6v3J-(^0JB zh7U)EG-!9-sbst@4R7?*mW$lI-Q~iy5x#n*o!k z)!SNPNWnGCkB~Q8vBVV-S`4raNoA<91zEn)sX~$`xq=|3Ccsr><_>98y#z*oGbHL{ zWm5Jdi1E?X!EGs=k@JI737$8JM_=%{9DS208wPPSqRJ&OL^ytx>d;iisqCNpGyrH& zWsWh(^$f@FB!BR_A!`3tUsS#XM(Ox!tm8+aZ=i<`#hNbvqmgqbs!ze{=n!s6(d2H^3;5JD9^MDq$?%UlYk4SE$h_l!6<3m(_0y6H!3@ zj{Rw0@=fAkvtBmnPf;c*Cc8;Tut*@74}FzENuZpctj#HBloy2CiQsO4maqRMEX-gq&{26U6&g9w#mB@AH zk!+Zqq`1_!bp{U`jy8bEX?#*2GuF0JvonD|+emSr~));KrOwA9TF>1|1kG zNDd`%36T(O9JoEFe`dcTl!vMAt9A z)k4UV_z{`U)GmqG9$7_Mnt>DU-hB6_`WAt2 zB_TS6p70~HMf57jP8{1mq$ zZO&^+w(zpw{q%6sv8Ax~;0K!zVfK;7!DDn&tUb=DTes-ijU~c@fu}cwnOnwwVn+4( zAFN8ww`N5#oQa925Tn)0#KFy<+hBU=*nx8bcqw5F@11qG(ArJMpe!3SmD0M$zg-u_DTkvbg9+^?A#ORPE7=3_7M)w2sl^b#^=H6!@?5{x#xdy zan3U>P}gfudO1!G2uMdfao$1KeT6l)`CJ-ASA4TBuF)wuoM{362c3lAqz<$EOitFEwX8i z8l5N{&?C;YYGlN6D4@tvF@P2=QQ+7@g{dq$!i6A;o5y#p}so01R+znubXFQdTTCFBMocTsBvV zBVh6Hv@C@z)_*S*iC$LA6_L;%e%~o9kIs=oxJXDY$&~TH&Evbmt)$dY8N^jcWYH2y zx@9HVX%dA*o+go^iQZTO+AUTfPLU|(?nVNOMGY6r6&N+1vzj1aPycL;&tLu7F zVag;Tv~kWVM-e_P`A5NGsEUJL%{X}E z$de_7pB|?%KME;gBUOqT-6D~5K4jgUpBB}9leRebnMl9K26OgAQ~$Hcv3#8EiXHL7 z%HCVk>;2#F=;&Y~R3pSN1X_o%CGEyrgV<^ZqAdwTW6~1e1Yaw91$Ehoz^ws+3dX4^)HeBnjU0Pn7&C?#z_Gw+Up;~KglXgy9S6-XY5|k%D ziSHAX9&J0)Iklf9|0qTnm=hr)yVgJcyhVvIKofKNel4kdQ|}T2B@vb9k%c$JOmI07 z=Ns;?*5dBv?W*3n!hyf+ankIz!OOh5b)D$#Yw|W3gz3jd9Qe;jBm*lwbyk?xJor!A zL_%*NzON~d7u13DTh{Z-PllPehi-+(#NU)n?q?}iX~L$z{BmvHEsiZ|q>0S{SdQnIK0#$0h^G zr=v2EsTLeSFm8r8$ahj zffQcvd(;Ui+pHV=vDKsN%FiQ-k?@4Z3czT$?;7N&eYM@Hm1C?{f9G#YzJ214D2f}( z5?tUm`x*9+A>6k1ozC0qG%8GfRQmOtJ_B8}R8+}d;i((o^$i8FYXzb+Ht&xvNxs~u ztdf=t>^S}2bc{B3h|DhT)^57EFXut+nezjP#KO_J3t_~44LMCQQ>a?q^6iF;<9J+Y zcUEUGbX@G&##fzw3EtTfhIIY0=^F zQ@rhaXL6OxqNnzzb5D*%R@DxcrgIG)AFvzU@3#71Ke6cWUo@UN#HGeW zwUy0gwN)Vs!L@PVBMMQ$YAX=AHXs_4miQ+4TG1=u+X_bT|4jaWOl|j;tPKh3ZH-Y? zvNIQpX1?=VyirL^P*;2h5}hDX1t;7R)Vngy1V8w57jm=-EOFu|>&A(?po;IUY;TWe z4``#gfiAOcLyHdIyOZS+qjvEd^kkpyd3GmL-BPhGs|CKdlQ*14M=Pxo1_|tAWi{o^ zrMJS=E(5%AYlBbS>IZgO7Y+0o{u;G&{&MA} zu;%k9xBlY#s1xHPU3b4|eOXzG8m% z@yA&F8Utmn0Z+RH#XviAA3$ZA`p{I47I_ZSEFZ6NgiPL${5DfV(ACjo(E%znTWkl9 zcN4=gl@1>8FwO*26OPJYsu)JY?}W@<+g{f&(}BjZEfv%Ju&WF`rmI!=w0&kq@BBeh z;uTUIw*DUcS~}0tp4N_(7fh#}teEAwtS!R#m2KmZ+YP?pE!Sw6(LaFSa_h=Gi#>(A z>^qa+YZp&%wI$6x!~2j8*%KE=oK9Vvoa-%~RIF{?ikjaqD(Nm6a?HbJwQ5iOH2A1o ze`2ypBCNFDNWSHGO72tNxP7`?7Xf^Jj5-8|a7G0ETu4&Ee*lqX B-P`~G diff --git a/GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png b/GemQuest/GemQuest/files/assets/159797219/1/gems05-2.png deleted file mode 100644 index 00ec076516cc83690f8dc10fb9e33e95002df556..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9587 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 XAB%pngWnx)89GF;qL_7|e>m_jVY0>n diff --git a/GemQuest/GemQuest/files/assets/159797221/1/gems03.png b/GemQuest/GemQuest/files/assets/159797221/1/gems03.png deleted file mode 100644 index e91162f8711796bb28662a81e8cf49c01c0ac697..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5602 zcmaJ_2~?9;(++|GWmBmjVHL!U?S()>C;=>+v@Awc76F5hK!PDOVGElW6sv4fQ4$wK zK#3xtKt!~Fk%|H@5+p#4ELt>3C}2TAHu*07+J67{pTGZmPR=_scjlS7b7v;^yl3`# zxhbzltw$gb%IBs7u~qkohXPKm-B zOg?Hd(5Hmq4ScOVAr5|4@mE#2frOC_m4A`c8BPNgrosVHyfS7W!B~Sz#<~a5yX$Yoc!n zS)$D$jJc(?sU_Oh8f$A|rT^z+06a3n$hP~PUH|k4IJ`kbOiZ+`xp{niyjeWjjLrx* zx4_|W=8&birKKs*FlDl$VnPy3qnL(&Avlwmp$tlN422%0zls=glpY&{HvrN8dmFUq zzhR@8f2Il~%{(C_+T6knTHV%Pik_bTzbcLPw>C3oKj}a5{-40i1FUG0`F;|U9?J*? zhetMCbro&v#2|&l&>08l^kaWza$f{JhR%$jN9$W!n_1}Z^rb|F(c_uB{xIxKgVM8kGAF@ z81vPW{U0a&mk5;4D*1Qq0_N}PCq;phXMozKtHmlI5Sy^>&U+3dh<_V+m3!npOa3F8 zFMqkiB*W3)V^^%jQ@PV9YLS=zHnPPAc}TD!;};our8vK1p;>dvlcA4jiHC1tFNn); z?@#JlDT*II*mLM$`QC=-F7(^H?A=`>Z?yxV`{9eG;q%F*Zg~di=|%ixQX`s~I>{Q! z^LALSMHJbmdMYC1&wLZAes8(^UD-((sQ38V^SApLI=-~g!{8b|?I z+xy$`q1XyDp>qkL)2$-sp@a0IbY+Dl8gf}?iH{GsA- z$(Ly4%5vxJDjBwB;yY*21@!015f`0qS2^^jmMNY_;>XzFJB{iJWX@Y{ypHwD^r{O- zhD%ww#0;*##!R+uYQqgeB!9C&sr&rgDb-JJ$8>p(7@%DoM8E=Wa0}llX(J3-E0zq7 z4)+ZmNKxGYL+ zYnlFZb{8l4Yfo$_^aO>K4cT@G#h&OwuEru;=&(1vWRJofJ8AOEC7Fl-P+U-@=S?EfizdfNtAG$<%8d`+K?d_(|DK$PD~396~Fzi7q2`6ThC z@uldWeH!okxX^QI*9bhumy04=uJh(mzFKB-Xj;6#C=b~%7)mHWVE}vIh`J{|nBLgi zk)bT`I81s@qrDj$RFBPk>jZVXp3a;)9>r4(AH zjQTguqEEeNDv$$yX(L+OBeW7S-76!s?t@+Dry*?i;9y&$Hw}K zGE^ET>x$JiQvsW=_qk)@&7y8L3cCc9C8NB}I;kt(&J|Y5Ac;?nPRX0SJR_|O-vBEO zwD3-e_w{S?-L(MsdWP_*_U#>=gWir1+N%D>h#k$wxX(&Yh?GM&S8tiQHjlUPcoDS(>`b= z`5SV$KiZuNy@vTTAh_KJjD!SNQ-;RmmS5Vu$Fl+tKhICcjYy+9O9iybAd{19Sw z-;P=t0es4C^Gqp5slSc4%4QAqOG*7lb}Nuy%y?9?UTDicBZod{k)Ort^+hpnd+J zSf4Xm*st-KgApCF|A2PWl0y$nrM}&kZOde25pRZ0{Z^k_dwteE=OJNr>D+5i+lu-x zj4YK^oMqh~P~90V3D(qGU{Hu7OLrC=&5m#>sq8|xctG93RnDehnFUd^SC^kHw~@cz z6w6(uNs)xgmLhJ{8SzbJHh1=cDK!&gH7Mb&1@TZ$CqJQA0`|tKGV8VIijN(<936G8*?a?e8P9N*JCF#1Ihr5q<**b9HzGS1dp`}bMdMR>!RLx zjFWYX0vUBQM6{h2(U9Ha2l^q+&Ww6ME5IE4(xDO+pm{E7;1ghis?o=iP3 zv-Qu$v$-ho2L4_x+mQ)gUF{yo$6>l;Ho_@grysP0+@#CEb>%C~hVyLh z)_M!6A??kYxC2Z%0gOo5|I2KiVtf7fjv(jhHC9v)EzV;xwGy0Fja|Tp+Iyit_RY0Y zUjV+unxIONJ)bXM*T@4q`BHyp=cH-#0qqKj3Y%;H8KR!RKrXm&3^=Zqr>FF!3gqKC zPh1`-Z|96!=)Dmt+S{nZpQ5u&Sj8G9{IB3oKb)5PV5GWZ9hv+*l>aIH+5B2GnrMhx z5Fq{7TuODU;c{5Jp8&SfHa-^TwPF*t2SU5B?1Xc*C+wLfTq5~LZCGZ?Oz4Y9CrXy$eBUaiZUw1&JU{?t>{Pv#ng`0F(Zu27^j4+j zADNT2fc-L5LolvAv9%rdU_VHN`ht)7Frfq-?W3qrf_& zrOd7`XDsu^HEvxlFIJ(X6DNuni+d@u))(ZhOh6a(8?k=w+_hZRLf(9_bDbo|KPX@R z&No+6YA%&4NP62t-{n$dmGhXfl^6xd{Y8C{JmH2q7uu>Nxz3r^jYN?nMI9i5*V4U& z!M3#R^#;WeK6Hwr|>= zEaSw(M8Y7`6~c;Vi~H{=i1mHLlS@JTtx>s&-dYjdx$^pKVpJ(8)Etb^a(-J;neSSr zAs)s5Rx9GxNI5Qt7?st}9m~Q98N)q+ZV>j#0`IBVv3)>m<{^k^`vY6*HH>iMVmU6C zSjlf7^igDW^1@{&ULpm7;hDvQFOjyAtJDcYPUNoKOjHljcKgWEI@$&}w$@VmJ*}vu z@N6PTdd<+5qF}FuOaj!`dXx7x|3psvB1{LxRGGeXAn`Qjad@0>pB$UTV`w>#*<26P zX(H-AG$M@E$~3;q=2Zbj-HU;`;Z=yw)&4#F6GYtyJ%pi`NSmsD)&vfCOV3~I0`v0$ zZ@7ogChGpsaY{{_XyEm6BP@G9yfB5Q4DDh`-g| zQ7B;!IGH$|S8VrfxU(^_t?z|qUk(uXmJe}Gj4t!%t3ft`8P}A^W(AyJ(CziU_cy<% zDiIg%L~Mfb=OZl~gvbwPObLph!8=7=PrAPo8naAw`j7%UwOr?hB4wdZeJ9KS!FK0; z9hMy_`{}9XydkG-_?b)nkfktb)=~rZxmX5i1DJBVU~r9tr*e_dwpR zg>el8Eu#KZz+up&EQ1}zu6!BfuRrq6gN>O>&hRdX5wbHeqV>SZ$oVFt!@Ba#d8g}M z^dbexmCA(7TA7SrE2SuB=-LHiXf{Gtsb_*W4@@2E>UQ>-$u=`-B70yuTF9FbBlzd~ zemyFHM~nM4WVbXfAwK34C+<(W;iUm-0W1^h1>(fbevR3akqGLjpGaHKkDpY3Kf29v zdFfDW_Iim5m_(sWJt{3Jwqm^`$0jg;#}V0?3y0ZpQ!xu>$my3n3#KmWEnj+RGi-|4 zG$Y@$vZmuX@At}}njl4qHK84jjmRI$O>~Fqx=92#`1^>`<{oPk&SCOlk*Nf0^^(o2 zVArRlKYZ1n;re=iP&>QcD90^`8thaOD~Su!V6#{vMTu4I6V}N8^HaMEA?H@2fpkC4t0LQJ`F7(eJ7pYdmK<4?ZQ?`f+Xc z(2v(!1^rS_k2KBJ8#PDN;PgHzZ6!^U>q|OG)Gg|z=PSd0p{i{WN1>4}%N>~$+S?R8 z9EMP=+Ca5tQ`OMGs24Klh0mKgm(}5`xJK;{++hN9Epz4AnE+y;jL+SoHWfjCnIy{k zSsLXR_1GHXL_@O+%UG6p+wyDFbbhoCdmda&VN)Wq*V$AJZb-^5JBu`9$xw~Z?>yA1 zOVIc{eeto|QZY!vG1UfWv)}pR}m+?Z+k>0L-gE-tqE&P&y}O^WAGfN z@|&cVO%Zv?>ciMe+Hn2or@&!_+P!3P*G(kTKK#oS3%P)ubBptby4kpRG71~#n0fVf zb)|)1$yLK2<2VvY4maos_27X7n=?sR>VNfVqXZGDKJJ zwi8fn1y{m@Q%Xk=YHet5y0$Z!?Hki_9C{~l{d&6=m|K`p zO~)bHZOiy4#21%emMp9l#@FY4xp#)mauI#oux1Nq^5CnaL1JN$pRPQlwBxqYmv15Z z4*{hP2-!LtX$Lc%l`7J0klAtxe^C9JvLuDj_d)ToFl^`Kf*prhR?;^kNBl4q*HWPg z&-=YGT9AQaxKAU|oNGeGG;zZ2^m(%s1TWh~6Q2GgQ-qO_pp|d*5Y%A}O?ahL6~X_# zQxiU3u}b&?V$+O6A^=#?nJLqR9dZ}AsR*S3J<|5$U-rgL6tAczu7Rw$f^fZ7ucoZT zKpR=5r$fG)OYP=J=0Yy-^jXFc;gL}_$D!rhZT+XqmA=5gF~4*jccGcJEow&=7oK@o zb9Y)BOqy_!gX=O$bj@XXtbXOqirf}N4daa34WBQcz^7FelAk--(-W~9&oP!~)hJfjWQ~2PgvX32OU(L%%;?*5aP$p7ZQyKYQ=P%39gK zIoMxEYq=H*h0+Pw;1h;IsnEdRR!w!VGu>%002ULzZ!|xgP2*?6Tq?>dnVm$%1TbMb zHH-=;3phVf$taYnP3o3tesoZv3x&M^a@)ZYGf&|&+$=wtiVoV0@n&{^+myl%A;^o)A^}v7DlNEC$Tg5ZkE99r!tu7f620VpIZf* z=8y%aJK*dgWm#W{K|%jFmC5{z&Etnr|MvU83iGxI(y0z%R31BnO98{9St(PcyLfY{ zFrUrc!e*y^>Ez}VHlNK)VW(ppo$PTKY*Z>MnVrd7GanEXZ)PMFu_(#3ZvC04Jh4_!L4#13qad6w)GQ$NYhQ1vuRguLxpg}E?JeWmt{=GHxN7QJukvg1 zK0R3Q!_g75x{MmPispL>j925EW_7n$ie0jISB~9%yy^YeK%B~IKeSO4(5>fm7HAF8WIZ1zl%XN6k z$g-pAcitx;aYd0J5$TOxa{gh-teKJgDpXN8 zwFy~KIK}n&bxSaHvDt4PL|Gmu58M90%uxOj$}E}+^>{2!TU6TxTP#*oL7QwfuF@!T z*%OxV*mvjP7PR~~IAJ7v!C}42<2hDR!t|3f;{JN<9)h$pXNBiscMExT`~hB6`^_`Y zD|;9G@@^J#Eod@zH(SLStxKBNra8LWJWJ<{KSJWLlk8?AEuP8IqP{Vt&~j@; z#x{JteZGK!JS?YU#kEkB7H_azm$#o{QgUUrG(ar6%xE{05eut3UX@%%%gL3dv}THN z$vRUx8ScJ&8vc&+a{Yaow~g;uWx{sE;bPjqbk4cfJa6V~K=7|?peQ2kG}^sS_bOyF z_8jsjCY(mgE|kgM-^bcXCl($wB1WDLm-)8Ez`@};Jzh5p?qpA&%9eeYb%cXMaxOey z-f6=R%lSRI6#AA*MVRG5qgN--zyAsj?rhvG${Q;=VH&?$np*s=gR`r3UhQ?e(O8(3 zm^1V)tkddecI!xto1XJ~f5g-v z5uH&-(J{VNJ{xjR+<#~?>EVz$y-ialkl)R3GVw3ydv2_HM{oS+tTRyWxHf#$wIvtV zk$t?O&)=#7>ZCt$;HRme9~sappbjK1=gn!}NRi&j)Yiv1)j+SbAg*gfjj=rK!{&uo6i2_h)jSZc&HI&Y zj=Cc3|Lss1z~g@`0C?IvTuYG}A!j!(yt2$;LARD-E;jZZD?UaxiHcondNmN4WAG5C za_v*T6M0AM#QhD9Qs+*!L%H)K8uJyL8&cWe+24QuozA=8mhe7aY^QZDICSV=cB5W)|HJ$wsEE!NLtPvQ=p zHlI0JRjRG9sU6ggRNxLu8&cfQkX_~9&=#l5J>t$Ag3x(&@j=yKi8 zdsV8>Sm8)UQxVCX(bBL{aqcoIz`5>^ZNbAKM!9RYf3)>H0#`krGR|GYc>6=l5x6`P zzVv=dWnoF?@%UqL$Pk#!x4~qD;mDA6PtjyQcqMF4tk{GM;fGCgXr3A!6}uj^ z%!LfVEUJxluHnNL3QdW}!<4u)rxIo{ukXn{`tZ-l8khF|$J6zw*vJ>zfiJXp7umvv z8`=aB<4N0=!U??dW;r4Xhu75PxbdFx}vmHSLxdJG(`;Rqkqnp?1&Ta z;NydMl-pYCnY@g{Q12TnSI<26*r4>1Oz_4%Y}cM+k9*+&gCRc3d5HJ;ZLLp$^tZvj8zHjDul&3 zB^e8l;~DMwf&)r`E?lHAy@YOiaLLSC>K|*9dx6A7pt&9wz`od?KSh0^207g*TBI0P zlE}C~WJO~zDqQh11h@1lNe2MwPiXG@NYsJs)zT0k*8uO{-i%uQp%e;Pf|jQgy<3pd zzqc;lR@z!CVyLJ5Vh-Tj5k8#wQ?d#!pS6%T!@HS5D%K@$`rz4| z?-PmmXGUd-qh=g+ zT2*)z4dmb9rH8eXI59FeKeayn)d?YcPBvVRREtdf$ShzO>}cSmT@*ZE1|2 zl3x#vn~ubpS+yCw+PFq?p+KNFBH*ak7!OYgt3^q`*(hHat^<5l9^guVi&IBJgWW#K zJ{W%g;Ec!{Ia6`lmZqok=wphq78JJnm)1IZ2(%`w}Rl5_chWIX(CwNKMoP+9St zv9Q?!n$~o#I;W+pUaK-aDmBy|2mIVC#q%vC^rMEuVePiv7zr?vi`7msHzIQ*VQQdI<|a&imE<`?Yrg zl|$je#Fx((NckU8dUQQ198B!K9;cP^&<*gXJEv?pg^_2-Hp+Y;sVG!5{=I<`M2ZN- z_~I+TGv7{P|5lkaDRlR(FwF+yKCCtm=Ct&L0fW3)PJ%->)c9ncdUn|`3HYfQ%BeVq z0^q7Fr$$MikHO0pQ~di1+`$kw*h=ojX~DrOyEEgod}4$Jq&nig{dn^omz7-a*w898 z70`fNKV>uvWqY zTE%z}N;jb!sp(T;YaAHX{N_OM70}}{;*n_K$$A5E;4V%}FYqD`ocD6)HE0lC7Wk#H(eRBy^y$BpyfFcqXP1pk+ZJF!bF7suX#hnR<6rIE zAS^K9Sl3}s+5>TSpb;a~2O5`%rH(+uN}`FE^{>$_y#j?Nh{mrQ#P|y$LCtSuWSeea z+^V}+Ni$kT9huju$9gc=;>W2hK@iJSbgj8k$JRX}F`j~qz#YxftLL2so zMmm(qz{A%BG-Un}qnyD?Y1y(74Le^-=x#|EMp}j*!GB^lZ8=!tC=MLp?EWz<&|o+Q zq`2VP{cY)dG0F$#lc{rl;5Oug$$b3&T=Y6gNUT==F=rWh?Wa?ad>?Ve1NMBvo{~40 zK;YTsBj3gA832#Z+y+j6D&EErRHaY5Ql_w4=s$JPotA&hY=|5e{mChaR_7%ANSW^f zxDSzly72&yWuyj9YO+G826SLgpB}0X*US(-j;9FYN4=3h(nNH0sRAR}^Lhd!EpEW> z13d&1-p4t+w*rM|a(7P)W-@C|R}DnN`XP}$H@+FeDe)xnq#-S8Uu$RO%oA@wHU330 zbCTBjYg_MZB$64?90lh=?V7WOa#?Ll*Fjlt^a^=3wCCDQO?=sSA;i{I0`fg@! zao=PGN)@G1;(KToDg{5?pq5ah186}(sILIlRQ~h=KEH$?Q7!?#!9L%u-?sPPf%VFt diff --git a/GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png b/GemQuest/GemQuest/files/assets/159797223/1/gems04-2.png deleted file mode 100644 index 765381267e4117fe8a222bf570914e6d3892de84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9213 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 bf=wEH<^nJ1@4Zb1^k!mkTE9Zq&#A~OD9b7+ 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 F{SP%)uaW=& diff --git a/GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png b/GemQuest/GemQuest/files/assets/159797225/1/gems06-2.png deleted file mode 100644 index 3b17f7fdf0509bcceb049e62cf000ea44d97d979..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9005 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 A`~Uy| diff --git a/GemQuest/GemQuest/files/assets/159797226/1/gems05.png b/GemQuest/GemQuest/files/assets/159797226/1/gems05.png deleted file mode 100644 index 3afdaba152aa01dfc9483508eab5fe3fba0caeaa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4707 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 CyDMA( diff --git a/GemQuest/GemQuest/index.html b/GemQuest/GemQuest/index.html deleted file mode 100644 index af096b4..0000000 --- a/GemQuest/GemQuest/index.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - GemQuest - - - - - - - - diff --git a/GemQuest/GemQuest/logo.png b/GemQuest/GemQuest/logo.png deleted file mode 100644 index bb25c2209d9e0fdc253040db119e431a6896ca38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2599 zcmV+?3fT3DP)%)?4ISzpFhga^Fw}`Bg&s|%RQ;j zwpp|M`GRz$Hw$N*teHhKXWBC{9eE}9=GuIeW-OoGlZ?t~sm~NSKgl!scN$QRyF5=P zNzTl48JAPimFBeNyiAc18JwQXpTm=M<>ZV{GnUJ4Sv?D6`XnRrexAwg|8ZOjq8Sfb zQ@Z&f1=EY_4)hfz6U`+`wYi&uugoNMoZAQr{w=*+*TZVj>2mW(LvH}ADRrG5Ot6Yb z({X!?h+l#YrGo2$-%EGPS7BFa=z{K7i!U6ZpNK>i&eNvv!SA3ugL_3foPxhg9dDta zqu2D9&J}>K{mmgZw3ZDW?rI~!s4|FJ&Y=@*NaNMtV4I!=wtBn>e7=9rEaTpioJk8f*C-W9>2;yMgBRh@d#g)615N19ja248v^B|qsy@cn#B!RE$8osxPO zWer-fN2yY>gLHE+7$Qxa&AXK>(+NeaH;h2uNY-o zu>m+hYPdqGE2 zQgC9oY4Dad>EVAFS)=nmmx6E2D&0H_Y%VQ(Nw)*c%P`U0O#*Fm2iUJ-@Nrv{25(jq zaF6uzXecY-iBNON+87+B@4@>g1*f+h{A@bQ@;#gAucJoOSgYKRv#^LIOrT&l>EU~L zTbs1#b#gKcY6!8h@|6wYiM{#LV#>B0wQ=zH+b zP;gMo!JkUOt;#*D;Gfd4+&`vWyQhGfrE=jirdHjfSH*Z39R@TFbUj^o#T1o-Z}(BX z2Cw|<=lV+z*8vAg>E#$>M(O2M;8n}@E%;R^S-FMa%QdNBdl9iX1*1(b4a@!Ej-=rG zo@Ksl#@3UTeY{s3yMi5?1z#>ff2b6EoYtVh+Z3Ep=akNfZf)dR;Fy}#^%KzLCYu}3 zTJTGhy*OX#*JAMNDOYD@`{ik6u+p&H4>tm8Zpd=e8ze2dRE+{WnQ!nwh2Z;p4D4Jf z_*spw+c@5cPIJ~;`D;wA*XwjhF^@--sk+AAW^EMwC|fJFy+d8CQ;CzM#o#Yj;FnT* zr~)t6sS^+B$!$`@KcQ1v_IEW~u8Y9JO@oiQeUIUOS|Rwjx@;r6JD1KnJ^$&@t8^dT zpw6|~$#Y6{dCH01zhPA4ZBw-v{7l9vu&k8MP(IG`Qo{v|R)V4CkQ)9CL#0KhF{0)M zpC1gVRKm9f&ly-D__ga4^fT(5sP5+@JYC~+jK;N6*F~M?StUCC%ltns_)je;Ee3zI z0xwH9uT{=o=G5Q>WV=TdxVz?h*7r63<+>+mw*&iB z3Vw1ggDsl{Ury&OY8>dDAicc3?)F)^>`j_Gwf(&TII&sqo!;^%tBbT8{Hh8}FiWo@ z_8HWj(PaSyM@t>|1{+8Vt_Dt(8V=Bbrz-^?ix`FP%++{YS)_02b!umvnWcyG>B4WM zrZ1MYql*0uHW3poCGAPU@XXM|0a+;f=h5_q{mP$S&SF`+n``8$-s4)}$t1~IX@!H6 zbmlLq#f1DZ$qHF6Rd^#uCYd2uq<3sG;<{d^JJ4GSLd7b4ZF_cLF1&d<`7AIHquG0E^; zklOqtNpeW`PZj>04YE^K%b7VXjrnc%NqhFo8TmiM{z{3^$1id>jGGB(v|&p}CsHr!uk%Z8aUd*+v^ z!m#X;$I?Il$kI(d$#3$f|1HutCD|ggCHY;Qg=l=PXjoIXNm~xeNvX=%Bwdqsk6+r4 zW7n4V_!ta+CrzBqWIe8ZUm^{h%5c11agQ&nhUODkerf2h!CIArZ*wQO zxXHN7&}E*YZ~txGdurFNbOCI)@(5>`<)yCk>%>3$8vMsTtm(exoCdCzx}K@T{4EDx z-gDqC1txXbpWZm+y!#cOxt4XPY`tgnlv;~vE4 zI`Fvk@&It0H1!&=gou4i1b0}W##DQ?F!g+E)fjQ}+g^svdltS0VVFDA+@K`8>v&sq)p&UyF#1bO2sZrr5Rm=ghLrugZ{2-}GGCjOFVle@w+g zYf=R{JS!)eJ#QyTzRL+YGh1cDES>o>b&~P>>0,n=arguments[1]>>0,s=n<0?Math.max(i+n,0):Math.min(n,i),r=arguments[2],a=void 0===r?i:r>>0,o=a<0?Math.max(i+a,0):Math.min(a,i);s>>0;if("function"!=typeof t)throw TypeError("predicate must be a function");for(var n=arguments[1],s=0;s>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var n=arguments[1],s=0;s0)-(t<0)||+t}),void 0===Number.isFinite&&(Number.isFinite=function(t){return"number"==typeof t&&isFinite(t)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var i=Object(t),n=1;nthis.length)&&(e=this.length),this.substring(e-t.length,e)===t})),e(String,"includes",(function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)})),e(String,"startsWith",(function(t,e){var i=e>0?0|e:0;return this.substring(i,i+t.length)===t})),e(String,"trimEnd",(function(){return this.replace(new RegExp(/[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/.source+"$","g"),"")}));for(var i=0,n=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array];i=0;--r){var a=this.tryEntries[r],o=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var h=n.call(a,"catchLoc"),l=n.call(a,"finallyLoc");if(h&&l){if(this.prev=0;--i){var s=this.tryEntries[i];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),R(i),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if("throw"===n.type){var s=n.arg;R(i)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,i,n){return this.delegate={iterator:L(e),resultName:i,nextLoc:n},"next"===this.method&&(this.arg=t),g}},e}function _(t,e,i,n,s,r,a){try{var o=t[r](a),h=o.value}catch(t){return void i(t)}o.done?e(h):Promise.resolve(h).then(n,s)}function g(t){return function(){var e=this,i=arguments;return new Promise((function(n,s){var r=t.apply(e,i);function a(t){_(r,n,s,a,o,"next",t)}function o(t){_(r,n,s,a,o,"throw",t)}a(void 0)}))}}function v(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function C(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:String(e)}var E=function(){function t(){}return t.set=function(t,e){},t.get=function(e){return t._traceChannels.has(e)},t}();E._traceChannels=new Set,E.stack=!1;var M=function(){function t(t,e,i,n,s){void 0===s&&(s=!1),this.handler=void 0,this.name=void 0,this.callback=void 0,this.scope=void 0,this._once=void 0,this._removed=!1,this.handler=t,this.name=e,this.callback=i,this.scope=n,this._once=s}var e=t.prototype;return e.off=function(){this._removed||this.handler.off(this.name,this.callback,this.scope)},e.on=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this.handler._addCallback(t,e,i,!0)},y(t,[{key:"removed",get:function(){return this._removed},set:function(t){t&&(this._removed=!0)}}]),t}(),P=function(){function t(){this._callbacks=new Map,this._callbackActive=new Map}var e=t.prototype;return e.initEventHandler=function(){this._callbacks=new Map,this._callbackActive=new Map},e._addCallback=function(t,e,i,n){if(this._callbacks.has(t)||this._callbacks.set(t,[]),this._callbackActive.has(t)){var s=this._callbackActive.get(t);s&&s===this._callbacks.get(t)&&this._callbackActive.set(t,s.slice())}var r=new M(this,t,e,i,n);return this._callbacks.get(t).push(r),r},e.on=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!1)},e.once=function(t,e,i){return void 0===i&&(i=this),this._addCallback(t,e,i,!0)},e.off=function(t,e,i){if(t)this._callbackActive.has(t)&&this._callbackActive.get(t)===this._callbacks.get(t)&&this._callbackActive.set(t,this._callbackActive.get(t).slice());else for(var n,s=A(this._callbackActive);!(n=s()).done;){var r=n.value,a=r[0],o=r[1];this._callbacks.has(a)&&(this._callbacks.get(a)===o&&this._callbackActive.set(a,o.slice()))}if(t)if(e){var h=this._callbacks.get(t);if(!h)return this;for(var l=0;l0?r=r.slice(0,r.length-2):(a>0&&r.push(L.delimiter),r.push(n[a])));return s=r.join(""),e||s[0]!==L.delimiter||(s=s.slice(1)),i&&s[s.length-1]!==L.delimiter&&(s+=L.delimiter),s},split:function(t){var e=t.lastIndexOf(L.delimiter);return-1!==e?[t.substring(0,e),t.substring(e+1)]:["",t]},getBasename:function(t){return L.split(t)[1]},getDirectory:function(t){return L.split(t)[0]},getExtension:function(t){var e=t.split("?")[0].split(".").pop();return e!==t?"."+e:""},isRelativePath:function(t){return"/"!==t.charAt(0)&&null===t.match(/:\/\//)},extractPath:function(t){var e="",i=t.split("/"),n=0;if(i.length>1)if(L.isRelativePath(t))if("."===i[0])for(n=0;n0),N=!("browser"!==O||!navigator.getGamepads&&!navigator.webkitGetGamepads),z="undefined"!=typeof Worker,V=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){return t=!0,!1}});window.addEventListener("testpassive",null,e),window.removeEventListener("testpassive",null,e)}catch(t){}return t}(),G={name:k,environment:O,global:"browser"===O?window:global,browser:"browser"===O,desktop:["windows","osx","linux","cros"].includes(k),mobile:["android","ios"].includes(k),ios:"ios"===k,android:"android"===k,xbox:B,gamepads:N,touch:U,workers:z,passiveEvents:V,browserName:F},H="abcdefghijklmnopqrstuvwxyz",W="ABCDEFGHIJKLMNOPQRSTUVWXYZ",X=55296,q=56319,j=56320,Y=57343,K=127462,Z=127487,Q=65024,$=65039;function J(t,e){void 0===e&&(e=0);var i=t.length;if(e<0||e>=i)return null;var n=t.charCodeAt(e);if(i>1&&n>=X&&n<=q){var s=t.charCodeAt(e+1);if(s>=j&&s<=Y)return{code:1024*(n-X)+s-j+65536,long:!0}}return{code:n,long:!1}}function tt(t,e,i){if(!t)return!1;var n=J(t);if(n){var s=n.code;return s>=e&&s<=i}return!1}function et(t,e){if(e===t.length-1)return 1;if(tt(t[e],X,q)){var i=t.substring(e,e+2),n=t.substring(e+2,e+4);return tt(n,127995,127999)||tt(i,K,Z)&&tt(n,K,Z)?4:tt(n,Q,$)?3:2}return tt(t[e+1],Q,$)?2:1}var it,nt,st,rt={ASCII_LOWERCASE:H,ASCII_UPPERCASE:W,ASCII_LETTERS:H+W,format:function(t){for(var e=0;e<(arguments.length<=1?0:arguments.length-1);e++)t=t.replace("{"+e+"}",e+1<1||arguments.length<=e+1?void 0:arguments[e+1]);return t},getCodePoint:function(t,e){var i=J(t,e);return i&&i.code},getCodePoints:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=[];e=J(t,i);)n.push(e.code),i+=e.long?2:1;return n},getSymbols:function(t){if("string"!=typeof t)throw new TypeError("Not a string");for(var e,i=0,n=t.length,s=[],r=0;i65535?[55296+(e>>10),e%1024+56320]:[t],n.push(String.fromCharCode.apply(null,i));return n.join("")}},at=function(){function t(){this._list=[],this._index={}}var e=t.prototype;return e.push=function(t,e){if(this._index[t])throw Error("Key already in index "+t);var i=this._list.push(e)-1;this._index[t]=i},e.has=function(t){return void 0!==this._index[t]},e.get=function(t){var e=this._index[t];return void 0!==e?this._list[e]:null},e.remove=function(t){var e=this._index[t];if(void 0!==e){for(t in this._list.splice(e,1),delete this._index[t],this._index){var i=this._index[t];i>e&&(this._index[t]=i-1)}return!0}return!1},e.list=function(){return this._list},e.clear=function(){for(var t in this._list.length=0,this._index)delete this._index[t]},t}(),ot=function(){function t(){}return t.loadScript=function(t,e){var i=document.createElement("script");i.setAttribute("src",t),i.onload=function(){e(null)},i.onerror=function(){e("Failed to load script='"+t+"'")},document.body.appendChild(i)},t.loadWasm=function(e,i,n){var s=t.wasmSupported()&&i.glueUrl&&i.wasmUrl?i.glueUrl:i.fallbackUrl;s?t.loadScript(s,(function(t){if(t)n(t,null);else{var s=window[e];window[e]=void 0,s({locateFile:function(){return i.wasmUrl},onAbort:function(){n("wasm module aborted.")}}).then((function(t){n(null,t)}))}})):n("No supported wasm modules found.",null)},t.getModule=function(e){return t.modules.hasOwnProperty(e)||(t.modules[e]={config:null,initializing:!1,instance:null,callbacks:[]}),t.modules[e]},t.initialize=function(e,i){if(!i.initializing){var n=i.config;(n.glueUrl||n.wasmUrl||n.fallbackUrl)&&(i.initializing=!0,t.loadWasm(e,n,(function(t,s){t?n.errorHandler?n.errorHandler(t):console.error("failed to initialize module="+e+" error="+t):(i.instance=s,i.callbacks.forEach((function(t){t(s)})))})))}},t}();ot.modules={},ot.wasmSupported=(it=function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1},st=nt={},function(){return st===nt&&(st=it()),st});var ht=function(){function t(){}return t.setConfig=function(t,e){var i=ot.getModule(t);i.config=e,i.callbacks.length>0&&ot.initialize(t,i)},t.getConfig=function(t){var e;return null==(e=ot.modules)||null==(e=e[t])?void 0:e.config},t.getInstance=function(t,e){var i=ot.getModule(t);i.instance?e(i.instance):(i.callbacks.push(e),i.config&&ot.initialize(t,i))},t}(),lt=function(){function t(t){this.arraybuffer=t,this.dataView=new DataView(t),this.offset=0,this.stack=[]}var e=t.prototype;return e.reset=function(t){void 0===t&&(t=0),this.offset=t},e.skip=function(t){this.offset+=t},e.align=function(t){this.offset=this.offset+t-1&~(t-1)},e._inc=function(t){return this.offset+=t,this.offset-t},e.readChar=function(){return String.fromCharCode(this.dataView.getUint8(this.offset++))},e.readChars=function(t){for(var e="",i=0;i=t.byteLength);){var i=String.fromCharCode(this.readU8());if("\n"===i)break;e+=i}return e},y(t,[{key:"remainingBytes",get:function(){return this.dataView.byteLength-this.offset}}]),t}(),ct=function(){function t(t){this.items=[],this.length=0,this.loopIndex=-1,this._sortBy=void 0,this._sortHandler=void 0,this._sortBy=t.sortBy,this._sortHandler=this._doSort.bind(this)}var e=t.prototype;return e._binarySearch=function(t){for(var e,i,n=0,s=this.items.length-1,r=t[this._sortBy];n<=s;)e=Math.floor((n+s)/2),(i=this.items[e][this._sortBy])<=r?n=e+1:i>r&&(s=e-1);return n},e._doSort=function(t,e){var i=this._sortBy;return t[i]-e[i]},e.insert=function(t){var e=this._binarySearch(t);this.items.splice(e,0,t),this.length++,this.loopIndex>=e&&this.loopIndex++},e.append=function(t){this.items.push(t),this.length++},e.remove=function(t){var e=this.items.indexOf(t);e<0||(this.items.splice(e,1),this.length--,this.loopIndex>=e&&this.loopIndex--)},e.sort=function(){var t=this.loopIndex>=0?this.items[this.loopIndex]:null;this.items.sort(this._sortHandler),null!==t&&(this.loopIndex=this.items.indexOf(t))},t}(),ut=function(t){function e(e){var i;return(i=t.call(this)||this)._index={},i._list=[],i._parent=e,i}S(e,t);var i=e.prototype;return i.add=function(){var t=!1,e=this._processArguments(arguments,!0);if(!e.length)return t;for(var i=0;i=i?i:t<=e?e:t},intToBytes24:function(t){return[t>>16&255,t>>8&255,255&t]},intToBytes32:function(t){return[t>>24&255,t>>16&255,t>>8&255,255&t]},bytesToInt24:function(t,e,i){return t.length&&(i=t[2],e=t[1],t=t[0]),t<<16|e<<8|i},bytesToInt32:function(t,e,i,n){return t.length&&(n=t[3],i=t[2],e=t[1],t=t[0]),(t<<24|e<<16|i<<8|n)>>>0},lerp:function(t,e,i){return t+(e-t)*_t.clamp(i,0,1)},lerpAngle:function(t,e,i){return e-t>180&&(e-=360),e-t<-180&&(e+=360),_t.lerp(t,e,_t.clamp(i,0,1))},powerOfTwo:function(t){return 0!==t&&!(t&t-1)},nextPowerOfTwo:function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},nearestPowerOfTwo:function(t){return Math.pow(2,Math.round(Math.log(t)/Math.log(2)))},random:function(t,e){var i=e-t;return Math.random()*i+t},smoothstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*(3-2*i)},smootherstep:function(t,e,i){return i<=t?0:i>=e?1:(i=(i-t)/(e-t))*i*i*(i*(6*i-15)+10)},roundUp:function(t,e){return 0===e?t:Math.ceil(t/e)*e},between:function(t,e,i,n){var s=Math.min(e,i),r=Math.max(e,i);return n?t>=s&&t<=r:t>s&&t7?e=_t.intToBytes32(i):(e=_t.intToBytes24(i))[3]=255,this.set(e[0]/255,e[1]/255,e[2]/255,e[3]/255),this},e.toString=function(t){var e="#"+((1<<24)+(Math.round(255*this.r)<<16)+(Math.round(255*this.g)<<8)+Math.round(255*this.b)).toString(16).slice(1);if(!0===t){var i=Math.round(255*this.a).toString(16);this.a<16/255?e+="0"+i:e+=i}return e},t}();ft=gt,gt.BLACK=Object.freeze(new ft(0,0,0,1)),gt.BLUE=Object.freeze(new ft(0,0,1,1)),gt.CYAN=Object.freeze(new ft(0,1,1,1)),gt.GRAY=Object.freeze(new ft(.5,.5,.5,1)),gt.GREEN=Object.freeze(new ft(0,1,0,1)),gt.MAGENTA=Object.freeze(new ft(1,0,1,1)),gt.RED=Object.freeze(new ft(1,0,0,1)),gt.WHITE=Object.freeze(new ft(1,1,1,1)),gt.YELLOW=Object.freeze(new ft(1,1,0,1));var vt,yt,xt=function(){function t(t,e){void 0===e&&(e=0),this._curve=void 0,this._left=-1/0,this._right=1/0,this._recip=0,this._p0=0,this._p1=0,this._m0=0,this._m1=0,this._curve=t,this._reset(e)}var e=t.prototype;return e.evaluate=function(t,e){var i;void 0===e&&(e=!1),(e||t=this._right)&&this._reset(t);var n=this._curve.type;if(5===n)i=this._p0;else{var s=0===this._recip?0:(t-this._left)*this._recip;i=0===n?_t.lerp(this._p0,this._p1,s):1===n?_t.lerp(this._p0,this._p1,s*s*(3-2*s)):this._evaluateHermite(this._p0,this._p1,this._m0,this._m1,s)}return i},e._reset=function(t){var e=this._curve.keys,i=e.length;if(i)if(t=e[i-1][0])this._left=e[i-1][0],this._right=1/0,this._recip=0,this._p0=this._p1=e[i-1][1],this._m0=this._m1=0;else{for(var n=0;t>=e[n+1][0];)n++;this._left=e[n][0],this._right=e[n+1][0];var s=1/(this._right-this._left);this._recip=isFinite(s)?s:0,this._p0=e[n][1],this._p1=e[n+1][1],this._isHermite()&&this._calcTangents(e,n)}else this._left=-1/0,this._right=1/0,this._recip=0,this._p0=this._p1=this._m0=this._m1=0},e._isHermite=function(){return 2===this._curve.type||3===this._curve.type||4===this._curve.type},e._calcTangents=function(t,e){var i,n,s=t[e],r=t[e+1];if(i=0===e?[t[0][0]+(t[0][0]-t[1][0]),t[0][1]+(t[0][1]-t[1][1])]:t[e-1],n=e===t.length-2?[t[e+1][0]+(t[e+1][0]-t[e][0]),t[e+1][1]+(t[e+1][1]-t[e][1])]:t[e+2],4===this._curve.type){var a=2*(r[0]-s[0])/(r[0]-i[0]),o=2*(r[0]-s[0])/(n[0]-s[0]);this._m0=this._curve.tension*(isFinite(a)?a:0)*(r[1]-i[1]),this._m1=this._curve.tension*(isFinite(o)?o:0)*(n[1]-s[1])}else{var h=(r[0]-s[0])/(s[0]-i[0]),l=(r[0]-s[0])/(n[0]-r[0]),c=s[1]+(i[1]-s[1])*(isFinite(h)?h:0),u=r[1]+(n[1]-r[1])*(isFinite(l)?l:0),d=2===this._curve.type?.5:this._curve.tension;this._m0=d*(r[1]-c),this._m1=d*(u-s[1])}},e._evaluateHermite=function(t,e,i,n,s){var r=s*s,a=s+s,o=1-s,h=o*o;return t*((1+a)*h)+i*(s*h)+e*(r*(3-a))+n*(r*(s-1))},t}(),St=function(){function t(t){if(this.keys=[],this.type=1,this.tension=.5,this._eval=new xt(this),t)for(var e=0;et);s++);var r=[t,e];return this.keys.splice(s,0,r),r},e.get=function(t){return this.keys[t]},e.sort=function(){this.keys.sort((function(t,e){return t[0]-e[0]}))},e.value=function(t){return this._eval.evaluate(t,!0)},e.closest=function(t){for(var e=this.keys,i=e.length,n=2,s=null,r=0;r=a))break;n=a,s=e[r]}return s},e.clone=function(){var t=new this.constructor;return t.keys=p(t.keys,this.keys),t.type=this.type,t.tension=this.tension,t},e.quantize=function(t){t=Math.max(t,2);var e=new Float32Array(t),i=1/(t-1);e[0]=this._eval.evaluate(0,!0);for(var n=1;n1)for(var t=0;t>16&32768,n=e>>12&2047,s=e>>23&255;return s<103?i:s>142?(i|=31744,i|=(255===s?0:1)&&8388607&e):s<113?i|=((n|=2048)>>114-s)+(n>>113-s&1):(i|=s-112<<10|n>>1,i+=1&n)},t.float2Bytes=function(t,e,i,n){var s=255*t%1;if(e[i+0]=Math.round(255*(t%1-wt*s)),n>1){var r=65025*t%1;if(e[i+1]=Math.round(255*(s-wt*r)),n>2){var a=16581375*t%1;e[i+2]=Math.round(255*(r-wt*a)),n>3&&(e[i+3]=Math.round(255*a))}}},t.float2BytesRange=function(e,i,n,s,r,a){e=_t.clamp((e-s)/(r-s),0,1),t.float2Bytes(e,i,n,a)},t.float2MantissaExponent=function(e,i,n,s){var r=Math.floor(Math.log2(Math.abs(e)))+1;e/=Math.pow(2,r),t.float2BytesRange(e,i,n,-1,1,s-1),i[n+s-1]=Math.round(r+127)},t}(),Et=function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=void 0,this.y=void 0,this.z=void 0,3===t.length?(this.x=t[0],this.y=t[1],this.z=t[2]):(this.x=t,this.y=e,this.z=i)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},e.cross=function(t,e){var i=t.x,n=t.y,s=t.z,r=e.x,a=e.y,o=e.z;return this.x=n*o-a*s,this.y=s*r-o*i,this.z=i*a-r*n,this},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y,n=this.z-t.z;return Math.sqrt(e*e+i*i+n*n)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},e.project=function(t){var e=(this.x*t.x+this.y*t.y+this.z*t.z)/(t.x*t.x+t.y*t.y+t.z*t.z);return this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this},e.set=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+"]"},t}();vt=Et,Et.ZERO=Object.freeze(new vt(0,0,0)),Et.ONE=Object.freeze(new vt(1,1,1)),Et.UP=Object.freeze(new vt(0,1,0)),Et.DOWN=Object.freeze(new vt(0,-1,0)),Et.RIGHT=Object.freeze(new vt(1,0,0)),Et.LEFT=Object.freeze(new vt(-1,0,0)),Et.FORWARD=Object.freeze(new vt(0,0,-1)),Et.BACK=Object.freeze(new vt(0,0,1));var Mt,Pt=function(){function t(){this.data=new Float32Array(9),this.data[0]=this.data[4]=this.data[8]=1}var e=t.prototype;return e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&1===t[4]&&0===t[5]&&0===t[6]&&0===t[7]&&1===t[8]},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,this},e.toString=function(){return"["+this.data.join(", ")+"]"},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[3],n[3]=e,e=i[2],n[2]=i[6],n[6]=e,e=i[5],n[5]=i[7],n[7]=e):(n[0]=i[0],n[1]=i[3],n[2]=i[6],n[3]=i[1],n[4]=i[4],n[5]=i[7],n[6]=i[2],n[7]=i[5],n[8]=i[8]);return this},e.setFromMat4=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[4],i[4]=e[5],i[5]=e[6],i[6]=e[8],i[7]=e[9],i[8]=e[10],this},e.invertMat4=function(t){var e=t.data,i=e[0],n=e[1],s=e[2],r=e[4],a=e[5],o=e[6],h=e[8],l=e[9],c=e[10],u=c*a-o*l,d=-c*n+s*l,f=o*n-s*a,p=-c*r+o*h,m=c*i-s*h,_=-o*i+s*r,g=l*r-a*h,v=-l*i+n*h,y=a*i-n*r,x=i*u+n*p+s*g;if(0===x)this.setIdentity();else{var S=1/x,b=this.data;b[0]=u*S,b[1]=d*S,b[2]=f*S,b[3]=p*S,b[4]=m*S,b[5]=_*S,b[6]=g*S,b[7]=v*S,b[8]=y*S}return this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[3]+r*i[6],e.y=n*i[1]+s*i[4]+r*i[7],e.z=n*i[2]+s*i[5]+r*i[8],e},t}();yt=Pt,Pt.IDENTITY=Object.freeze(new yt),Pt.ZERO=Object.freeze((new yt).set([0,0,0,0,0,0,0,0,0]));var Rt,It=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=void 0,this.y=void 0,2===t.length?(this.x=t[0],this.y=t[1]):(this.x=t,this.y=e)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y)},e.copy=function(t){return this.x=t.x,this.y=t.y,this},e.cross=function(t){return this.x*t.y-this.y*t.x},e.distance=function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},e.div=function(t){return this.x/=t.x,this.y/=t.y,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y},e.equals=function(t){return this.x===t.x&&this.y===t.y},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i}return this},e.rotate=function(t){var e=Math.atan2(this.x,this.y)+t*_t.DEG_TO_RAD,i=Math.sqrt(this.x*this.x+this.y*this.y);return this.x=Math.sin(e)*i,this.y=Math.cos(e)*i,this},e.angle=function(){return Math.atan2(this.x,this.y)*_t.RAD_TO_DEG},e.angleTo=function(t){return Math.atan2(this.x*t.y+this.y*t.x,this.x*t.x+this.y*t.y)*_t.RAD_TO_DEG},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),this},e.set=function(t,e){return this.x=t,this.y=e,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this},e.toString=function(){return"["+this.x+", "+this.y+"]"},t.angleRad=function(t,e){return Math.atan2(t.x*e.y-t.y*e.x,t.x*e.x+t.y*e.y)},t}();Mt=It,It.ZERO=Object.freeze(new Mt(0,0)),It.ONE=Object.freeze(new Mt(1,1)),It.UP=Object.freeze(new Mt(0,1)),It.DOWN=Object.freeze(new Mt(0,-1)),It.RIGHT=Object.freeze(new Mt(1,0)),It.LEFT=Object.freeze(new Mt(-1,0));var Lt,Dt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},e.add2=function(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this.w=t.w+e.w,this},e.addScalar=function(t){return this.x+=t,this.y+=t,this.z+=t,this.w+=t,this},e.addScaled=function(t,e){return this.x+=t.x*e,this.y+=t.y*e,this.z+=t.z*e,this.w+=t.w*e,this},e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.div=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},e.div2=function(t,e){return this.x=t.x/e.x,this.y=t.y/e.y,this.z=t.z/e.z,this.w=t.w/e.w,this},e.divScalar=function(t){return this.x/=t,this.y/=t,this.z/=t,this.w/=t,this},e.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)0){var i=1/Math.sqrt(e);this.x=t.x*i,this.y=t.y*i,this.z=t.z*i,this.w=t.w*i}return this},e.floor=function(t){return void 0===t&&(t=this),this.x=Math.floor(t.x),this.y=Math.floor(t.y),this.z=Math.floor(t.z),this.w=Math.floor(t.w),this},e.ceil=function(t){return void 0===t&&(t=this),this.x=Math.ceil(t.x),this.y=Math.ceil(t.y),this.z=Math.ceil(t.z),this.w=Math.ceil(t.w),this},e.round=function(t){return void 0===t&&(t=this),this.x=Math.round(t.x),this.y=Math.round(t.y),this.z=Math.round(t.z),this.w=Math.round(t.w),this},e.min=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.sub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},e.sub2=function(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this.w=t.w-e.w,this},e.subScalar=function(t){return this.x-=t,this.y-=t,this.z-=t,this.w-=t,this},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Rt=Dt,Dt.ZERO=Object.freeze(new Rt(0,0,0,0)),Dt.ONE=Object.freeze(new Rt(1,1,1,1));var Ot,kt=new It,Ft=new Et,Bt=new Et,Ut=new Et,Nt=new Et,zt=function(){function t(){this.data=new Float32Array(16),this.data[0]=this.data[5]=this.data[10]=this.data[15]=1}t._getPerspectiveHalfSize=function(t,e,i,n,s){s?(t.x=n*Math.tan(e*Math.PI/360),t.y=t.x/i):(t.y=n*Math.tan(e*Math.PI/360),t.x=t.y*i)};var e=t.prototype;return e.add2=function(t,e){var i=t.data,n=e.data,s=this.data;return s[0]=i[0]+n[0],s[1]=i[1]+n[1],s[2]=i[2]+n[2],s[3]=i[3]+n[3],s[4]=i[4]+n[4],s[5]=i[5]+n[5],s[6]=i[6]+n[6],s[7]=i[7]+n[7],s[8]=i[8]+n[8],s[9]=i[9]+n[9],s[10]=i[10]+n[10],s[11]=i[11]+n[11],s[12]=i[12]+n[12],s[13]=i[13]+n[13],s[14]=i[14]+n[14],s[15]=i[15]+n[15],this},e.add=function(t){return this.add2(this,t)},e.clone=function(){return(new(0,this.constructor)).copy(this)},e.copy=function(t){var e=t.data,i=this.data;return i[0]=e[0],i[1]=e[1],i[2]=e[2],i[3]=e[3],i[4]=e[4],i[5]=e[5],i[6]=e[6],i[7]=e[7],i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],this},e.equals=function(t){var e=this.data,i=t.data;return e[0]===i[0]&&e[1]===i[1]&&e[2]===i[2]&&e[3]===i[3]&&e[4]===i[4]&&e[5]===i[5]&&e[6]===i[6]&&e[7]===i[7]&&e[8]===i[8]&&e[9]===i[9]&&e[10]===i[10]&&e[11]===i[11]&&e[12]===i[12]&&e[13]===i[13]&&e[14]===i[14]&&e[15]===i[15]},e.isIdentity=function(){var t=this.data;return 1===t[0]&&0===t[1]&&0===t[2]&&0===t[3]&&0===t[4]&&1===t[5]&&0===t[6]&&0===t[7]&&0===t[8]&&0===t[9]&&1===t[10]&&0===t[11]&&0===t[12]&&0===t[13]&&0===t[14]&&1===t[15]},e.mul2=function(t,e){var i,n,s,r,a=t.data,o=e.data,h=this.data,l=a[0],c=a[1],u=a[2],d=a[3],f=a[4],p=a[5],m=a[6],_=a[7],g=a[8],v=a[9],y=a[10],x=a[11],S=a[12],b=a[13],w=a[14],T=a[15];return i=o[0],n=o[1],s=o[2],r=o[3],h[0]=l*i+f*n+g*s+S*r,h[1]=c*i+p*n+v*s+b*r,h[2]=u*i+m*n+y*s+w*r,h[3]=d*i+_*n+x*s+T*r,i=o[4],n=o[5],s=o[6],r=o[7],h[4]=l*i+f*n+g*s+S*r,h[5]=c*i+p*n+v*s+b*r,h[6]=u*i+m*n+y*s+w*r,h[7]=d*i+_*n+x*s+T*r,i=o[8],n=o[9],s=o[10],r=o[11],h[8]=l*i+f*n+g*s+S*r,h[9]=c*i+p*n+v*s+b*r,h[10]=u*i+m*n+y*s+w*r,h[11]=d*i+_*n+x*s+T*r,i=o[12],n=o[13],s=o[14],r=o[15],h[12]=l*i+f*n+g*s+S*r,h[13]=c*i+p*n+v*s+b*r,h[14]=u*i+m*n+y*s+w*r,h[15]=d*i+_*n+x*s+T*r,this},e.mulAffine2=function(t,e){var i,n,s,r=t.data,a=e.data,o=this.data,h=r[0],l=r[1],c=r[2],u=r[4],d=r[5],f=r[6],p=r[8],m=r[9],_=r[10],g=r[12],v=r[13],y=r[14];return i=a[0],n=a[1],s=a[2],o[0]=h*i+u*n+p*s,o[1]=l*i+d*n+m*s,o[2]=c*i+f*n+_*s,o[3]=0,i=a[4],n=a[5],s=a[6],o[4]=h*i+u*n+p*s,o[5]=l*i+d*n+m*s,o[6]=c*i+f*n+_*s,o[7]=0,i=a[8],n=a[9],s=a[10],o[8]=h*i+u*n+p*s,o[9]=l*i+d*n+m*s,o[10]=c*i+f*n+_*s,o[11]=0,i=a[12],n=a[13],s=a[14],o[12]=h*i+u*n+p*s+g,o[13]=l*i+d*n+m*s+v,o[14]=c*i+f*n+_*s+y,o[15]=1,this},e.mul=function(t){return this.mul2(this,t)},e.transformPoint=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8]+i[12],e.y=n*i[1]+s*i[5]+r*i[9]+i[13],e.z=n*i[2]+s*i[6]+r*i[10]+i[14],e},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=this.data,n=t.x,s=t.y,r=t.z;return e.x=n*i[0]+s*i[4]+r*i[8],e.y=n*i[1]+s*i[5]+r*i[9],e.z=n*i[2]+s*i[6]+r*i[10],e},e.transformVec4=function(t,e){void 0===e&&(e=new Dt);var i=this.data,n=t.x,s=t.y,r=t.z,a=t.w;return e.x=n*i[0]+s*i[4]+r*i[8]+a*i[12],e.y=n*i[1]+s*i[5]+r*i[9]+a*i[13],e.z=n*i[2]+s*i[6]+r*i[10]+a*i[14],e.w=n*i[3]+s*i[7]+r*i[11]+a*i[15],e},e.setLookAt=function(t,e,i){Ut.sub2(t,e).normalize(),Bt.copy(i).normalize(),Ft.cross(Bt,Ut).normalize(),Bt.cross(Ut,Ft);var n=this.data;return n[0]=Ft.x,n[1]=Ft.y,n[2]=Ft.z,n[3]=0,n[4]=Bt.x,n[5]=Bt.y,n[6]=Bt.z,n[7]=0,n[8]=Ut.x,n[9]=Ut.y,n[10]=Ut.z,n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,this},e.setFrustum=function(t,e,i,n,s,r){var a=2*s,o=e-t,h=n-i,l=r-s,c=this.data;return c[0]=a/o,c[1]=0,c[2]=0,c[3]=0,c[4]=0,c[5]=a/h,c[6]=0,c[7]=0,c[8]=(e+t)/o,c[9]=(n+i)/h,c[10]=(-r-s)/l,c[11]=-1,c[12]=0,c[13]=0,c[14]=-a*r/l,c[15]=0,this},e.setPerspective=function(e,i,n,s,r){return t._getPerspectiveHalfSize(kt,e,i,n,r),this.setFrustum(-kt.x,kt.x,-kt.y,kt.y,n,s)},e.setOrtho=function(t,e,i,n,s,r){var a=this.data;return a[0]=2/(e-t),a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=2/(n-i),a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=-2/(r-s),a[11]=0,a[12]=-(e+t)/(e-t),a[13]=-(n+i)/(n-i),a[14]=-(r+s)/(r-s),a[15]=1,this},e.setFromAxisAngle=function(t,e){e*=_t.DEG_TO_RAD;var i=t.x,n=t.y,s=t.z,r=Math.cos(e),a=Math.sin(e),o=1-r,h=o*i,l=o*n,c=this.data;return c[0]=h*i+r,c[1]=h*n+a*s,c[2]=h*s-a*n,c[3]=0,c[4]=h*n-a*s,c[5]=l*n+r,c[6]=l*s+a*i,c[7]=0,c[8]=h*s+a*n,c[9]=l*s-i*a,c[10]=o*s*s+r,c[11]=0,c[12]=0,c[13]=0,c[14]=0,c[15]=1,this},e.setTranslate=function(t,e,i){var n=this.data;return n[0]=1,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=1,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=1,n[11]=0,n[12]=t,n[13]=e,n[14]=i,n[15]=1,this},e.setScale=function(t,e,i){var n=this.data;return n[0]=t,n[1]=0,n[2]=0,n[3]=0,n[4]=0,n[5]=e,n[6]=0,n[7]=0,n[8]=0,n[9]=0,n[10]=i,n[11]=0,n[12]=0,n[13]=0,n[14]=0,n[15]=1,this},e.setViewport=function(t,e,i,n){var s=this.data;return s[0]=.5*i,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=.5*n,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=.5,s[11]=0,s[12]=t+.5*i,s[13]=e+.5*n,s[14]=.5,s[15]=1,this},e.setReflection=function(t,e){var i=t.x,n=t.y,s=t.z,r=this.data;return r[0]=1-2*i*i,r[1]=-2*i*n,r[2]=-2*i*s,r[3]=0,r[4]=-2*i*n,r[5]=1-2*n*n,r[6]=-2*n*s,r[7]=0,r[8]=-2*i*s,r[9]=-2*n*s,r[10]=1-2*s*s,r[11]=0,r[12]=-2*i*e,r[13]=-2*n*e,r[14]=-2*s*e,r[15]=1,this},e.invert=function(t){void 0===t&&(t=this);var e=t.data,i=e[0],n=e[1],s=e[2],r=e[3],a=e[4],o=e[5],h=e[6],l=e[7],c=e[8],u=e[9],d=e[10],f=e[11],p=e[12],m=e[13],_=e[14],g=e[15],v=i*o-n*a,y=i*h-s*a,x=i*l-r*a,S=n*h-s*o,b=n*l-r*o,w=s*l-r*h,T=c*m-u*p,A=c*_-d*p,C=c*g-f*p,E=u*_-d*m,M=u*g-f*m,P=d*g-f*_,R=v*P-y*M+x*E+S*C-b*A+w*T;if(0===R)this.setIdentity();else{var I=1/R,L=this.data;L[0]=(o*P-h*M+l*E)*I,L[1]=(-n*P+s*M-r*E)*I,L[2]=(m*w-_*b+g*S)*I,L[3]=(-u*w+d*b-f*S)*I,L[4]=(-a*P+h*C-l*A)*I,L[5]=(i*P-s*C+r*A)*I,L[6]=(-p*w+_*x-g*y)*I,L[7]=(c*w-d*x+f*y)*I,L[8]=(a*M-o*C+l*T)*I,L[9]=(-i*M+n*C-r*T)*I,L[10]=(p*b-m*x+g*v)*I,L[11]=(-c*b+u*x-f*v)*I,L[12]=(-a*E+o*A-h*T)*I,L[13]=(i*E-n*A+s*T)*I,L[14]=(-p*S+m*y-_*v)*I,L[15]=(c*S-u*y+d*v)*I}return this},e.set=function(t){var e=this.data;return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],this},e.setIdentity=function(){var t=this.data;return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,this},e.setTRS=function(t,e,i){var n=e.x,s=e.y,r=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=n+n,u=s+s,d=r+r,f=n*c,p=n*u,m=n*d,_=s*u,g=s*d,v=r*d,y=a*c,x=a*u,S=a*d,b=this.data;return b[0]=(1-(_+v))*o,b[1]=(p+S)*o,b[2]=(m-x)*o,b[3]=0,b[4]=(p-S)*h,b[5]=(1-(f+v))*h,b[6]=(g+y)*h,b[7]=0,b[8]=(m+x)*l,b[9]=(g-y)*l,b[10]=(1-(f+_))*l,b[11]=0,b[12]=t.x,b[13]=t.y,b[14]=t.z,b[15]=1,this},e.transpose=function(t){void 0===t&&(t=this);var e,i=t.data,n=this.data;i===n?(e=i[1],n[1]=i[4],n[4]=e,e=i[2],n[2]=i[8],n[8]=e,e=i[3],n[3]=i[12],n[12]=e,e=i[6],n[6]=i[9],n[9]=e,e=i[7],n[7]=i[13],n[13]=e,e=i[11],n[11]=i[14],n[14]=e):(n[0]=i[0],n[1]=i[4],n[2]=i[8],n[3]=i[12],n[4]=i[1],n[5]=i[5],n[6]=i[9],n[7]=i[13],n[8]=i[2],n[9]=i[6],n[10]=i[10],n[11]=i[14],n[12]=i[3],n[13]=i[7],n[14]=i[11],n[15]=i[15]);return this},e.getTranslation=function(t){return void 0===t&&(t=new Et),t.set(this.data[12],this.data[13],this.data[14])},e.getX=function(t){return void 0===t&&(t=new Et),t.set(this.data[0],this.data[1],this.data[2])},e.getY=function(t){return void 0===t&&(t=new Et),t.set(this.data[4],this.data[5],this.data[6])},e.getZ=function(t){return void 0===t&&(t=new Et),t.set(this.data[8],this.data[9],this.data[10])},e.getScale=function(t){return void 0===t&&(t=new Et),this.getX(Ft),this.getY(Bt),this.getZ(Ut),t.set(Ft.length(),Bt.length(),Ut.length()),t},e.setFromEulerAngles=function(t,e,i){t*=_t.DEG_TO_RAD,e*=_t.DEG_TO_RAD,i*=_t.DEG_TO_RAD;var n=Math.sin(-t),s=Math.cos(-t),r=Math.sin(-e),a=Math.cos(-e),o=Math.sin(-i),h=Math.cos(-i),l=this.data;return l[0]=a*h,l[1]=-a*o,l[2]=r,l[3]=0,l[4]=s*o+h*n*r,l[5]=s*h-n*r*o,l[6]=-a*n,l[7]=0,l[8]=n*o-s*h*r,l[9]=h*n+s*r*o,l[10]=s*a,l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,this},e.getEulerAngles=function(t){void 0===t&&(t=new Et),this.getScale(Nt);var e=Nt.x,i=Nt.y,n=Nt.z;if(0===e||0===i||0===n)return t.set(0,0,0);var s,r,a=this.data,o=Math.asin(-a[2]/e),h=.5*Math.PI;return o-h?(s=Math.atan2(a[6]/i,a[10]/n),r=Math.atan2(a[1]/e,a[0]/e)):(r=0,s=-Math.atan2(a[4]/i,a[5]/i)):(r=0,s=Math.atan2(a[4]/i,a[5]/i)),t.set(s,o,r).mulScalar(_t.RAD_TO_DEG)},e.toString=function(){return"["+this.data.join(", ")+"]"},y(t,[{key:"scaleSign",get:function(){return this.getX(Ft),this.getY(Bt),this.getZ(Ut),Ft.cross(Ft,Bt),Ft.dot(Ut)<0?-1:1}}]),t}();Lt=zt,zt.IDENTITY=Object.freeze(new Lt),zt.ZERO=Object.freeze((new Lt).set([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]));var Vt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),this.x=void 0,this.y=void 0,this.z=void 0,this.w=void 0,4===t.length?(this.x=t[0],this.y=t[1],this.z=t[2],this.w=t[3]):(this.x=t,this.y=e,this.z=i,this.w=n)}var e=t.prototype;return e.clone=function(){return new(0,this.constructor)(this.x,this.y,this.z,this.w)},e.conjugate=function(t){return void 0===t&&(t=this),this.x=-1*t.x,this.y=-1*t.y,this.z=-1*t.z,this.w=t.w,this},e.copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},e.equals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},e.equalsApprox=function(t,e){return void 0===e&&(e=1e-6),Math.abs(this.x-t.x)=.99999?(e=2*Math.atan2(s,o),i=Math.PI/2,n=0):(e=Math.atan2(2*(o*s+r*a),1-2*(s*s+r*r)),i=Math.asin(h),n=Math.atan2(2*(o*a+s*r),1-2*(r*r+a*a))),t.set(e,i,n).mulScalar(_t.RAD_TO_DEG)},e.invert=function(t){return void 0===t&&(t=this),this.conjugate(t).normalize()},e.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},e.lengthSq=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e.mul=function(t){var e=this.x,i=this.y,n=this.z,s=this.w,r=t.x,a=t.y,o=t.z,h=t.w;return this.x=s*r+e*h+i*o-n*a,this.y=s*a+i*h+n*r-e*o,this.z=s*o+n*h+e*a-i*r,this.w=s*h-e*r-i*a-n*o,this},e.mul2=function(t,e){var i=t.x,n=t.y,s=t.z,r=t.w,a=e.x,o=e.y,h=e.z,l=e.w;return this.x=r*a+i*l+n*h-s*o,this.y=r*o+n*l+s*a-i*h,this.z=r*h+s*l+i*o-n*a,this.w=r*l-i*a-n*o-s*h,this},e.normalize=function(t){void 0===t&&(t=this);var e=t.length();return 0===e?(this.x=this.y=this.z=0,this.w=1):(e=1/e,this.x=t.x*e,this.y=t.y*e,this.z=t.z*e,this.w=t.w*e),this},e.set=function(t,e,i,n){return this.x=t,this.y=e,this.z=i,this.w=n,this},e.setFromAxisAngle=function(t,e){e*=.5*_t.DEG_TO_RAD;var i=Math.sin(e),n=Math.cos(e);return this.x=i*t.x,this.y=i*t.y,this.z=i*t.z,this.w=n,this},e.setFromEulerAngles=function(t,e,i){if(t instanceof Et){var n=t;t=n.x,e=n.y,i=n.z}var s=.5*_t.DEG_TO_RAD;t*=s,e*=s,i*=s;var r=Math.sin(t),a=Math.cos(t),o=Math.sin(e),h=Math.cos(e),l=Math.sin(i),c=Math.cos(i);return this.x=r*h*c-a*o*l,this.y=a*o*c+r*h*l,this.z=a*h*l-r*o*c,this.w=a*h*c+r*o*l,this},e.setFromMat4=function(t){var e,i,n,s,r,a,o,h,l,c,u,d,f,p;if(e=(t=t.data)[0],i=t[1],n=t[2],s=t[4],r=t[5],a=t[6],o=t[8],h=t[9],l=t[10],0===(d=e*e+i*i+n*n))return this;if(d=1/Math.sqrt(d),0===(f=s*s+r*r+a*a))return this;if(f=1/Math.sqrt(f),0===(p=o*o+h*h+l*l))return this;i*=d,n*=d,s*=f,a*=f,o*=p=1/Math.sqrt(p),h*=p;var m=(e*=d)+(r*=f)+(l*=p);return m>=0?(c=Math.sqrt(m+1),this.w=.5*c,c=.5/c,this.x=(a-h)*c,this.y=(o-n)*c,this.z=(i-s)*c):e>r?e>l?(u=e-(r+l)+1,u=Math.sqrt(u),this.x=.5*u,u=.5/u,this.w=(a-h)*u,this.y=(i+s)*u,this.z=(n+o)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u):r>l?(u=r-(l+e)+1,u=Math.sqrt(u),this.y=.5*u,u=.5/u,this.w=(o-n)*u,this.z=(a+h)*u,this.x=(s+i)*u):(u=l-(e+r)+1,u=Math.sqrt(u),this.z=.5*u,u=.5/u,this.w=(i-s)*u,this.x=(o+n)*u,this.y=(h+a)*u),this},e.setFromDirections=function(t,e){var i=1+t.dot(e);return iMath.abs(t.y)?(this.x=-t.z,this.y=0,this.z=t.x,this.w=0):(this.x=0,this.y=-t.z,this.z=t.y,this.w=0):(this.x=t.y*e.z-t.z*e.y,this.y=t.z*e.x-t.x*e.z,this.z=t.x*e.y-t.y*e.x,this.w=i),this.normalize()},e.slerp=function(t,e,i){var n=t.x,s=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w,u=a*c+n*o+s*h+r*l;if(u<0&&(c=-c,o=-o,h=-h,l=-l,u=-u),Math.abs(u)>=1)return this.w=a,this.x=n,this.y=s,this.z=r,this;var d=Math.acos(u),f=Math.sqrt(1-u*u);if(Math.abs(f)<.001)return this.w=.5*a+.5*c,this.x=.5*n+.5*o,this.y=.5*s+.5*h,this.z=.5*r+.5*l,this;var p=Math.sin((1-i)*d)/f,m=Math.sin(i*d)/f;return this.w=a*p+c*m,this.x=n*p+o*m,this.y=s*p+h*m,this.z=r*p+l*m,this},e.transformVector=function(t,e){void 0===e&&(e=new Et);var i=t.x,n=t.y,s=t.z,r=this.x,a=this.y,o=this.z,h=this.w,l=h*i+a*s-o*n,c=h*n+o*i-r*s,u=h*s+r*n-a*i,d=-r*i-a*n-o*s;return e.x=l*h+d*-r+c*-o-u*-a,e.y=c*h+d*-a+u*-r-l*-o,e.z=u*h+d*-o+l*-a-c*-r,e},e.toString=function(){return"["+this.x+", "+this.y+", "+this.z+", "+this.w+"]"},t}();Ot=Vt,Vt.IDENTITY=Object.freeze(new Ot(0,0,0,1)),Vt.ZERO=Object.freeze(new Ot(0,0,0,0));var Gt=new Et,Ht=new Et,Wt=new Et,Xt=new Et,qt=new Et,jt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=new Et(.5,.5,.5)),this.center=void 0,this.halfExtents=void 0,this._min=new Et,this._max=new Et,this.center=t,this.halfExtents=e}var e=t.prototype;return e.add=function(t){var e=this.center,i=e.x,n=e.y,s=e.z,r=this.halfExtents,a=r.x,o=r.y,h=r.z,l=i-a,c=i+a,u=n-o,d=n+o,f=s-h,p=s+h,m=t.center,_=m.x,g=m.y,v=m.z,y=t.halfExtents,x=y.x,S=y.y,b=y.z,w=_-x,T=_+x,A=g-S,C=g+S,E=v-b,M=v+b;wc&&(c=T),Ad&&(d=C),Ep&&(p=M),e.x=.5*(l+c),e.y=.5*(u+d),e.z=.5*(f+p),r.x=.5*(c-l),r.y=.5*(d-u),r.z=.5*(p-f)},e.copy=function(t){this.center.copy(t.center),this.halfExtents.copy(t.halfExtents)},e.clone=function(){return new t(this.center.clone(),this.halfExtents.clone())},e.intersects=function(t){var e=this.getMax(),i=this.getMin(),n=t.getMax(),s=t.getMin();return i.x<=n.x&&e.x>=s.x&&i.y<=n.y&&e.y>=s.y&&i.z<=n.z&&e.z>=s.z},e._intersectsRay=function(t,e){var i=Gt.copy(this.getMin()).sub(t.origin),n=Ht.copy(this.getMax()).sub(t.origin),s=t.direction;0===s.x?(i.x=i.x<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.x=n.x<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.x/=s.x,n.x/=s.x),0===s.y?(i.y=i.y<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.y=n.y<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.y/=s.y,n.y/=s.y),0===s.z?(i.z=i.z<0?-Number.MAX_VALUE:Number.MAX_VALUE,n.z=n.z<0?-Number.MAX_VALUE:Number.MAX_VALUE):(i.z/=s.z,n.z/=s.z);var r=Wt.set(Math.min(i.x,n.x),Math.min(i.y,n.y),Math.min(i.z,n.z)),a=Xt.set(Math.max(i.x,n.x),Math.max(i.y,n.y),Math.max(i.z,n.z)),o=Math.min(Math.min(a.x,a.y),a.z),h=Math.max(Math.max(r.x,r.y),r.z),l=o>=h&&h>=0;return l&&e.copy(t.direction).mulScalar(h).add(t.origin),l},e._fastIntersectsRay=function(t){var e=Gt,i=Ht,n=Wt,s=Xt,r=qt,a=t.direction;return e.sub2(t.origin,this.center),s.set(Math.abs(e.x),Math.abs(e.y),Math.abs(e.z)),n.mul2(e,a),!(s.x>this.halfExtents.x&&n.x>=0)&&(!(s.y>this.halfExtents.y&&n.y>=0)&&(!(s.z>this.halfExtents.z&&n.z>=0)&&(r.set(Math.abs(a.x),Math.abs(a.y),Math.abs(a.z)),i.cross(a,e),i.set(Math.abs(i.x),Math.abs(i.y),Math.abs(i.z)),!(i.x>this.halfExtents.y*r.z+this.halfExtents.z*r.y)&&(!(i.y>this.halfExtents.x*r.z+this.halfExtents.z*r.x)&&!(i.z>this.halfExtents.x*r.y+this.halfExtents.y*r.x)))))},e.intersectsRay=function(t,e){return e?this._intersectsRay(t,e):this._fastIntersectsRay(t)},e.setMinMax=function(t,e){this.center.add2(e,t).mulScalar(.5),this.halfExtents.sub2(e,t).mulScalar(.5)},e.getMin=function(){return this._min.copy(this.center).sub(this.halfExtents)},e.getMax=function(){return this._max.copy(this.center).add(this.halfExtents)},e.containsPoint=function(t){var e=this.getMin(),i=this.getMax();return!(t.xi.x||t.yi.y||t.zi.z)},e.setFromTransformedAabb=function(t,e,i){void 0===i&&(i=!1);var n=t.center,s=t.halfExtents,r=e.data,a=r[0],o=r[4],h=r[8],l=r[1],c=r[5],u=r[9],d=r[2],f=r[6],p=r[10];if(i){var m=a*a+o*o+h*h;if(m>0){var _=1/Math.sqrt(m);a*=_,o*=_,h*=_}if((m=l*l+c*c+u*u)>0){var g=1/Math.sqrt(m);l*=g,c*=g,u*=g}if((m=d*d+f*f+p*p)>0){var v=1/Math.sqrt(m);d*=v,f*=v,p*=v}}this.center.set(r[12]+a*n.x+o*n.y+h*n.z,r[13]+l*n.x+c*n.y+u*n.z,r[14]+d*n.x+f*n.y+p*n.z),this.halfExtents.set(Math.abs(a)*s.x+Math.abs(o)*s.y+Math.abs(h)*s.z,Math.abs(l)*s.x+Math.abs(c)*s.y+Math.abs(u)*s.z,Math.abs(d)*s.x+Math.abs(f)*s.y+Math.abs(p)*s.z)},t.computeMinMax=function(t,e,i,n){if(void 0===n&&(n=t.length/3),n>0){for(var s=t[0],r=t[1],a=t[2],o=s,h=r,l=a,c=3*n,u=3;uo&&(o=d),f>h&&(h=f),p>l&&(l=p)}e.set(s,r,a),i.set(o,h,l)}},e.compute=function(e,i){t.computeMinMax(e,Gt,Ht,i),this.setMinMax(Gt,Ht)},e.intersectsBoundingSphere=function(t){return this._distanceToBoundingSphereSq(t)<=t.radius*t.radius},e._distanceToBoundingSphereSq=function(t){for(var e=this.getMin(),i=this.getMax(),n=0,s=["x","y","z"],r=0;r<3;++r){var a=0,o=t.center[s[r]],h=e[s[r]],l=i[s[r]],c=0;ol&&(a+=(c=o-l)*c),n+=a}return n},e._expand=function(t,e){Gt.add2(this.getMin(),t),Ht.add2(this.getMax(),e),this.setMinMax(Gt,Ht)},t}(),Yt=new Et,Kt=new Et,Zt=function(){function t(t,e){void 0===t&&(t=new Et),void 0===e&&(e=.5),this.center=void 0,this.radius=void 0,this.center=t,this.radius=e}var e=t.prototype;return e.containsPoint=function(t){var e=Yt.sub2(t,this.center).lengthSq(),i=this.radius;return e0&&n>0)return!1;var r=n*n-s;if(r<0)return!1;var a=Math.abs(-n-Math.sqrt(r));return e&&e.copy(t.direction).mulScalar(a).add(t.origin),!0},e.intersectsBoundingSphere=function(t){Yt.sub2(t.center,this.center);var e=t.radius+this.radius;return Yt.lengthSq()<=e*e},t}(),Qt=function(){function t(){this.planes=[];for(var t=0;t<6;t++)this.planes[t]=[]}var e=t.prototype;return e.setFromMat4=function(t){var e,i=t.data,n=this.planes;(e=n[0])[0]=i[3]-i[0],e[1]=i[7]-i[4],e[2]=i[11]-i[8],e[3]=i[15]-i[12];var s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[1])[0]=i[3]+i[0],e[1]=i[7]+i[4],e[2]=i[11]+i[8],e[3]=i[15]+i[12],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[2])[0]=i[3]+i[1],e[1]=i[7]+i[5],e[2]=i[11]+i[9],e[3]=i[15]+i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[3])[0]=i[3]-i[1],e[1]=i[7]-i[5],e[2]=i[11]-i[9],e[3]=i[15]-i[13],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[4])[0]=i[3]-i[2],e[1]=i[7]-i[6],e[2]=i[11]-i[10],e[3]=i[15]-i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s,(e=n[5])[0]=i[3]+i[2],e[1]=i[7]+i[6],e[2]=i[11]+i[10],e[3]=i[15]+i[14],s=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]),e[0]/=s,e[1]/=s,e[2]/=s,e[3]/=s},e.containsPoint=function(t){var e,i;for(e=0;e<6;e++)if((i=this.planes[e])[0]*t.x+i[1]*t.y+i[2]*t.z+i[3]<=0)return!1;return!0},e.containsSphere=function(t){var e,i,n,s=0,r=t.radius,a=t.center,o=a.x,h=a.y,l=a.z,c=this.planes;for(i=0;i<6;i++){if((e=(n=c[i])[0]*o+n[1]*h+n[2]*l+n[3])<=-r)return 0;e>r&&s++}return 6===s?2:1},t}(),$t=function(){function t(t,e){this.origin=new Et,this.direction=Et.FORWARD.clone(),t&&this.origin.copy(t),e&&this.direction.copy(e)}var e=t.prototype;return e.set=function(t,e){return this.origin.copy(t),this.direction.copy(e),this},e.copy=function(t){return this.set(t.origin,t.direction)},e.clone=function(){return new this.constructor(this.origin,this.direction)},t}(),Jt=new $t,te=new Et,ee=new Zt,ie=new zt,ne=function(){function t(t,e){void 0===t&&(t=new zt),void 0===e&&(e=new Et(.5,.5,.5)),this.halfExtents=void 0,this._modelTransform=void 0,this._worldTransform=void 0,this._aabb=void 0,this.halfExtents=e,this._modelTransform=t.clone().invert(),this._worldTransform=t.clone(),this._aabb=new jt(new Et,this.halfExtents)}var e=t.prototype;return e.intersectsRay=function(t,e){if(this._modelTransform.transformPoint(t.origin,Jt.origin),this._modelTransform.transformVector(t.direction,Jt.direction),e){var i=this._aabb._intersectsRay(Jt,e);return ie.copy(this._modelTransform).invert().transformPoint(e,e),i}return this._aabb._fastIntersectsRay(Jt)},e.containsPoint=function(t){return this._modelTransform.transformPoint(t,te),this._aabb.containsPoint(te)},e.intersectsBoundingSphere=function(t){return this._modelTransform.transformPoint(t.center,ee.center),ee.radius=t.radius,!!this._aabb.intersectsBoundingSphere(ee)},y(t,[{key:"worldTransform",get:function(){return this._worldTransform},set:function(t){this._worldTransform.copy(t),this._modelTransform.copy(t).invert()}}]),t}(),se=function(){function t(t,e){void 0===t&&(t=Et.UP),void 0===e&&(e=0),this.normal=new Et,this.distance=void 0,this.normal.copy(t),this.distance=e}var e=t.prototype;return e.setFromPointNormal=function(t,e){return this.normal.copy(e),this.distance=-this.normal.dot(t),this},e.intersectsLine=function(t,e,i){var n=this.distance,s=this.normal.dot(t)+n,r=s/(s-(this.normal.dot(e)+n)),a=r>=0&&r<=1;return a&&i&&i.lerp(t,e,r),a},e.intersectsRay=function(t,e){var i=this.normal.dot(t.direction);if(0===i)return!1;var n=-(this.normal.dot(t.origin)+this.distance)/i;return n>=0&&e&&e.copy(t.direction).mulScalar(n).add(t.origin),n>=0},e.copy=function(t){return this.normal.copy(t.normal),this.distance=t.distance,this},e.clone=function(){return(new(0,this.constructor)).copy(this)},t}(),re="linear",ae="inverse",oe="exponential",he=0,le=10,ce=11,ue=12,de=13,fe=14,pe=15,me=16,_e=17,ge=18,ve=21,ye=24,xe=25,Se=26,be=27,we=new Map([[0,{name:"A8",size:1}],[1,{name:"L8",size:1}],[2,{name:"LA8",size:2}],[3,{name:"RGB565",size:2}],[4,{name:"RGBA5551",size:2}],[5,{name:"RGBA4",size:2}],[6,{name:"RGB8",size:4}],[7,{name:"RGBA8",size:4}],[ce,{name:"RGB16F",size:8}],[ue,{name:"RGBA16F",size:8}],[de,{name:"RGB32F",size:16}],[fe,{name:"RGBA32F",size:16}],[pe,{name:"R32F",size:4}],[me,{name:"DEPTH",size:4}],[_e,{name:"DEPTHSTENCIL",size:4}],[ge,{name:"111110F",size:4}],[19,{name:"SRGB",size:4}],[20,{name:"SRGBA",size:4}],[31,{name:"BGRA8",size:4}],[8,{name:"DXT1",blockSize:8}],[9,{name:"DXT3",blockSize:16}],[le,{name:"DXT5",blockSize:16}],[ve,{name:"ETC1",blockSize:8}],[22,{name:"ETC2_RGB",blockSize:8}],[23,{name:"ETC2_RGBA",blockSize:16}],[ye,{name:"PVRTC_2BPP_RGB_1",blockSize:8}],[xe,{name:"PVRTC_2BPP_RGBA_1",blockSize:8}],[Se,{name:"PVRTC_4BPP_RGB_1",blockSize:8}],[be,{name:"PVRTC_4BPP_RGBA_1",blockSize:8}],[28,{name:"ASTC_4x4",blockSize:16}],[29,{name:"ATC_RGB",blockSize:8}],[30,{name:"ATC_RGBA",blockSize:16}]]),Te=function(t){return void 0!==we.get(t).blockSize},Ae=function(t){switch(t){case de:case fe:return Float32Array;case 3:case 4:case 5:case ce:case ue:return Uint16Array;default:return Uint8Array}},Ce=5,Ee="POSITION",Me="NORMAL",Pe="TANGENT",Re="BLENDWEIGHT",Ie="BLENDINDICES",Le="COLOR",De="TEXCOORD",Oe="TEXCOORD0",ke="TEXCOORD1",Fe="TEXCOORD2",Be="TEXCOORD3",Ue="TEXCOORD4",Ne="TEXCOORD5",ze="TEXCOORD6",Ve="TEXCOORD7",Ge="ATTR",He="ATTR0",We="ATTR1",Xe="ATTR2",qe="ATTR3",je="ATTR4",Ye="ATTR5",Ke="ATTR6",Ze="ATTR7",Qe="ATTR8",$e="ATTR9",Je="ATTR10",ti="ATTR11",ei="ATTR12",ii="ATTR13",ni="ATTR14",si="ATTR15",ri="default",ai="rgbm",oi="rgbe",hi="rgbp",li="swizzleGGGR",ci="2d",ui="2d-array",di="cube",fi="3d",pi="none",mi="cube",_i="equirect",gi="octahedral",vi="wgsl",yi=1,xi=13,Si=14,bi=["bool","int","float","vec2","vec3","vec4","ivec2","ivec3","ivec4","bec2","bec3","bec4","mat2","mat3","mat4","sampler2D","samplerCube","","sampler2DShadow","samplerCubeShadow","sampler3D","","",""],wi="webgl1",Ti="webgl2",Ai="webgpu",Ci="null",Ei=["mesh","view"],Mi="default",Pi=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Uint16Array],Ri=[1,1,2,2,4,4,4,2],Ii={Int8Array:0,Uint8Array:yi,Int16Array:2,Uint16Array:3,Int32Array:4,Uint32Array:5,Float32Array:6},Li=[Uint8Array,Uint16Array,Uint32Array],Di=[1,2,4],Oi={};Oi[Ee]=0,Oi[Me]=1,Oi[Re]=2,Oi[Ie]=3,Oi[Le]=4,Oi[Oe]=5,Oi[ke]=6,Oi[Fe]=7,Oi[Be]=8,Oi[Ue]=9,Oi[Ne]=10,Oi[ze]=11,Oi[Ve]=12,Oi[Pe]=13,Oi[He]=0,Oi[We]=1,Oi[Xe]=2,Oi[qe]=3,Oi[je]=4,Oi[Ye]=5,Oi[Ke]=6,Oi[Ze]=7,Oi[Qe]=8,Oi[$e]=9,Oi[Je]=10,Oi[ti]=11,Oi[ei]=12,Oi[ii]=13,Oi[ni]=14,Oi[si]=15;var ki,Fi,Bi="1.65",Ui=function(t,e,i,n){return void 0===n&&(n=1),t&~(n<>e&i},zi=function(t,e,i){void 0===i&&(i=1);var n=i<>>0}var Ji,tn=function(){function t(){this.map=new Map,this.id=0}return t.prototype.get=function(t){var e=this.map.get(t);return void 0===e&&(e=this.id++,this.map.set(t,e)),e},t}(),en=new tn,nn=[2,4,8,12,16],sn=function(){function t(t,e,i){this.device=t,this._elements=[],this.hasUv0=!1,this.hasUv1=!1,this.hasColor=!1,this.hasTangents=!1,this.verticesByteSize=0,this.vertexCount=i,this.interleaved=void 0===i,this.instancing=!1,this.size=e.reduce((function(t,e){return t+4*Math.ceil(e.components*Ri[e.type]/4)}),0);for(var n,s=0,r=0,a=e.length;r1?_:1),this.autoResolve=null==(a=t.autoResolve)||a,this.name=t.name,this.name)||(this.name=null==(p=this._colorBuffer)?void 0:p.name);this.name||(this.name=null==(m=this._depthBuffer)?void 0:m.name);this.name||(this.name="Untitled"),this.flipY=null!=(o=t.flipY)&&o,this.validateMrt(),this.impl=f.createRenderTargetImpl(this)}var e=t.prototype;return e.destroy=function(){var t=this._device;t&&(t.targets.delete(this),t.renderTarget===this&&t.setRenderTarget(null),this.destroyFrameBuffers())},e.destroyFrameBuffers=function(){var t=this._device;t&&this.impl.destroy(t)},e.destroyTextureBuffers=function(){var t,e;null==(t=this._depthBuffer)||t.destroy(),this._depthBuffer=null,null==(e=this._colorBuffers)||e.forEach((function(t){t.destroy()})),this._colorBuffers=null,this._colorBuffer=null},e.resize=function(t,e){if(this.width!==t||this.height!==e){var i,n,s=this._device;this.destroyFrameBuffers(),s.renderTarget===this&&s.setRenderTarget(null),null==(i=this._depthBuffer)||i.resize(t,e),null==(n=this._colorBuffers)||n.forEach((function(i){i.resize(t,e)})),this.validateMrt(),this.impl=s.createRenderTargetImpl(this)}},e.validateMrt=function(){},e.init=function(){this.impl.init(this._device,this)},e.loseContext=function(){this.impl.loseContext()},e.resolve=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!!this._depthBuffer),this._device&&this._samples>1&&this.impl.resolve(this._device,this,t,e)},e.copy=function(t,e,i){if(!this._device){if(!t._device)return!1;this._device=t._device}return this._device.copyRenderTarget(t,this,e,i)},e.getColorBuffer=function(t){var e;return null==(e=this._colorBuffers)?void 0:e[t]},y(t,[{key:"initialized",get:function(){return this.impl.initialized}},{key:"device",get:function(){return this._device}},{key:"samples",get:function(){return this._samples}},{key:"depth",get:function(){return this._depth}},{key:"stencil",get:function(){return this._stencil}},{key:"colorBuffer",get:function(){return this._colorBuffer}},{key:"depthBuffer",get:function(){return this._depthBuffer}},{key:"face",get:function(){return this._face}},{key:"width",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.width)||(null==(e=this._depthBuffer)?void 0:e.width)||this._device.width}},{key:"height",get:function(){var t,e;return(null==(t=this._colorBuffer)?void 0:t.height)||(null==(e=this._depthBuffer)?void 0:e.height)||this._device.height}}]),t}(),cn=function(){function t(){this.bindGroup=void 0}var e=t.prototype;return e.update=function(t){this.destroy();var e=t.device,i=this.createDescriptor(e,t);this.bindGroup=e.wgpu.createBindGroup(i)},e.destroy=function(){this.bindGroup=null},e.createDescriptor=function(t,e){var i=[],n=e.format,s=0;return e.uniformBuffers.forEach((function(t){var e=t.persistent?t.impl.buffer:t.allocation.gpuBuffer.buffer;i.push({binding:s++,resource:{buffer:e,offset:0,size:t.format.byteSize}})})),e.textures.forEach((function(e,r){var a=e.impl,o=n.textureFormats[r],h=a.getView(t);i.push({binding:s++,resource:h});var l=a.getSampler(t,o.sampleType);i.push({binding:s++,resource:l})})),e.storageTextures.forEach((function(e,n){var r=e.impl.getView(t);i.push({binding:s++,resource:r})})),{layout:e.format.impl.bindGroupLayout,entries:i}},t}(),un=function(){function t(){}return t.shaderStage=function(t){var e=0;return 1&t&&(e|=GPUShaderStage.VERTEX),2&t&&(e|=GPUShaderStage.FRAGMENT),4&t&&(e|=GPUShaderStage.COMPUTE),e},t}(),dn=[];dn[0]="",dn[1]="r8unorm",dn[2]="rg8unorm",dn[3]="",dn[4]="",dn[5]="",dn[6]="rgba8unorm",dn[7]="rgba8unorm",dn[8]="bc1-rgba-unorm",dn[9]="bc2-rgba-unorm",dn[10]="bc3-rgba-unorm",dn[11]="",dn[12]="rgba16float",dn[13]="",dn[14]="rgba32float",dn[15]="r32float",dn[16]="depth32float",dn[17]="depth24plus-stencil8",dn[18]="rg11b10ufloat",dn[19]="",dn[20]="",dn[21]="",dn[22]="etc2-rgb8unorm",dn[23]="etc2-rgba8unorm",dn[24]="",dn[25]="",dn[26]="",dn[27]="",dn[28]="astc-4x4-unorm",dn[29]="",dn[30]="",dn[31]="bgra8unorm";var fn=[];fn[0]="filtering",fn[1]="non-filtering",fn[2]="comparison";var pn=[];pn[0]="float",pn[1]="unfilterable-float",pn[2]="depth";var mn=new tn,_n=function(){function t(t){var e=t.device,i=this.createDescriptor(t),n=i.key,s=i.descr;this.key=mn.get(n),this.bindGroupLayout=e.wgpu.createBindGroupLayout(s)}var e=t.prototype;return e.destroy=function(){this.bindGroupLayout=null},e.loseContext=function(){},e.getTextureSlot=function(t,e){return t.bufferFormats.length+2*e},e.createDescriptor=function(t){var e=[],i="",n=0;return t.bufferFormats.forEach((function(t){var s=un.shaderStage(t.visibility);i+="#"+n+"U:"+s,e.push({binding:n++,visibility:s,buffer:{type:"uniform",hasDynamicOffset:!0}})})),t.textureFormats.forEach((function(t){var s=un.shaderStage(t.visibility),r=t.sampleType,a=t.textureDimension,o=pn[r];i+="#"+n+"T:"+s+"-"+o+"-"+a+"-false",e.push({binding:n++,visibility:s,texture:{sampleType:o,viewDimension:a,multisampled:false}});var h=fn[r];i+="#"+n+"S:"+s+"-"+h,e.push({binding:n++,visibility:s,sampler:{type:h}})})),t.storageTextureFormats.forEach((function(t){var s=t.format,r=t.textureDimension;i+="#"+n+"ST:"+s+"-"+r,e.push({binding:n++,visibility:GPUShaderStage.COMPUTE,storageTexture:{access:"write-only",format:dn[s],viewDimension:r}})})),{key:i,descr:{entries:e}}},t}(),gn=function(){function t(){this.buffer=null}var e=t.prototype;return e.destroy=function(t){this.buffer&&(this.buffer.destroy(),this.buffer=null)},e.loseContext=function(){},e.unlock=function(t,e,i,n){var s,r,a=t.wgpu;if(!this.buffer){var o=n.byteLength+3&-4;this.buffer=t.wgpu.createBuffer({size:o,usage:i|GPUBufferUsage.COPY_DST})}var h=null!=(s=n.byteOffset)?s:0,l=new Uint8Array(null!=(r=n.buffer)?r:n,h,n.byteLength),c=new Uint8Array(this.buffer.size);c.set(l),a.queue.writeBuffer(this.buffer,0,c,0,c.length)},y(t,[{key:"initialized",get:function(){return!!this.buffer}}]),t}(),vn=function(t){function e(e){var i;return(i=t.call(this)||this).format=null,i.format=1===e.format?"uint16":"uint32",i}return S(e,t),e.prototype.unlock=function(e){var i=e.device;t.prototype.unlock.call(this,i,e.usage,GPUBufferUsage.INDEX,e.storage)},e}(gn),yn=function(t,e){if(t.size!==e.size)return!1;for(var i=0;i1?"x"+o.numComponents:"")}),e&&a!==r-1||(i.push({attributes:s,arrayStride:o.stride,stepMode:n}),s=[])}};return t&&n(t),e&&n(e),i},t}(),wn=function(){function t(t){this.device=t}return t.prototype.getPipelineLayout=function(t){var e=[];t.forEach((function(t){e.push(t.bindGroupLayout)}));var i={bindGroupLayouts:e};return this.device.wgpu.createPipelineLayout(i)},t}(),Tn=["point-list","line-list",void 0,"line-strip","triangle-list","triangle-strip",void 0],An=["add","subtract","reverse-subtract","min","max"],Cn=["zero","one","src","one-minus-src","dst","one-minus-dst","src-alpha","src-alpha-saturated","one-minus-src-alpha","dst-alpha","one-minus-dst-alpha","constant","one-minus-constant"],En=["never","less","equal","less-equal","greater","not-equal","greater-equal","always"],Mn=["none","back","front"],Pn=["keep","zero","replace","increment-clamp","increment-wrap","decrement-clamp","decrement-wrap","invert"],Rn=function(){this.pipeline=void 0,this.hashes=void 0},In=function(t){function e(e){var i;return(i=t.call(this,e)||this).lookupHashes=new Uint32Array(13),i.vertexBufferLayout=new bn,i.cache=new Map,i}S(e,t);var i=e.prototype;return i.get=function(t,e,i,n,s,r,a,o,h,l,c,u){var d,f,p,m,_,g,v,y,x=this.lookupHashes;x[0]=t.type,x[1]=n.id,x[2]=h,x[3]=o.key,x[4]=a.key,x[5]=null!=(d=null==e?void 0:e.renderingHash)?d:0,x[6]=null!=(f=null==i?void 0:i.renderingHash)?f:0,x[7]=s.impl.key,x[8]=null!=(p=null==(m=r[0])?void 0:m.key)?p:0,x[9]=null!=(_=null==(g=r[1])?void 0:g.key)?_:0,x[10]=null!=(v=null==(y=r[2])?void 0:y.key)?v:0,x[11]=l?c.key:0,x[12]=l?u.key:0;var S=$i(x),b=this.cache.get(S);if(b)for(var w=0;w0){f.fragment={module:d.getFragmentShaderModule(),entryPoint:d.fragmentEntryPoint,targets:[]};var m=0;s.redWrite&&(m|=GPUColorWrite.RED),s.greenWrite&&(m|=GPUColorWrite.GREEN),s.blueWrite&&(m|=GPUColorWrite.BLUE),s.alphaWrite&&(m|=GPUColorWrite.ALPHA);var _=this.getBlend(s);p.forEach((function(t){f.fragment.targets.push({format:t.format,writeMask:m,blend:_})}))}return u.createRenderPipeline(f)},e}(wn),Ln=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.get=function(t,e){var i=this.getPipelineLayout([e.impl]);return this.create(t,i)},i.create=function(t,e){var i=this.device.wgpu,n=t.impl,s={compute:{module:n.getComputeShaderModule(),entryPoint:n.computeEntryPoint},layout:e};return i.createComputePipeline(s)},e}(wn),Dn=new tn,On=function(){function t(){this.format=void 0,this.multisampledBuffer=void 0}return t.prototype.destroy=function(){var t;null==(t=this.multisampledBuffer)||t.destroy(),this.multisampledBuffer=null},t}(),kn=function(){function t(t){var e=this;this.initialized=!1,this.key=void 0,this.colorAttachments=[],this.depthFormat=void 0,this.hasStencil=void 0,this.depthTexture=null,this.depthTextureInternal=!1,this.assignedColorTexture=null,this.renderPassDescriptor={},this.renderTarget=t,t._colorBuffers&&t._colorBuffers.forEach((function(t,i){e.setColorAttachment(i,void 0,t.impl.format)})),this.updateKey()}var e=t.prototype;return e.destroy=function(t){var e;(this.initialized=!1,this.depthTextureInternal)&&(null==(e=this.depthTexture)||e.destroy(),this.depthTexture=null);this.assignedColorTexture=null,this.colorAttachments.forEach((function(t){t.destroy()})),this.colorAttachments.length=0},e.updateKey=function(){var t=this.renderTarget,e=t.samples+":"+(t.depth?this.depthFormat:"nodepth");this.colorAttachments.forEach((function(t){e+=":"+t.format})),this.key=Dn.get(e)},e.setDepthFormat=function(t){this.depthFormat=t,this.hasStencil="depth24plus-stencil8"===t},e.assignColorTexture=function(t){this.assignedColorTexture=t;var e=t.createView(),i=this.renderPassDescriptor.colorAttachments[0];this.renderTarget.samples>1?i.resolveTarget=e:i.view=e,this.setColorAttachment(0,void 0,t.format),this.updateKey()},e.setColorAttachment=function(t,e,i){this.colorAttachments[t]||(this.colorAttachments[t]=new On),e&&(this.colorAttachments[t].multisampledBuffer=e),i&&(this.colorAttachments[t].format=i)},e.init=function(t,e){var i,n,s=t.wgpu;this.initDepthStencil(s,e),this.renderPassDescriptor.colorAttachments=[];for(var r=null!=(i=null==(n=e._colorBuffers)?void 0:n.length)?i:1,a=0;a1?GPUTextureUsage.TEXTURE_BINDING:GPUTextureUsage.COPY_SRC,this.depthTexture=t.createTexture(o),this.depthTextureInternal=!0}this.renderPassDescriptor.depthStencilAttachment={view:this.depthTexture.createView()}}},e.initColor=function(t,e,i){var n={},s=e.samples,r=e.width,a=e.height,o=e.getColorBuffer(i),h=null;if(o){h=o.cubemap?o.impl.createView({dimension:"2d",baseArrayLayer:e.face,arrayLayerCount:1,mipLevelCount:1}):o.impl.createView({mipLevelCount:1})}if(s>1){var l,c,u={size:[r,a,1],dimension:"2d",sampleCount:s,format:null!=(l=null==(c=this.colorAttachments[i])?void 0:c.format)?l:o.impl.format,usage:GPUTextureUsage.RENDER_ATTACHMENT},d=t.createTexture(u);this.setColorAttachment(i,d,u.format),n.view=d.createView(),n.resolveTarget=h}else n.view=h;return n},e.setupForRenderPass=function(t){for(var e,i,n=null!=(e=null==(i=this.renderPassDescriptor.colorAttachments)?void 0:i.length)?e:0,s=0;s>e,1)},t.calcMipLevelsCount=function(t,e,i){return void 0===i&&(i=1),1+Math.floor(Math.log2(Math.max(t,e,i)))},t.calcLevelGpuSize=function(t,e,i,n){var s,r,a,o=we.get(n),h=null!=(s=null==(r=we.get(n))?void 0:r.size)?s:0;if(h>0)return t*e*i*h;var l=null!=(a=o.blockSize)?a:0,c=Math.floor((t+3)/4),u=Math.floor((e+3)/4),d=Math.floor((i+3)/4);return n!==ye&&n!==xe||(c=Math.max(Math.floor(c/2),1)),c*u*d*l},t.calcGpuSize=function(e,i,n,s,r,a){for(var o=0;o+=t.calcLevelGpuSize(e,i,n,s),r&&(1!==e||1!==i||1!==n);)e=Math.max(e>>1,1),i=Math.max(i>>1,1),n=Math.max(n>>1,1);return o*(a?6:1)},t}(),is=[];is[0]="repeat",is[1]="clamp-to-edge",is[2]="mirror-repeat";var ns=[];ns[0]={level:"nearest",mip:"nearest"},ns[1]={level:"linear",mip:"nearest"},ns[2]={level:"nearest",mip:"nearest"},ns[3]={level:"nearest",mip:"linear"},ns[4]={level:"linear",mip:"nearest"},ns[5]={level:"linear",mip:"linear"};var ss=function(){function t(t){this.gpuTexture=void 0,this.view=void 0,this.samplers=[],this.descr=void 0,this.format=void 0,this.texture=t,this.format=dn[t.format],this.create(t.device)}var e=t.prototype;return e.create=function(t){var e,i=this.texture,n=t.wgpu,s=i.requiredMipLevels;this.descr={size:{width:i.width,height:i.height,depthOrArrayLayers:i.cubemap?6:1},format:this.format,mipLevelCount:s,sampleCount:1,dimension:i.volume?"3d":"2d",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC|(Te(i.format)?0:GPUTextureUsage.RENDER_ATTACHMENT)|(i.storage?GPUTextureUsage.STORAGE_BINDING:0)},this.gpuTexture=n.createTexture(this.descr),this.texture.format===_e&&(e={format:"depth24plus",aspect:"depth-only"}),this.view=this.createView(e)},e.destroy=function(t){},e.propertyChanged=function(t){this.samplers.length=0},e.getView=function(t){return this.uploadImmediate(t,this.texture),this.view},e.createView=function(t){var e,i,n,s,r,a,o,h=null!=t?t:{},l=this.descr,c=this.texture,u={format:null!=(e=h.format)?e:l.format,dimension:null!=(i=h.dimension)?i:c.cubemap?"cube":c.volume?"3d":"2d",aspect:null!=(n=h.aspect)?n:"all",baseMipLevel:null!=(s=h.baseMipLevel)?s:0,mipLevelCount:null!=(r=h.mipLevelCount)?r:l.mipLevelCount,baseArrayLayer:null!=(a=h.baseArrayLayer)?a:0,arrayLayerCount:null!=(o=h.arrayLayerCount)?o:l.depthOrArrayLayers};return this.gpuTexture.createView(u)},e.getSampler=function(t,e){var i=this.samplers[e];if(!i){var n=this.texture,s={addressModeU:is[n.addressU],addressModeV:is[n.addressV],addressModeW:is[n.addressW]};!e&&n.compareOnRead&&(e=2),2===e?(s.compare="less",s.magFilter="linear",s.minFilter="linear"):1===e||this.texture.format===fe||this.texture.format===_e||this.texture.format===ue?(s.magFilter="nearest",s.minFilter="nearest",s.mipmapFilter="nearest"):(s.magFilter=ns[n.magFilter].level,s.minFilter=ns[n.minFilter].level,s.mipmapFilter=ns[n.minFilter].mip);var r="linear"===s.minFilter&&"linear"===s.magFilter&&"linear"===s.mipmapFilter;s.maxAnisotropy=r?_t.clamp(Math.round(n._anisotropy),1,t.maxTextureAnisotropy):1,i=t.wgpu.createSampler(s),this.samplers[e]=i}return i},e.loseContext=function(){},e.uploadImmediate=function(t,e){(e._needsUpload||e._needsMipmapsUpload)&&(this.uploadData(t),e._needsUpload=!1,e._needsMipmapsUpload=!1)},e.uploadData=function(t){var e=this.texture;if(e._levels){for(var i=!1,n=e.requiredMipLevels,s=0;s<=|&+-]/g,_s=function(){function t(){}return t.run=function(t,e){void 0===e&&(e=!1),t=(t=t.replace(/\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm,"$1")).split(/\r?\n/).map((function(t){return t.trimEnd()})).join("\n");var i=new Map;if(e){var n=new Map,s=t.match(/(pcFragColor[1-8])\b/g);null==s||s.forEach((function(t){var e,i=parseInt(t.charAt(t.length-1),10);n.set(i,(null!=(e=n.get(i))?e:0)+1)})),n.forEach((function(t,e){1===t&&i.set("REMOVE_COLOR_ATTACHMENT_"+e,"")}))}t=this._preprocess(t,i);var r=new Map;return i.forEach((function(t,e){Number.isInteger(parseFloat(t))&&!t.includes(".")&&r.set(e,t)})),null!==t&&(t=t.split(/\r?\n/).map((function(t){return""===t.trim()?"":t})).map((function(t){return r.forEach((function(e,i){t=t.replace(new RegExp("\\["+i+"\\]","g"),"["+e+"]")})),t})).join("\n"),t=t.replace(/(\n\n){3,}/gm,"\n\n")),t},t._preprocess=function(e,i){void 0===i&&(i=new Map);for(var n,s=e,r=[],a=!1;null!==(n=os.exec(e));){var o=n[1];switch(o){case"define":hs.lastIndex=n.index;var h=hs.exec(e);a||(a=null===h);var l=h[1];fs.lastIndex=h.index;var c=fs.exec(l)[1],u=l.substring(c.length).trim();""===u&&(u="true"),t._keep(r)&&i.set(c,u),os.lastIndex=h.index+h[0].length;break;case"undef":cs.lastIndex=n.index;var d=cs.exec(e),f=d[1].trim();t._keep(r)&&i.delete(f),os.lastIndex=d.index+d[0].length;break;case"extension":ls.lastIndex=n.index;var p=ls.exec(e);if(a||(a=null===p),p){var m=p[1];t._keep(r)&&i.set(m,"true")}os.lastIndex=p.index+p[0].length;break;case"ifdef":case"ifndef":case"if":us.lastIndex=n.index;var _=us.exec(e),g=_[2],v=t.evaluate(g,i);a||(a=v.error);var y=v.result;"ifndef"===o&&(y=!y),r.push({anyKeep:y,keep:y,start:n.index,end:us.lastIndex}),os.lastIndex=_.index+_[0].length;break;case"endif":case"else":case"elif":ds.lastIndex=n.index;var x=ds.exec(e),S=r.pop(),b=S.keep?e.substring(S.end,n.index):"";e=e.substring(0,S.start)+b+e.substring(ds.lastIndex),os.lastIndex=S.start+b.length;var w=x[1];if("else"===w||"elif"===w){var T=!1;if(!S.anyKeep)if("else"===w)T=!S.keep;else{var A=t.evaluate(x[2],i);T=A.result,a||(a=A.error)}r.push({anyKeep:S.anyKeep||T,keep:T,start:os.lastIndex,end:os.lastIndex})}}}return a?(console.warn("Failed to preprocess shader: ",{source:s}),s):e},t._keep=function(t){for(var e=0;e=0;r--){var a=this.usedBuffers[r],o=a.stagingBuffer,h=a.gpuBuffer,l=a.offset,c=a.size,u=o.buffer;u.unmap(),s.copyBufferToBuffer(u,l,h.buffer,l,c),n.push(h)}var d=s.finish();i.addCommandBuffer(d,!0);for(var f=0;f0&&(this._frameTime=e[0]),E.get(l))for(var n=0;n0&&(this.dynamicBuffers.submit(),this.wgpu.queue.submit(this.commandBuffers),this.commandBuffers.length=0,this.dynamicBuffers.onCommandBuffersSubmitted())},n.clear=function(t){t.flags&&this.clearRenderer.clear(this,this.renderTarget,t,this.defaultClearOptions)},n.setDepthBias=function(t){},n.setDepthBiasValues=function(t,e){},n.setViewport=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.vx=t,this.vy=e,this.vw=i,this.vh=n,this.passEncoder.setViewport(t,e,i,n,0,1))},n.setScissor=function(t,e,i,n){this.passEncoder&&(this.renderTarget.flipY||(e=this.renderTarget.height-e-n),this.sx=t,this.sy=e,this.sw=i,this.sh=n,this.passEncoder.setScissorRect(t,e,i,n))},n.copyRenderTarget=function(t,e,i,n){var s,r={width:t?t.width:e.width,height:t?t.height:e.height,depthOrArrayLayers:1},a=null!=(s=this.commandEncoder)?s:this.wgpu.createCommandEncoder();if(i){var o={texture:t?t.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0},h={texture:e?e.colorBuffer.impl.gpuTexture:this.renderTarget.impl.assignedColorTexture,mipLevel:0};a.copyTextureToTexture(o,h,r)}if(n){var l=(t||this.renderTarget).impl.depthTexture;if(t.samples>1){var c=e.colorBuffer.impl.gpuTexture;this.resolver.resolveDepth(a,l,c)}else{var u={texture:l,mipLevel:0},d={texture:e?e.depthBuffer.impl.gpuTexture:this.renderTarget.impl.depthTexture,mipLevel:0};a.copyTextureToTexture(u,d,r)}}if(!this.commandEncoder){var f=a.finish();this.addCommandBuffer(f)}return!0},e}(on),Bs=0,Us=function(){function t(t,e){var i,n,s,r,a,o,h,l,c,u,d,f,p,m,_,g,v,y,x,S,b,w;(void 0===e&&(e={}),this.name=void 0,this._isRenderTarget=!1,this._gpuSize=0,this.id=Bs++,this._invalid=!1,this._lockedLevel=-1,this.renderVersionDirty=0,this._storage=!1,this.device=t,this.name=null!=(i=e.name)?i:"",this._width=Math.floor(null!=(n=e.width)?n:4),this._height=Math.floor(null!=(s=e.height)?s:4),this._format=null!=(r=e.format)?r:7,this._compressed=Te(this._format),t.supportsVolumeTextures)?(this._volume=null!=(S=e.volume)&&S,this._depth=Math.floor(null!=(b=e.depth)?b:1),this._arrayLength=Math.floor(null!=(w=e.arrayLength)?w:0)):(this._volume=!1,this._depth=1,this._arrayLength=0);this._storage=null!=(a=e.storage)&&a,this._cubemap=null!=(o=e.cubemap)&&o,this.fixCubemapSeams=null!=(h=e.fixCubemapSeams)&&h,this._flipY=null!=(l=e.flipY)&&l,this._premultiplyAlpha=null!=(c=e.premultiplyAlpha)&&c,this._mipmaps=null==(u=null!=(d=e.mipmaps)?d:e.autoMipmap)||u,this._minFilter=null!=(f=e.minFilter)?f:5,this._magFilter=null!=(p=e.magFilter)?p:1,this._anisotropy=null!=(m=e.anisotropy)?m:1,this._addressU=null!=(_=e.addressU)?_:0,this._addressV=null!=(g=e.addressV)?g:0,this._addressW=null!=(v=e.addressW)?v:0,this._compareOnRead=null!=(y=e.compareOnRead)&&y,this._compareFunc=null!=(x=e.compareFunc)?x:1,this.type=ri,e.hasOwnProperty("type")?this.type=e.type:e.hasOwnProperty("rgbm")?this.type=e.rgbm?ai:ri:e.hasOwnProperty("swizzleGGGR")&&(this.type=e.swizzleGGGR?li:ri),this.projection=pi,this._cubemap?this.projection=mi:e.projection&&e.projection!==mi&&(this.projection=e.projection),this.impl=t.createTextureImpl(this),this.dirtyAll(),this._levels=e.levels,this._levels?this.upload():this._levels=this._cubemap?[[null,null,null,null,null,null]]:[null],t.textures.push(this)}var e,i=t.prototype;return i.destroy=function(){var t=this.device;if(t){var e=t.textures.indexOf(this);-1!==e&&t.textures.splice(e,1),t.scope.removeValue(this),this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this._gpuSize),this._levels=null,this.device=null}},i.resize=function(t,e,i){void 0===i&&(i=1);var n=this.device;this.adjustVramSizeTracking(n._vram,-this._gpuSize),this.impl.destroy(n),this._width=Math.floor(t),this._height=Math.floor(e),this._depth=Math.floor(i),this.impl=n.createTextureImpl(this),this.dirtyAll()},i.loseContext=function(){this.impl.loseContext(),this.dirtyAll()},i.adjustVramSizeTracking=function(t,e){t.tex+=e},i.propertyChanged=function(t){this.impl.propertyChanged(t),this.renderVersionDirty=this.device.renderVersion},i.dirtyAll=function(){this._levelsUpdated=this._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0],this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,this._mipmapsUploaded=!1,this.propertyChanged(255)},i.lock=function(t){void 0===t&&(t={}),void 0===t.level&&(t.level=0),void 0===t.face&&(t.face=0),void 0===t.mode&&(t.mode=2),this._lockedLevel=t.level;var e=this.cubemap?this._levels[t.face]:this._levels;if(null===e[t.level]){var i=Math.max(1,this._width>>t.level),n=Math.max(1,this._height>>t.level),s=Math.max(1,this._depth>>t.level),r=new ArrayBuffer(es.calcLevelGpuSize(i,n,s,this._format));e[t.level]=new(Ae(this._format))(r)}return e[t.level]},i.setSource=function(t,e){void 0===e&&(e=0);var i,n,s=!1;if(this._cubemap){if(t[0]){i=t[0].width||0,n=t[0].height||0;for(var r=0;r<6;r++){var a=t[r];if(!a||a.width!==i||a.height!==n||!this.device._isBrowserInterface(a)){s=!0;break}}}else s=!0;if(!s)for(var o=0;o<6;o++)this._levels[e][o]!==t[o]&&(this._levelsUpdated[e][o]=!0)}else this.device._isBrowserInterface(t)||(s=!0),s||(t!==this._levels[e]&&(this._levelsUpdated[e]=!0),i=t.width,n=t.height);if(s)if(this._width=4,this._height=4,this._cubemap)for(var h=0;h<6;h++)this._levels[e][h]=null,this._levelsUpdated[e][h]=!0;else this._levels[e]=null,this._levelsUpdated[e]=!0;else 0===e&&(this._width=i,this._height=n),this._levels[e]=t;this._invalid===s&&s||(this._invalid=s,this.upload())},i.getSource=function(t){return void 0===t&&(t=0),this._levels[t]},i.unlock=function(){this._lockedLevel,this.upload(),this._lockedLevel=-1},i.upload=function(){var t,e;this._needsUpload=!0,this._needsMipmapsUpload=this._mipmaps,null==(t=(e=this.impl).uploadImmediate)||t.call(e,this.device,this)},i.downloadAsync=(e=g(m().mark((function t(){var e,i,n,s=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=[],i=m().mark((function t(){var i,r,a,o;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:i=new ln({colorBuffer:s,depth:!1,face:n}),s.device.setRenderTarget(i),s.device.initRenderTarget(i),(r=s.cubemap?s._levels[n]:s._levels)[0],r[0]&&s.device._isBrowserInterface(r[0])&&(r[0]=null),a=s.lock({face:n}),o=null==s.device.readPixelsAsync?void 0:s.device.readPixelsAsync(0,0,s.width,s.height,a).then((function(){return i.destroy()})),e.push(o);case 9:case"end":return t.stop()}}),t)})),n=0;case 3:if(!(n<(this.cubemap?6:1))){t.next=8;break}return t.delegateYield(i(),"t0",5);case 5:n++,t.next=3;break;case 8:return t.next=10,Promise.all(e);case 10:case"end":return t.stop()}}),t,this)}))),function(){return e.apply(this,arguments)}),y(t,[{key:"requiredMipLevels",get:function(){return this.mipmaps?es.calcMipLevelsCount(this.width,this.height):1}},{key:"minFilter",get:function(){return this._minFilter},set:function(t){this._minFilter!==t&&(this._minFilter=t,this.propertyChanged(1))}},{key:"magFilter",get:function(){return this._magFilter},set:function(t){this._magFilter!==t&&(this._magFilter=t,this.propertyChanged(2))}},{key:"addressU",get:function(){return this._addressU},set:function(t){this._addressU!==t&&(this._addressU=t,this.propertyChanged(4))}},{key:"addressV",get:function(){return this._addressV},set:function(t){this._addressV!==t&&(this._addressV=t,this.propertyChanged(8))}},{key:"addressW",get:function(){return this._addressW},set:function(t){this.device.supportsVolumeTextures&&this._volume&&t!==this._addressW&&(this._addressW=t,this.propertyChanged(16))}},{key:"compareOnRead",get:function(){return this._compareOnRead},set:function(t){this._compareOnRead!==t&&(this._compareOnRead=t,this.propertyChanged(32))}},{key:"compareFunc",get:function(){return this._compareFunc},set:function(t){this._compareFunc!==t&&(this._compareFunc=t,this.propertyChanged(64))}},{key:"anisotropy",get:function(){return this._anisotropy},set:function(t){this._anisotropy!==t&&(this._anisotropy=t,this.propertyChanged(128))}},{key:"mipmaps",get:function(){return this._mipmaps},set:function(t){this._mipmaps!==t&&(this._mipmaps=t,this.device.isWebGPU,t&&(this._needsMipmapsUpload=!0))}},{key:"storage",get:function(){return this._storage}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"depth",get:function(){return this._depth}},{key:"format",get:function(){return this._format}},{key:"cubemap",get:function(){return this._cubemap}},{key:"gpuSize",get:function(){var t=this.pot&&this._mipmaps&&!(this._compressed&&1===this._levels.length);return es.calcGpuSize(this._width,this._height,this._depth,this._format,t,this._cubemap)}},{key:"array",get:function(){return this._arrayLength>0}},{key:"arrayLength",get:function(){return this._arrayLength}},{key:"volume",get:function(){return this._volume}},{key:"flipY",get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this._needsUpload=!0)}},{key:"premultiplyAlpha",get:function(){return this._premultiplyAlpha},set:function(t){this._premultiplyAlpha!==t&&(this._premultiplyAlpha=t,this._needsUpload=!0)}},{key:"pot",get:function(){return _t.powerOfTwo(this._width)&&_t.powerOfTwo(this._height)}},{key:"encoding",get:function(){switch(this.type){case ai:return"rgbm";case oi:return"rgbe";case hi:return"rgbp";default:return this.format===ce||this.format===de||this.format===ue||this.format===fe?"linear":"srgb"}}}]),t}(),Ns=function(){function t(){this.bufferId=null}var e=t.prototype;return e.destroy=function(t){this.bufferId&&(t.gl.deleteBuffer(this.bufferId),this.bufferId=null)},e.loseContext=function(){this.bufferId=null},e.unlock=function(t,e,i,n){var s=t.gl;if(this.bufferId)s.bindBuffer(i,this.bufferId),s.bufferSubData(i,0,n);else{var r;switch(e){case 0:r=s.STATIC_DRAW;break;case 1:r=s.DYNAMIC_DRAW;break;case 2:r=s.STREAM_DRAW;break;case 3:r=t.isWebGL2?s.DYNAMIC_COPY:s.STATIC_DRAW}this.bufferId=s.createBuffer(),s.bindBuffer(i,this.bufferId),s.bufferData(i,n,r)}},y(t,[{key:"initialized",get:function(){return!!this.bufferId}}]),t}(),zs=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;se||n>e){var s=e/Math.max(i,n),r=Math.floor(i*s),a=Math.floor(n*s),o=document.createElement("canvas");return o.width=r,o.height=a,o.getContext("2d").drawImage(t,0,0,i,n,0,0,r,a),o}return t}var $s=function(){function t(){this._glTexture=null,this._glTarget=void 0,this._glFormat=void 0,this._glInternalFormat=void 0,this._glPixelType=void 0,this._glCreated=void 0,this.dirtyParameterFlags=0}var e=t.prototype;return e.destroy=function(t){if(this._glTexture){for(var e=0;et.maxCubeMapSize||h.height>t.maxCubeMapSize)&&(h=Qs(h,t.maxCubeMapSize),0===r&&(e._width=h.width,e._height=h.height)),t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,this._glFormat,this._glPixelType,h):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,this._glFormat,this._glPixelType,h)}}else for(s=1/Math.pow(2,r),o=0;o<6;o++)if(e._levelsUpdated[0][o]){var l=n[o];e._compressed?this._glCreated&&l?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glInternalFormat,l):i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,l):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&l?i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,l):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+o,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,l))}}else if(e._volume)e._compressed?i.compressedTexImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),i.texImage3D(i.TEXTURE_3D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),Math.max(e._depth*s,1),0,this._glFormat,this._glPixelType,n));else if(e.array&&"object"==typeof n){if(e._arrayLength===n.length)if(e._compressed)for(var c=0;ct.maxTextureSize||n.height>t.maxTextureSize)&&(n=Qs(n,t.maxTextureSize),0===r&&(e._width=n.width,e._height=n.height));var d=n.width||n.videoWidth,f=n.height||n.videoHeight;t.setUnpackFlipY(e._flipY),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&e._width===d&&e._height===f?i.texSubImage2D(i.TEXTURE_2D,r,0,0,this._glFormat,this._glPixelType,n):(i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,this._glFormat,this._glPixelType,n),0===r&&(e._width=d,e._height=f))}else s=1/Math.pow(2,r),e._compressed?this._glCreated&&n?i.compressedTexSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),this._glInternalFormat,n):i.compressedTexImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(Math.floor(e._width*s),1),Math.max(Math.floor(e._height*s),1),0,n):(t.setUnpackFlipY(!1),t.setUnpackPremultiplyAlpha(e._premultiplyAlpha),this._glCreated&&n?i.texSubImage2D(i.TEXTURE_2D,r,0,0,Math.max(e._width*s,1),Math.max(e._height*s,1),this._glFormat,this._glPixelType,n):i.texImage2D(i.TEXTURE_2D,r,this._glInternalFormat,Math.max(e._width*s,1),Math.max(e._height*s,1),0,this._glFormat,this._glPixelType,n));e._mipmapsUploaded=0!==r}r++}else r++;if(e._needsUpload)if(e._cubemap)for(var p=0;p<6;p++)e._levelsUpdated[0][p]=!1;else e._levelsUpdated[0]=!1;!e._compressed&&e._mipmaps&&e._needsMipmapsUpload&&(e.pot||t.isWebGL2)&&1===e._levels.length&&(i.generateMipmap(this._glTarget),e._mipmapsUploaded=!0),e._gpuSize&&e.adjustVramSizeTracking(t._vram,-e._gpuSize),e._gpuSize=e.gpuSize,e.adjustVramSizeTracking(t._vram,e._gpuSize),this._glCreated=!0}},t}(),Js=function(){function t(t,e){this.msaaFB=void 0,this.resolveFB=void 0,this.msaaFB=t,this.resolveFB=e}return t.prototype.destroy=function(t){this.msaaFB&&(t.deleteRenderbuffer(this.msaaFB),this.msaaFB=null),this.resolveFB&&(t.deleteRenderbuffer(this.resolveFB),this.resolveFB=null)},t}(),tr=function(){function t(){this._glFrameBuffer=null,this._glDepthBuffer=null,this._glResolveFrameBuffer=null,this.colorMrtFramebuffers=null,this._glMsaaColorBuffers=[],this._glMsaaDepthBuffer=null,this.suppliedColorFramebuffer=void 0,this._isInitialized=!1}var e=t.prototype;return e.destroy=function(t){var e,i=t.gl;this._isInitialized=!1,this._glFrameBuffer&&(this._glFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glFrameBuffer),this._glFrameBuffer=null),this._glDepthBuffer&&(i.deleteRenderbuffer(this._glDepthBuffer),this._glDepthBuffer=null),this._glResolveFrameBuffer&&(this._glResolveFrameBuffer!==this.suppliedColorFramebuffer&&i.deleteFramebuffer(this._glResolveFrameBuffer),this._glResolveFrameBuffer=null),this._glMsaaColorBuffers.forEach((function(t){i.deleteRenderbuffer(t)})),this._glMsaaColorBuffers.length=0,null==(e=this.colorMrtFramebuffers)||e.forEach((function(t){t.destroy(i)})),this.colorMrtFramebuffers=null,this._glMsaaDepthBuffer&&(i.deleteRenderbuffer(this._glMsaaDepthBuffer),this._glMsaaDepthBuffer=null),this.suppliedColorFramebuffer=void 0},e.init=function(t,e){var i=t.gl;this._isInitialized=!0;var n=[];if(void 0!==this.suppliedColorFramebuffer)this._glFrameBuffer=this.suppliedColorFramebuffer;else{var s,r,a,o;this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);for(var h=null!=(s=null==(r=e._colorBuffers)?void 0:r.length)?s:0,l=t.isWebGL2?i.COLOR_ATTACHMENT0:null!=(a=null==(o=t.extDrawBuffers)?void 0:o.COLOR_ATTACHMENT0_WEBGL)?a:i.COLOR_ATTACHMENT0,c=0;c1&&t.isWebGL2)){if(this._glDepthBuffer||(this._glDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glDepthBuffer),e._stencil)i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer);else{var f=t.isWebGL2?i.DEPTH_COMPONENT32F:i.DEPTH_COMPONENT16;i.renderbufferStorage(i.RENDERBUFFER,f,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glDepthBuffer)}i.bindRenderbuffer(i.RENDERBUFFER,null)}}}if(t.isWebGL2&&e._samples>1){var p,m;this._glResolveFrameBuffer=this._glFrameBuffer,this._glFrameBuffer=i.createFramebuffer(),t.setFramebuffer(this._glFrameBuffer);var _=null!=(p=null==(m=e._colorBuffers)?void 0:m.length)?p:0;if(void 0!==this.suppliedColorFramebuffer){var g=i.createRenderbuffer();this._glMsaaColorBuffers.push(g);var v=7===t.backBufferFormat?i.RGBA8:i.RGB8;i.bindRenderbuffer(i.RENDERBUFFER,g),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,v,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.RENDERBUFFER,g)}else for(var y=0;y<_;++y){var x=e.getColorBuffer(y);if(x){var S=i.createRenderbuffer();this._glMsaaColorBuffers.push(S),i.bindRenderbuffer(i.RENDERBUFFER,S),i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,x.impl._glInternalFormat,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0+y,i.RENDERBUFFER,S)}}e._depth&&(this._glMsaaDepthBuffer||(this._glMsaaDepthBuffer=i.createRenderbuffer()),i.bindRenderbuffer(i.RENDERBUFFER,this._glMsaaDepthBuffer),e._stencil?(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH24_STENCIL8,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_STENCIL_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer)):(i.renderbufferStorageMultisample(i.RENDERBUFFER,e._samples,i.DEPTH_COMPONENT32F,e.width,e.height),i.framebufferRenderbuffer(i.FRAMEBUFFER,i.DEPTH_ATTACHMENT,i.RENDERBUFFER,this._glMsaaDepthBuffer))),_>1&&(this._createMsaaMrtFramebuffers(t,e,_),t.setFramebuffer(this._glFrameBuffer),t.drawBuffers(n))}},e._createMsaaMrtFramebuffers=function(t,e,i){var n=t.gl;this.colorMrtFramebuffers=[];for(var s=0;s=0&&!(n>0&&"/"===t[n-1]);){var s=t.indexOf(";",n),r=t.lastIndexOf(" ",s),a=t.substring(r+1,s),o=or[a];void 0!==o?e[a]=o:(e[a]="ATTR"+i,i++),n=t.indexOf("attribute",n+1)}return e},t}(),lr=function(){function t(){this.renderVersion=void 0,this.queries=[]}return t.prototype.destroy=function(t){this.queries.forEach((function(e){return t.deleteQuery(e)})),this.queries=null},t}(),cr=function(t){function e(e){var i;return(i=t.call(this)||this).device=void 0,i.freeQueries=[],i.frameQueries=[],i.previousFrameQueries=[],i.timings=[],i.device=e,i.ext=e.extDisjointTimerQuery,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this.freeQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.frameQueries.forEach((function(e){return t.device.gl.deleteQuery(e)})),this.previousFrameQueries.forEach((function(e){return e.destroy(t.device.gl)})),this.freeQueries=null,this.frameQueries=null,this.previousFrameQueries=null},i.loseContext=function(){t.prototype.loseContext.call(this),this.freeQueries=[],this.frameQueries=[],this.previousFrameQueries=[]},i.restoreContext=function(){this.ext=this.device.extDisjointTimerQuery},i.getQuery=function(){var t;return null!=(t=this.freeQueries.pop())?t:this.device.gl.createQuery()},i.start=function(t){if(this.ext){var e=this.getSlot(t),i=this.getQuery();return this.frameQueries[e]=i,this.device.gl.beginQuery(this.ext.TIME_ELAPSED_EXT,i),e}},i.end=function(t){void 0!==t&&this.device.gl.endQuery(this.ext.TIME_ELAPSED_EXT)},i.frameStart=function(){this.processEnableRequest(),this._enabled&&(this.frameGPUMarkerSlot=this.start("GpuFrame"))},i.frameEnd=function(){this._enabled&&this.end(this.frameGPUMarkerSlot)},i.request=function(){var e=this;if(this._enabled){var i=this.ext,n=this.device.gl,s=this.device.renderVersion,r=this.frameQueries;if(r.length>0){this.frameQueries=[];var a=new lr;a.queries=r,a.renderVersion=s,this.previousFrameQueries.push(a)}if(this.previousFrameQueries.length>0){var o=this.previousFrameQueries[0],h=o.queries,l=h[h.length-1],c=n.getQueryParameter(l,n.QUERY_RESULT_AVAILABLE),u=n.getParameter(i.GPU_DISJOINT_EXT);if(c&&!u){this.previousFrameQueries.shift();var d=this.timings;d.length=0;for(var f=0;f=120||115===l)&&(i.antialias=!1)}}var c=null;if(s.backBufferAntialias=null!=(n=i.antialias)&&n,i.antialias=!1,i.gl)c=i.gl;else for(var u=void 0===i.preferWebGl2||i.preferWebGl2?["webgl2","webgl","experimental-webgl"]:["webgl","experimental-webgl"],d=0;d0;var S=s.vertexUniformsCount;return S-=16,S-=8,S-=1,S-=16,s.boneLimit=Math.floor(S/3),s.boneLimit=Math.min(s.boneLimit,128),"Mali-450 MP"===s.unmaskedRenderer&&(s.boneLimit=34),s.constantTexSource=s.scope.resolve("source"),s.extTextureFloat?s.isWebGL2?s.textureFloatRenderable=!!s.extColorBufferFloat:s.textureFloatRenderable=pr(c,c.FLOAT):s.textureFloatRenderable=!1,s.extColorBufferHalfFloat?s.textureHalfFloatRenderable=!!s.extColorBufferHalfFloat:s.extTextureHalfFloat?s.isWebGL2?s.textureHalfFloatRenderable=!!s.extColorBufferFloat:s.textureHalfFloatRenderable=pr(c,s.extTextureHalfFloat.HALF_FLOAT_OES):s.textureHalfFloatRenderable=!1,s.supportsMorphTargetTexturesCore="highp"===s.maxPrecision&&s.maxVertexTextures>=2,s.supportsDepthShadow=s.isWebGL2,s._textureFloatHighPrecision=void 0,s._textureHalfFloatUpdatable=void 0,s.areaLightLutFormat=7,s.extTextureHalfFloat&&s.textureHalfFloatUpdatable&&s.extTextureHalfFloatLinear?s.areaLightLutFormat=ue:s.extTextureFloat&&s.extTextureFloatLinear&&(s.areaLightLutFormat=fe),s.postInit(),s}S(e,t);var i,n=e.prototype;return n.postInit=function(){t.prototype.postInit.call(this),this.gpuProfiler=new cr(this)},n.destroy=function(){t.prototype.destroy.call(this);var e=this.gl;this.isWebGL2&&this.feedback&&e.deleteTransformFeedback(this.feedback),this.clearVertexArrayObjectCache(),this.canvas.removeEventListener("webglcontextlost",this._contextLostHandler,!1),this.canvas.removeEventListener("webglcontextrestored",this._contextRestoredHandler,!1),this._contextLostHandler=null,this._contextRestoredHandler=null,this.gl=null,t.prototype.postDestroy.call(this)},n.createBackbuffer=function(t){this.supportsStencil=this.initOptions.stencil,this.backBuffer=new ln({name:"WebglFramebuffer",graphicsDevice:this,depth:this.initOptions.depth,stencil:this.supportsStencil,samples:this.samples}),this.backBuffer.impl.suppliedColorFramebuffer=t},n.updateBackbufferFormat=function(t){var e=this.gl;e.bindFramebuffer(e.FRAMEBUFFER,t);var i=this.gl.getParameter(this.gl.ALPHA_BITS);this.backBufferFormat=i?7:6},n.updateBackbuffer=function(){var t=this.canvas.width!==this.backBufferSize.x||this.canvas.height!==this.backBufferSize.y;(this._defaultFramebufferChanged||t)&&(this._defaultFramebufferChanged&&this.updateBackbufferFormat(this._defaultFramebuffer),this._defaultFramebufferChanged=!1,this.backBufferSize.set(this.canvas.width,this.canvas.height),this.backBuffer.destroy(),this.createBackbuffer(this._defaultFramebuffer))},n.createVertexBufferImpl=function(t,e){return new zs},n.createIndexBufferImpl=function(t){return new Vs(t)},n.createShaderImpl=function(t){return new Zs(t)},n.createTextureImpl=function(t){return new $s},n.createRenderTargetImpl=function(t){return new tr},n.getPrecision=function(){var t=this.gl,e="highp";if(t.getShaderPrecisionFormat){var i=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.HIGH_FLOAT),n=t.getShaderPrecisionFormat(t.VERTEX_SHADER,t.MEDIUM_FLOAT),s=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.HIGH_FLOAT),r=t.getShaderPrecisionFormat(t.FRAGMENT_SHADER,t.MEDIUM_FLOAT);if(i&&n&&s&&r){var a=i.precision>0&&s.precision>0,o=n.precision>0&&r.precision>0;a||(e=o?"mediump":"lowp")}}return e},n.getExtension=function(){for(var t=0;t0&&t.fullSizeClearRect&&s.invalidateFramebuffer(s.DRAW_FRAMEBUFFER,ur)}null!=(n=t.colorOps)&&n.resolve&&this.isWebGL2&&t.samples>1&&e.autoResolve&&e.resolve(!0,!1);for(var o=0;o1&&t.autoResolve&&t.resolve();var e=t._colorBuffer;e&&e.impl._glTexture&&e.mipmaps&&(e.pot||this.isWebGL2)&&(this.activeTexture(this.maxCombinedTextures-1),this.bindTexture(e),this.gl.generateMipmap(e.impl._glTarget))}},n.setUnpackFlipY=function(t){if(this.unpackFlipY!==t){this.unpackFlipY=t;var e=this.gl;e.pixelStorei(e.UNPACK_FLIP_Y_WEBGL,t)}},n.setUnpackPremultiplyAlpha=function(t){if(this.unpackPremultiplyAlpha!==t){this.unpackPremultiplyAlpha=t;var e=this.gl;e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,t)}},n.activeTexture=function(t){this.textureUnit!==t&&(this.gl.activeTexture(this.gl.TEXTURE0+t),this.textureUnit=t)},n.bindTexture=function(t){var e=t.impl,i=e._glTarget,n=e._glTexture,s=this.textureUnit,r=this.targetToSlot[i];this.textureUnits[s][r]!==n&&(this.gl.bindTexture(i,n),this.textureUnits[s][r]=n)},n.bindTextureOnUnit=function(t,e){var i=t.impl,n=i._glTarget,s=i._glTexture,r=this.targetToSlot[n];this.textureUnits[e][r]!==s&&(this.activeTexture(e),this.gl.bindTexture(n,s),this.textureUnits[e][r]=s)},n.setTextureParameters=function(t){var e=this.gl,i=t.impl.dirtyParameterFlags,n=t.impl._glTarget;if(1&i){var s=t._minFilter;(!t.pot&&!this.isWebGL2||!t._mipmaps||t._compressed&&1===t._levels.length)&&(2===s||3===s?s=0:4!==s&&5!==s||(s=1)),e.texParameteri(n,e.TEXTURE_MIN_FILTER,this.glFilter[s])}if(2&i&&e.texParameteri(n,e.TEXTURE_MAG_FILTER,this.glFilter[t._magFilter]),4&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t._addressU]):e.texParameteri(n,e.TEXTURE_WRAP_S,this.glAddress[t.pot?t._addressU:1])),8&i&&(this.isWebGL2?e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t._addressV]):e.texParameteri(n,e.TEXTURE_WRAP_T,this.glAddress[t.pot?t._addressV:1])),16&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_WRAP_R,this.glAddress[t._addressW]),32&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_MODE,t._compareOnRead?e.COMPARE_REF_TO_TEXTURE:e.NONE),64&i&&this.isWebGL2&&e.texParameteri(n,e.TEXTURE_COMPARE_FUNC,this.glComparison[t._compareFunc]),128&i){var r=this.extTextureFilterAnisotropic;r&&e.texParameterf(n,r.TEXTURE_MAX_ANISOTROPY_EXT,_t.clamp(Math.round(t._anisotropy),1,this.maxAnisotropy))}},n.setTexture=function(t,e){var i=t.impl;i._glTexture||i.initialize(this,t),i.dirtyParameterFlags>0||t._needsUpload||t._needsMipmapsUpload?(this.activeTexture(e),this.bindTexture(t),i.dirtyParameterFlags&&(this.setTextureParameters(t),i.dirtyParameterFlags=0),(t._needsUpload||t._needsMipmapsUpload)&&(i.upload(this,t),t._needsUpload=!1,t._needsMipmapsUpload=!1)):this.bindTextureOnUnit(t,e)},n.createVertexArray=function(t){var e,i,n=t.length>1;if(n){e="";for(var s=0;s0?u.drawElementsInstanced(S,b,T,A,e):u.drawElements(S,b,T,A)}else{var C=t.base;e>0?u.drawArraysInstanced(S,C,b,e):u.drawArrays(S,C,b)}this.isWebGL2&&this.transformFeedbackBuffer&&(u.endTransformFeedback(),u.bindBufferBase(u.TRANSFORM_FEEDBACK_BUFFER,0,null)),this._drawCallsPerFrame++}},n.clear=function(t){var e,i=this.defaultClearOptions,n=null!=(e=(t=t||i).flags)?e:i.flags;if(0!==n){var s=this.gl;if(1&n){var r,a=null!=(r=t.color)?r:i.color,o=a[0],h=a[1],l=a[2],c=a[3],u=this.clearColor;o===u.r&&h===u.g&&l===u.b&&c===u.a||(this.gl.clearColor(o,h,l,c),this.clearColor.set(o,h,l,c)),this.setBlendState(Gi.NOBLEND)}if(2&n){var d,f=null!=(d=t.depth)?d:i.depth;f!==this.clearDepth&&(this.gl.clearDepth(f),this.clearDepth=f),this.setDepthState(Hi.WRITEDEPTH)}if(4&n){var p,m=null!=(p=t.stencil)?p:i.stencil;m!==this.clearStencil&&(this.gl.clearStencil(m),this.clearStencil=m)}s.clear(this.glClearFlag[n])}},n.submit=function(){this.gl.flush()},n.readPixels=function(t,e,i,n,s){var r=this.gl;r.readPixels(t,e,i,n,r.RGBA,r.UNSIGNED_BYTE,s)},n.readPixelsAsync=(i=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_=this;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l=this.gl,this.isWebGL2){t.next=4;break}return this.readPixels(e,i,n,s,r),t.abrupt("return");case 4:return c=function(t,e){var i=l.fenceSync(l.SYNC_GPU_COMMANDS_COMPLETE,0);return _.submit(),new Promise((function(n,s){!function r(){var a=l.clientWaitSync(i,t,0);a===l.WAIT_FAILED?(l.deleteSync(i),s(new Error("webgl clientWaitSync sync failed"))):a===l.TIMEOUT_EXPIRED?setTimeout(r,e):(l.deleteSync(i),n())}()}))},u=null==(a=this.renderTarget.colorBuffer)?void 0:a.impl,d=null!=(o=null==u?void 0:u._glFormat)?o:l.RGBA,f=null!=(h=null==u?void 0:u._glPixelType)?h:l.UNSIGNED_BYTE,p=l.createBuffer(),l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.bufferData(l.PIXEL_PACK_BUFFER,r.byteLength,l.STREAM_READ),l.readPixels(e,i,n,s,d,f,0),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),t.next=15,c(0,20);case 15:l.bindBuffer(l.PIXEL_PACK_BUFFER,p),l.getBufferSubData(l.PIXEL_PACK_BUFFER,0,r),l.bindBuffer(l.PIXEL_PACK_BUFFER,null),l.deleteBuffer(p);case 19:case"end":return t.stop()}}),t,this)}))),function(t,e,n,s,r){return i.apply(this,arguments)}),n.setAlphaToCoverage=function(t){this.isWebGL1||this.alphaToCoverage!==t&&(this.alphaToCoverage=t,t?this.gl.enable(this.gl.SAMPLE_ALPHA_TO_COVERAGE):this.gl.disable(this.gl.SAMPLE_ALPHA_TO_COVERAGE))},n.setTransformFeedbackBuffer=function(t){if(this.transformFeedbackBuffer!==t&&(this.transformFeedbackBuffer=t,this.isWebGL2)){var e=this.gl;t?(this.feedback||(this.feedback=e.createTransformFeedback()),e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,this.feedback)):e.bindTransformFeedback(e.TRANSFORM_FEEDBACK,null)}},n.setRaster=function(t){this.raster!==t&&(this.raster=t,this.isWebGL2&&(t?this.gl.disable(this.gl.RASTERIZER_DISCARD):this.gl.enable(this.gl.RASTERIZER_DISCARD)))},n.setDepthBias=function(t){this.depthBiasEnabled!==t&&(this.depthBiasEnabled=t,t?this.gl.enable(this.gl.POLYGON_OFFSET_FILL):this.gl.disable(this.gl.POLYGON_OFFSET_FILL))},n.setDepthBiasValues=function(t,e){this.gl.polygonOffset(e,t)},n.setStencilTest=function(t){if(this.stencil!==t){var e=this.gl;t?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.stencil=t}},n.setStencilFunc=function(t,e,i){this.stencilFuncFront===t&&this.stencilRefFront===e&&this.stencilMaskFront===i&&this.stencilFuncBack===t&&this.stencilRefBack===e&&this.stencilMaskBack===i||(this.gl.stencilFunc(this.glComparison[t],e,i),this.stencilFuncFront=this.stencilFuncBack=t,this.stencilRefFront=this.stencilRefBack=e,this.stencilMaskFront=this.stencilMaskBack=i)},n.setStencilFuncFront=function(t,e,i){if(this.stencilFuncFront!==t||this.stencilRefFront!==e||this.stencilMaskFront!==i){var n=this.gl;n.stencilFuncSeparate(n.FRONT,this.glComparison[t],e,i),this.stencilFuncFront=t,this.stencilRefFront=e,this.stencilMaskFront=i}},n.setStencilFuncBack=function(t,e,i){if(this.stencilFuncBack!==t||this.stencilRefBack!==e||this.stencilMaskBack!==i){var n=this.gl;n.stencilFuncSeparate(n.BACK,this.glComparison[t],e,i),this.stencilFuncBack=t,this.stencilRefBack=e,this.stencilMaskBack=i}},n.setStencilOperation=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i&&this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOp(this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=this.stencilFailBack=t,this.stencilZfailFront=this.stencilZfailBack=e,this.stencilZpassFront=this.stencilZpassBack=i),this.stencilWriteMaskFront===n&&this.stencilWriteMaskBack===n||(this.gl.stencilMask(n),this.stencilWriteMaskFront=n,this.stencilWriteMaskBack=n)},n.setStencilOperationFront=function(t,e,i,n){this.stencilFailFront===t&&this.stencilZfailFront===e&&this.stencilZpassFront===i||(this.gl.stencilOpSeparate(this.gl.FRONT,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailFront=t,this.stencilZfailFront=e,this.stencilZpassFront=i),this.stencilWriteMaskFront!==n&&(this.gl.stencilMaskSeparate(this.gl.FRONT,n),this.stencilWriteMaskFront=n)},n.setStencilOperationBack=function(t,e,i,n){this.stencilFailBack===t&&this.stencilZfailBack===e&&this.stencilZpassBack===i||(this.gl.stencilOpSeparate(this.gl.BACK,this.glStencilOp[t],this.glStencilOp[e],this.glStencilOp[i]),this.stencilFailBack=t,this.stencilZfailBack=e,this.stencilZpassBack=i),this.stencilWriteMaskBack!==n&&(this.gl.stencilMaskSeparate(this.gl.BACK,n),this.stencilWriteMaskBack=n)},n.setBlendState=function(t){var e=this.blendState;if(!e.equals(t)){var i=this.gl,n=t.blend,s=t.colorOp,r=t.alphaOp,a=t.colorSrcFactor,o=t.colorDstFactor,h=t.alphaSrcFactor,l=t.alphaDstFactor;if(e.blend!==n&&(n?i.enable(i.BLEND):i.disable(i.BLEND)),e.colorOp!==s||e.alphaOp!==r){var c=this.glBlendEquation;i.blendEquationSeparate(c[s],c[r])}e.colorSrcFactor===a&&e.colorDstFactor===o&&e.alphaSrcFactor===h&&e.alphaDstFactor===l||i.blendFuncSeparate(this.glBlendFunctionColor[a],this.glBlendFunctionColor[o],this.glBlendFunctionAlpha[h],this.glBlendFunctionAlpha[l]),e.allWrite!==t.allWrite&&this.gl.colorMask(t.redWrite,t.greenWrite,t.blueWrite,t.alphaWrite),e.copy(t)}},n.setBlendColor=function(t,e,i,n){var s=this.blendColor;t===s.r&&e===s.g&&i===s.b&&n===s.a||(this.gl.blendColor(t,e,i,n),s.set(t,e,i,n))},n.setStencilState=function(t,e){t||e?(this.setStencilTest(!0),t===e?(this.setStencilFunc(t.func,t.ref,t.readMask),this.setStencilOperation(t.fail,t.zfail,t.zpass,t.writeMask)):(null!=t||(t=an.DEFAULT),this.setStencilFuncFront(t.func,t.ref,t.readMask),this.setStencilOperationFront(t.fail,t.zfail,t.zpass,t.writeMask),null!=e||(e=an.DEFAULT),this.setStencilFuncBack(e.func,e.ref,e.readMask),this.setStencilOperationBack(e.fail,e.zfail,e.zpass,e.writeMask))):this.setStencilTest(!1)},n.setDepthState=function(t){var e=this.depthState;if(!e.equals(t)){var i=this.gl,n=t.write;e.write!==n&&i.depthMask(n);var s=t.func,r=t.test;!r&&n&&(r=!0,s=7),e.func!==s&&i.depthFunc(this.glComparison[s]),e.test!==r&&(r?i.enable(i.DEPTH_TEST):i.disable(i.DEPTH_TEST)),e.copy(t)}},n.setCullMode=function(t){if(this.cullMode!==t){if(t===he)this.gl.disable(this.gl.CULL_FACE);else{this.cullMode===he&&this.gl.enable(this.gl.CULL_FACE);var e=this.glCull[t];this.cullFace!==e&&(this.gl.cullFace(e),this.cullFace=e)}this.cullMode=t}},n.setShader=function(t){if(t!==this.shader){if(t.failed)return!1;if(!t.ready&&!t.impl.finalize(this,t))return t.failed=!0,!1;this.shader=t,this.gl.useProgram(t.impl.glProgram),this.attributesInvalidated=!0}return!0},n.clearVertexArrayObjectCache=function(){var t=this.gl;this._vaoMap.forEach((function(e,i,n){t.deleteVertexArray(e)})),this._vaoMap.clear()},y(e,[{key:"extDisjointTimerQuery",get:function(){return this._extDisjointTimerQuery||this.isWebGL2&&(this._extDisjointTimerQuery=this.getExtension("EXT_disjoint_timer_query_webgl2","EXT_disjoint_timer_query")),this._extDisjointTimerQuery}},{key:"defaultFramebuffer",get:function(){return this._defaultFramebuffer},set:function(t){this._defaultFramebuffer!==t&&(this._defaultFramebuffer=t,this._defaultFramebufferChanged=!0)}},{key:"fullscreen",get:function(){return!!document.fullscreenElement},set:function(t){t?this.gl.canvas.requestFullscreen():document.exitFullscreen()}},{key:"textureFloatHighPrecision",get:function(){return void 0===this._textureFloatHighPrecision&&(this._textureFloatHighPrecision=function(t){if(!t.textureFloatRenderable)return!1;var e=new vs(t,hr.createDefinition(t,{name:"ptest1",vertexCode:dr,fragmentCode:"\nvoid main(void) { \n\tgl_FragColor = vec4(2147483648.0);\n}\n"})),i=new vs(t,hr.createDefinition(t,{name:"ptest2",vertexCode:dr,fragmentCode:"\nuniform sampler2D source;\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\nvoid main(void) {\n\tfloat c = texture2D(source, vec2(0.0)).r;\n\tfloat diff = abs(c - 2147483648.0) / 2147483648.0;\n\tgl_FragColor = packFloat(diff);\n}\n"})),n={format:fe,width:1,height:1,mipmaps:!1,minFilter:0,magFilter:0,name:"testFHP"},s=new Us(t,n),r=new ln({colorBuffer:s,depth:!1});fr(t,r,e),n.format=7;var a=new Us(t,n),o=new ln({colorBuffer:a,depth:!1});t.constantTexSource.setValue(s),fr(t,o,i);var h=t.activeFramebuffer;t.setFramebuffer(o.impl._glFrameBuffer);var l=new Uint8Array(4);t.readPixels(0,0,1,1,l),t.setFramebuffer(h);var c=l[0]/255/16777216+l[1]/255/65536+l[2]/255/256+l[3]/255;return s.destroy(),r.destroy(),a.destroy(),o.destroy(),e.destroy(),i.destroy(),0===c}(this)),this._textureFloatHighPrecision}},{key:"textureHalfFloatUpdatable",get:function(){return void 0===this._textureHalfFloatUpdatable&&(this.isWebGL2?this._textureHalfFloatUpdatable=!0:this._textureHalfFloatUpdatable=function(t,e){var i=!0,n=t.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),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);var s=new Uint16Array(16);return t.texImage2D(t.TEXTURE_2D,0,t.RGBA,2,2,0,t.RGBA,e,s),t.getError()!==t.NO_ERROR&&(i=!1,console.log("Above error related to HALF_FLOAT_OES can be ignored, it was triggered by testing half float texture support")),t.bindTexture(t.TEXTURE_2D,null),t.deleteTexture(n),i}(this.gl,this.extTextureHalfFloat.HALF_FLOAT_OES)),this._textureHalfFloatUpdatable}}]),e}(on),_r=function(){function t(){}return t.prototype.unlock=function(t){},t}(),gr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.init=function(t,e){},e.loseContext=function(){},e.resolve=function(t,e,i,n){},t}(),vr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.loseContext=function(){},e.restoreContext=function(t,e){},t}(),yr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.propertyChanged=function(t){},e.loseContext=function(){},t}(),xr=function(){function t(){}var e=t.prototype;return e.destroy=function(t){},e.unlock=function(t){},t}(),Sr=function(t){function e(e,i){var n;return void 0===i&&(i={}),i=(n=t.call(this,e,i)||this).initOptions,n.isNull=!0,n._deviceType=Ci,n.samples=1,n}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i.initDeviceCaps=function(){this.disableParticleSystem=!0,this.precision="highp",this.maxPrecision="highp",this.maxSamples=4,this.maxTextures=16,this.maxTextureSize=4096,this.maxCubeMapSize=4096,this.maxVolumeSize=4096,this.maxColorAttachments=8,this.maxPixelRatio=1,this.maxAnisotropy=16,this.supportsInstancing=!0,this.supportsUniformBuffers=!1,this.supportsVolumeTextures=!0,this.supportsBoneTextures=!0,this.supportsMorphTargetTexturesCore=!0,this.supportsAreaLights=!0,this.supportsDepthShadow=!0,this.supportsGpuParticles=!1,this.supportsMrt=!0,this.extUintElement=!0,this.extTextureFloat=!0,this.textureFloatRenderable=!0,this.extTextureHalfFloat=!0,this.textureHalfFloatRenderable=!0,this.textureHalfFloatUpdatable=!0,this.boneLimit=1024,this.supportsImageBitmap=!0,this.extStandardDerivatives=!0,this.extBlendMinmax=!0,this.areaLightLutFormat=7,this.supportsTextureFetch=!0},i.postInit=function(){t.prototype.postInit.call(this)},i.frameStart=function(){t.prototype.frameStart.call(this)},i.frameEnd=function(){t.prototype.frameEnd.call(this)},i.createVertexBufferImpl=function(t,e){return new xr(t,e)},i.createIndexBufferImpl=function(t){return new _r(t)},i.createShaderImpl=function(t){return new vr(t)},i.createTextureImpl=function(t){return new yr(t)},i.createRenderTargetImpl=function(t){return new gr(t)},i.draw=function(t,e,i){},i.setShader=function(t){return!0},i.setBlendState=function(t){},i.setDepthState=function(t){},i.setStencilState=function(t,e){},i.setBlendColor=function(t,e,i,n){},i.setCullMode=function(t){},i.setAlphaToCoverage=function(t){},i.initializeContextCaches=function(){t.prototype.initializeContextCaches.call(this)},i.clear=function(t){},i.setDepthBias=function(t){},i.setDepthBiasValues=function(t,e){},i.setViewport=function(t,e,i,n){},i.setScissor=function(t,e,i,n){},i.copyRenderTarget=function(t,e,i,n){return!0},e}(on);var br=function(){function t(t,e){this.shader=null,this.device=t,this.shader=e,t.supportsCompute&&(this.impl=t.createComputeImpl(this))}return t.prototype.dispatch=function(t,e,i){var n;null==(n=this.impl)||n.dispatch(t,e,i)},t}(),wr=0,Tr=function(){function t(t,e,i,n,s){void 0===n&&(n=0),this.device=t,this.format=e,this.numIndices=i,this.usage=n,this.id=wr++,this.impl=t.createIndexBufferImpl(this);var r=Di[e];this.bytesPerIndex=r,this.numBytes=this.numIndices*r,s?this.setData(s):this.storage=new ArrayBuffer(this.numBytes),this.adjustVramSizeTracking(t._vram,this.numBytes),this.device.buffers.push(this)}var e=t.prototype;return e.destroy=function(){var t=this.device,e=t.buffers.indexOf(this);-1!==e&&t.buffers.splice(e,1),this.device.indexBuffer===this&&(this.device.indexBuffer=null),this.impl.initialized&&(this.impl.destroy(t),this.adjustVramSizeTracking(t._vram,-this.storage.byteLength))},e.adjustVramSizeTracking=function(t,e){t.ib+=e},e.loseContext=function(){this.impl.loseContext()},e.getFormat=function(){return this.format},e.getNumIndices=function(){return this.numIndices},e.lock=function(){return this.storage},e.unlock=function(){this.impl.unlock(this)},e.setData=function(t){return t.byteLength===this.numBytes&&(this.storage=t,this.unlock(),!0)},e._lockTypedArray=function(){var t=this.lock();return 2===this.format?new Uint32Array(t):1===this.format?new Uint16Array(t):new Uint8Array(t)},e.writeData=function(t,e){var i=this._lockTypedArray();if(t.length>e)if(ArrayBuffer.isView(t))t=t.subarray(0,e),i.set(t);else for(var n=0;nthis.vertexBuffer.numVertices&&(i=this.vertexBuffer.numVertices);var s=n.numComponents;if(this.vertexBuffer.getFormat().interleaved)for(var r=0,a=0;ai*s){var o=i*s;if(ArrayBuffer.isView(e))e=e.subarray(0,o),n.array.set(e);else for(var h=0;h0?this.wheelDelta=1:i.deltaY<0&&(this.wheelDelta=-1)),sa()?(this.dx=i.movementX||i.webkitMovementX||i.mozMovementX||0,this.dy=i.movementY||i.webkitMovementY||i.mozMovementY||0):(this.dx=this.x-e._lastX,this.dy=this.y-e._lastY),"mousedown"===i.type||"mouseup"===i.type?this.button=i.button:this.button=-1,this.buttons=e._buttons.slice(0),this.element=i.target,this.ctrlKey=i.ctrlKey||!1,this.altKey=i.altKey||!1,this.shiftKey=i.shiftKey||!1,this.metaKey=i.metaKey||!1,this.event=i},aa=function(t){function e(e){var i;return(i=t.call(this)||this)._lastX=0,i._lastY=0,i._buttons=[!1,!1,!1],i._lastbuttons=[!1,!1,!1],i._upHandler=i._handleUp.bind(w(i)),i._downHandler=i._handleDown.bind(w(i)),i._moveHandler=i._handleMove.bind(w(i)),i._wheelHandler=i._handleWheel.bind(w(i)),i._contextMenuHandler=function(t){t.preventDefault()},i._target=null,i._attached=!1,i.attach(e),i}S(e,t),e.isPointerLocked=function(){return sa()};var i=e.prototype;return i.attach=function(t){if(this._target=t,!this._attached){this._attached=!0;var e=!!G.passiveEvents&&{passive:!1};window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)}},i.detach=function(){if(this._attached){this._attached=!1,this._target=null;var t=!!G.passiveEvents&&{passive:!1};window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)}},i.disableContextMenu=function(){this._target&&this._target.addEventListener("contextmenu",this._contextMenuHandler)},i.enableContextMenu=function(){this._target&&this._target.removeEventListener("contextmenu",this._contextMenuHandler)},i.enablePointerLock=function(t,e){if(document.body.requestPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),e&&document.addEventListener("pointerlockerror",(function t(){e(),document.removeEventListener("pointerlockerror",t)}),!1),document.body.requestPointerLock()}else e&&e()},i.disablePointerLock=function(t){if(document.exitPointerLock){t&&document.addEventListener("pointerlockchange",(function e(){t(),document.removeEventListener("pointerlockchange",e)}),!1),document.exitPointerLock()}},i.update=function(){this._lastbuttons[0]=this._buttons[0],this._lastbuttons[1]=this._buttons[1],this._lastbuttons[2]=this._buttons[2]},i.isPressed=function(t){return this._buttons[t]},i.wasPressed=function(t){return this._buttons[t]&&!this._lastbuttons[t]},i.wasReleased=function(t){return!this._buttons[t]&&this._lastbuttons[t]},i._handleUp=function(t){this._buttons[t.button]=!1;var e=new ra(this,t);e.event&&this.fire(Yr,e)},i._handleDown=function(t){this._buttons[t.button]=!0;var e=new ra(this,t);e.event&&this.fire(qr,e)},i._handleMove=function(t){var e=new ra(this,t);e.event&&(this.fire(jr,e),this._lastX=e.x,this._lastY=e.y)},i._handleWheel=function(t){var e=new ra(this,t);e.event&&this.fire(Kr,e)},i._getTargetCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);return t.clientX=i+this._target.clientWidth||t.clientY=n+this._target.clientHeight?null:{x:t.clientX-i,y:t.clientY-n}},e}(P),oa=function(){function t(t,e){void 0===e&&(e={}),this._keyboard=e.keyboard||null,this._mouse=e.mouse||null,this._gamepads=e.gamepads||null,this._element=null,this._actions={},this._axes={},this._axesValues={},t&&this.attach(t)}var e=t.prototype;return e.attach=function(t){this._element=t,this._keyboard&&this._keyboard.attach(t),this._mouse&&this._mouse.attach(t)},e.detach=function(){this._keyboard&&this._keyboard.detach(),this._mouse&&this._mouse.detach(),this._element=null},e.disableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.disableContextMenu()},e.enableContextMenu=function(){this._mouse||this._enableMouse(),this._mouse.enableContextMenu()},e.update=function(t){for(var e in this._keyboard&&this._keyboard.update(),this._mouse&&this._mouse.update(),this._gamepads&&this._gamepads.update(),this._axesValues={},this._axes)this._axesValues[e]=[]},e.appendAction=function(t,e){this._actions[t]=this._actions[t]||[],this._actions[t].push(e)},e.registerKeys=function(t,e){if(this._keyboard||this._enableKeyboard(),this._actions[t])throw new Error("Action: "+t+" already registered");if(void 0===e)throw new Error("Invalid button");e.length||(e=[e]),this.appendAction(t,{type:Wr,keys:e})},e.registerMouse=function(t,e){if(this._mouse||this._enableMouse(),void 0===e)throw new Error("Invalid button");this.appendAction(t,{type:Hr,button:e})},e.registerPadButton=function(t,e,i){if(void 0===i)throw new Error("Invalid button");this.appendAction(t,{type:Xr,button:i,pad:e})},e.registerAxis=function(t){var e=t.name;this._axes[e]||(this._axes[e]=[]);var i=this._axes[e].push(e);(t=t||{}).pad=t.pad||0;var n=function(n,s,r,a){switch(s){case"mousex":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dx/10}));break;case"mousey":n._mouse.on(jr,(function(t){n._axesValues[e][i]=t.dy/10}));break;case"key":n._axes[e].push((function(){return n._keyboard.isPressed(a)?r:0}));break;case"padrx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,2)}));break;case"padry":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,3)}));break;case"padlx":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,0)}));break;case"padly":n._axes[e].push((function(){return n._gamepads.getAxis(t.pad,1)}));break;default:throw new Error("Unknown axis")}};n(this,t.positive,1,t.positiveKey),(t.negativeKey||t.negative!==t.positive)&&n(this,t.negative,-1,t.negativeKey)},e.isPressed=function(t){if(!this._actions[t])return!1;for(var e=this._actions[t].length,i=0;iMath.abs(e)&&(e=s)}else this._axesValues[t]&&Math.abs(this._axesValues[t][n])>Math.abs(e)&&(e=this._axesValues[t][n]);return e},e._enableMouse=function(){if(this._mouse=new aa,!this._element)throw new Error("Controller must be attached to an Element");this._mouse.attach(this._element)},e._enableKeyboard=function(){if(this._keyboard=new na,!this._element)throw new Error("Controller must be attached to an Element");this._keyboard.attach(this._element)},t}(),ha=Object.freeze([]),la=function(){return ha};"undefined"!=typeof navigator&&(la=(navigator.getGamepads||navigator.webkitGetGamepads||la).bind(navigator));var ca={buttons:{PAD_FACE_1:0,PAD_FACE_2:1,PAD_FACE_3:2,PAD_FACE_4:3,PAD_L_SHOULDER_1:4,PAD_R_SHOULDER_1:5,PAD_L_SHOULDER_2:6,PAD_R_SHOULDER_2:7,PAD_SELECT:8,PAD_START:9,PAD_L_STICK_BUTTON:10,PAD_R_STICK_BUTTON:11,PAD_UP:12,PAD_DOWN:13,PAD_LEFT:14,PAD_RIGHT:15,PAD_VENDOR:16,XRPAD_TRIGGER:0,XRPAD_SQUEEZE:1,XRPAD_TOUCHPAD_BUTTON:2,XRPAD_STICK_BUTTON:3,XRPAD_A:4,XRPAD_B:5},axes:{PAD_L_STICK_X:0,PAD_L_STICK_Y:1,PAD_R_STICK_X:2,PAD_R_STICK_Y:3,XRPAD_TOUCHPAD_X:0,XRPAD_TOUCHPAD_Y:1,XRPAD_STICK_X:2,XRPAD_STICK_Y:3}},ua={DEFAULT:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"]},DEFAULT_DUAL:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_3","PAD_FACE_4","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],synthesizedButtons:{PAD_UP:{axis:0,min:0,max:1},PAD_DOWN:{axis:0,min:-1,max:0},PAD_LEFT:{axis:0,min:-1,max:0},PAD_RIGHT:{axis:0,min:0,max:1}}},PS3:{buttons:["PAD_FACE_1","PAD_FACE_2","PAD_FACE_4","PAD_FACE_3","PAD_L_SHOULDER_1","PAD_R_SHOULDER_1","PAD_L_SHOULDER_2","PAD_R_SHOULDER_2","PAD_SELECT","PAD_START","PAD_L_STICK_BUTTON","PAD_R_STICK_BUTTON","PAD_UP","PAD_DOWN","PAD_LEFT","PAD_RIGHT","PAD_VENDOR"],axes:["PAD_L_STICK_X","PAD_L_STICK_Y","PAD_R_STICK_X","PAD_R_STICK_Y"],mapping:"standard"},DEFAULT_XR:{buttons:["XRPAD_TRIGGER","XRPAD_SQUEEZE","XRPAD_TOUCHPAD_BUTTON","XRPAD_STICK_BUTTON","XRPAD_A","XRPAD_B"],axes:["XRPAD_TOUCHPAD_X","XRPAD_TOUCHPAD_Y","XRPAD_STICK_X","XRPAD_STICK_Y"],mapping:"xr-standard"}},da={"Product: 0268":"PS3"},fa={};function pa(t){var e=fa[t.id];if(e)return e;for(var i in da)if(-1!==t.id.indexOf(i)){var n=da[i];if(!t.mapping){var s=ua["RAW_"+n];if(s)return s}return ua[n]}if("xr-standard"===t.mapping)return ua.DEFAULT_XR;var r=ua.DEFAULT,a=t.buttons.length0):(this.value=t.value,this.pressed=t.pressed,this.touched=null!=(i=t.touched)?i:t.value>0);e&&("number"==typeof e?(this.wasPressed=1!==e&&this.pressed,this.wasReleased=1===e&&!this.pressed,this.wasTouched=0===e&&this.touched):(this.wasPressed=!e.pressed&&this.pressed,this.wasReleased=e.pressed&&!this.pressed,this.wasTouched=!(null!=(n=e.touched)?n:e.value>0)&&this.touched))}return t.prototype.update=function(t){var e,i=t.value,n=t.pressed,s=null!=(e=t.touched)?e:i>0;this.wasPressed=!this.pressed&&n,this.wasReleased=this.pressed&&!n,this.wasTouched=!this.touched&&s,this.value=i,this.pressed=n,this.touched=s},t}(),va=Object.freeze(new ga(0)),ya=function(){function t(t,e){this._compiledMapping={buttons:[],axes:[]},this.id=t.id,this.index=t.index,this._buttons=t.buttons.map((function(t){return new ga(t)})),this._axes=[].concat(t.axes),this._previousAxes=[].concat(t.axes),this.mapping=e.mapping,this.map=e,this.hand=t.hand||"none",this.pad=t,this._compileMapping()}var e,i=t.prototype;return i._compileMapping=function(){var t=this,e=this._compiledMapping,i=e.axes,n=e.buttons,s=ca.axes,r=ca.buttons;i.length=0,n.length=0,this.map.axes&&this.map.axes.forEach((function(e,n){i[s[e]]=function(){return t.pad.axes[n]||0}}));for(var a=0,o=i.length;ama?e:0},y(t,[{key:"connected",get:function(){return this.pad.connected}},{key:"axes",get:function(){return this._compiledMapping.axes.map((function(t){return t()}))}},{key:"buttons",get:function(){return this._compiledMapping.buttons.map((function(t){return t()}))}}]),t}(),xa=function(t){function e(){var e;return(e=t.call(this)||this).gamepadsSupported=G.gamepads,e.current=[],e._previous=[],e._ongamepadconnectedHandler=e._ongamepadconnected.bind(w(e)),e._ongamepaddisconnectedHandler=e._ongamepaddisconnected.bind(w(e)),window.addEventListener("gamepadconnected",e._ongamepadconnectedHandler,!1),window.addEventListener("gamepaddisconnected",e._ongamepaddisconnectedHandler,!1),e.poll(),e}S(e,t);var i=e.prototype;return i._ongamepadconnected=function(t){for(var e=new ya(t.gamepad,this.getMap(t.gamepad)),i=this.current,n=i.findIndex((function(t){return t.index===e.index}));-1!==n;)i.splice(n,1),n=i.findIndex((function(t){return t.index===e.index}));i.push(e),this.fire(Zr,e)},i._ongamepaddisconnected=function(t){var e=this.current,i=e.findIndex((function(e){return e.index===t.gamepad.index}));-1!==i&&(this.fire(Qr,e[i]),e.splice(i,1))},i.update=function(){this.poll()},i.poll=function(t){void 0===t&&(t=[]),t.length>0&&(t.length=0);for(var e=la(),i=0,n=e.length;i=0?t.ResponseType.ARRAY_BUFFER:".json"===n?t.ResponseType.JSON:".xml"===n?t.ResponseType.DOCUMENT:t.ResponseType.TEXT},e._isBinaryContentType=function(e){return[t.ContentType.BASIS,t.ContentType.BIN,t.ContentType.DDS,t.ContentType.GLB,t.ContentType.MP3,t.ContentType.MP4,t.ContentType.OGG,t.ContentType.OPUS,t.ContentType.WAV].indexOf(e)>=0},e._isBinaryResponseType=function(e){return e===t.ResponseType.ARRAY_BUFFER||e===t.ResponseType.BLOB||e===t.ResponseType.JSON},e._onReadyStateChange=function(t,e,i,n){if(4===n.readyState)switch(n.status){case 0:n.responseURL&&n.responseURL.startsWith("file:///")?this._onSuccess(t,e,i,n):this._onError(t,e,i,n);break;case 200:case 201:case 206:case 304:this._onSuccess(t,e,i,n);break;default:this._onError(t,e,i,n)}},e._onSuccess=function(e,i,n,s){var r,a,o=s.getResponseHeader("Content-Type");o&&(a=o.split(";")[0].trim());try{r=this._isBinaryContentType(a)||this._isBinaryResponseType(s.responseType)?s.response:a===t.ContentType.JSON||i.split("?")[0].endsWith(".json")?JSON.parse(s.responseText):s.responseType===t.ResponseType.DOCUMENT||a===t.ContentType.XML?s.responseXML:s.responseText,n.callback(null,r)}catch(t){n.callback(t)}},e._onError=function(e,i,n,s){var r=this;if(!n.retrying)if(n.retry&&n.retriesn)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this.manager.listener.getPosition(),this.position,this.minDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.getVolume();this.source.volume=i*e}},getMaxDistance:function(){return this.maxDistance},setMaxDistance:function(t){this.maxDistance=t},getMinDistance:function(){return this.minDistance},setMinDistance:function(t){this.minDistance=t},getRollOffFactor:function(){return this.rollOffFactor},setRollOffFactor:function(t){this.rollOffFactor=t},getDistanceModel:function(){return this.distanceModel},setDistanceModel:function(t){this.distanceModel=t}})}var Ia=function(){function t(t){this._manager=t,this.position=new Et,this.velocity=new Et,this.orientation=new zt}var e=t.prototype;return e.getPosition=function(){return this.position},e.setPosition=function(t){this.position.copy(t);var e=this.listener;e&&("positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z))},e.getVelocity=function(){return this.velocity},e.setVelocity=function(t){},e.setOrientation=function(t){this.orientation.copy(t);var e=this.listener;if(e){var i=t.data;"forwardX"in e?(e.forwardX.value=-i[8],e.forwardY.value=-i[9],e.forwardZ.value=-i[10],e.upX.value=i[4],e.upY.value=i[5],e.upZ.value=i[6]):e.setOrientation&&e.setOrientation(-i[8],-i[9],-i[10],i[4],i[5],i[6])}},e.getOrientation=function(){return this.orientation},y(t,[{key:"listener",get:function(){var t=this._manager.context;return t?t.listener:null}}]),t}(),La="running",Da=["click","touchstart","mousedown"],Oa=function(t){function e(){var e;return(e=t.call(this)||this)._context=null,e.AudioContext="undefined"!=typeof AudioContext&&AudioContext||"undefined"!=typeof webkitAudioContext&&webkitAudioContext,e.AudioContext,e._unlockHandlerFunc=e._unlockHandler.bind(w(e)),e._userSuspended=!1,e.listener=new Ia(w(e)),e._volume=1,e}S(e,t);var i=e.prototype;return i.suspend=function(){this._userSuspended||(this._userSuspended=!0,this._context&&this._context.state===La&&this._suspend())},i.resume=function(){this._userSuspended&&(this._userSuspended=!1,this._context&&this._context.state!==La&&this._resume())},i.destroy=function(){var t;(this.fire("destroy"),this._context)&&(this._removeUnlockListeners(),null==(t=this._context)||t.close(),this._context=null)},i.playSound=function(t,e){void 0===e&&(e={});var i=null;return Ma&&(i=new Ma(this,t,e)).play(),i},i.playSound3d=function(t,e,i){void 0===i&&(i={});var n=null;return Pa&&((n=new Pa(this,t,i)).setPosition(e),i.volume&&n.setVolume(i.volume),i.loop&&n.setLoop(i.loop),i.maxDistance&&n.setMaxDistance(i.maxDistance),i.minDistance&&n.setMinDistance(i.minDistance),i.rollOffFactor&&n.setRollOffFactor(i.rollOffFactor),i.distanceModel&&n.setDistanceModel(i.distanceModel),n.play()),n},i._resume=function(){var t=this;this._context.resume().then((function(){var e=t._context.createBufferSource();e.buffer=t._context.createBuffer(1,1,t._context.sampleRate),e.connect(t._context.destination),e.start(0),e.onended=function(i){e.disconnect(0),t.fire("resume")}}),(function(t){})).catch((function(t){}))},i._suspend=function(){var t=this;this._context.suspend().then((function(){t.fire("suspend")}),(function(t){})).catch((function(t){}))},i._unlockHandler=function(){this._removeUnlockListeners(),this._userSuspended||this._context.state===La||this._resume()},i._registerUnlockListeners=function(){var t=this;Da.forEach((function(e){window.addEventListener(e,t._unlockHandlerFunc,!1)}))},i._removeUnlockListeners=function(){var t=this;Da.forEach((function(e){window.removeEventListener(e,t._unlockHandlerFunc,!1)}))},y(e,[{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.fire("volumechange",t)}},{key:"suspended",get:function(){return this._userSuspended}},{key:"context",get:function(){return!this._context&&this.AudioContext&&(this._context=new this.AudioContext,this._context.state!==La&&this._registerUnlockListeners()),this._context}}]),e}(P),ka=function(){function t(t){this.audio=void 0,this.buffer=void 0,t instanceof Audio?this.audio=t:this.buffer=t}return y(t,[{key:"duration",get:function(){var t=0;return this.buffer?t=this.buffer.duration:this.audio&&(t=this.audio.duration),t||0}}]),t}();function Fa(t,e){return t%e||0}var Ba=function(t){function e(e,i,n){var s;return(s=t.call(this)||this).source=null,s._manager=e,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._sound=i,s._state=2,s._suspended=!1,s._suspendEndEvent=0,s._suspendInstanceEvents=!1,s._playWhenLoaded=!0,s._startTime=Math.max(0,Number(n.startTime)||0),s._duration=Math.max(0,Number(n.duration)||0),s._startOffset=null,s._onPlayCallback=n.onPlay,s._onPauseCallback=n.onPause,s._onResumeCallback=n.onResume,s._onStopCallback=n.onStop,s._onEndCallback=n.onEnd,Ea()?(s._startedAt=0,s._currentTime=0,s._currentOffset=0,s._inputNode=null,s._connectorNode=null,s._firstNode=null,s._lastNode=null,s._waitingContextSuspension=!1,s._initializeNodes(),s._endedHandler=s._onEnded.bind(w(s))):(s._isReady=!1,s._loadedMetadataHandler=s._onLoadedMetadata.bind(w(s)),s._timeUpdateHandler=s._onTimeUpdate.bind(w(s)),s._endedHandler=s._onEnded.bind(w(s)),s._createSource()),s}S(e,t);var i=e.prototype;return i._onPlay=function(){this.fire("play"),this._onPlayCallback&&this._onPlayCallback(this)},i._onPause=function(){this.fire("pause"),this._onPauseCallback&&this._onPauseCallback(this)},i._onResume=function(){this.fire("resume"),this._onResumeCallback&&this._onResumeCallback(this)},i._onStop=function(){this.fire("stop"),this._onStopCallback&&this._onStopCallback(this)},i._onEnded=function(){this._suspendEndEvent>0?this._suspendEndEvent--:(this.fire("end"),this._onEndCallback&&this._onEndCallback(this),this.stop())},i._onManagerVolumeChange=function(){this.volume=this._volume},i._onManagerSuspend=function(){0!==this._state||this._suspended||(this._suspended=!0,this.pause())},i._onManagerResume=function(){this._suspended&&(this._suspended=!1,this.resume())},i._initializeNodes=function(){this.gain=this._manager.context.createGain(),this._inputNode=this.gain,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},i.play=function(){return 2!==this._state&&this.stop(),this._state=0,this._playWhenLoaded=!1,!this._waitingContextSuspension&&(this._manager.suspended?(this._manager.once("resume",this._playAudioImmediate,this),this._waitingContextSuspension=!0,!1):(this._playAudioImmediate(),!0))},i._playAudioImmediate=function(){if(this._waitingContextSuspension=!1,0===this._state){this.source||this._createSource();var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentTime=0,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._suspendInstanceEvents||this._onPlay()}},i.pause=function(){return this._playWhenLoaded=!1,0===this._state&&(this._state=1,this._waitingContextSuspension||(this._updateCurrentTime(),this._suspendEndEvent++,this.source.stop(0),this.source=null,this._startOffset=null,this._suspendInstanceEvents||this._onPause()),!0)},i.resume=function(){if(1!==this._state)return!1;var t=this.currentTime;return this._state=0,this._waitingContextSuspension||(this.source||this._createSource(),null!==this._startOffset&&(t=Fa(this._startOffset,this.duration),t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null),this._duration?this.source.start(0,t,this._duration):this.source.start(0,t),this._startedAt=this._manager.context.currentTime,this._currentOffset=t,this.volume=this._volume,this.loop=this._loop,this.pitch=this._pitch,this._playWhenLoaded=!1,this._suspendInstanceEvents||this._onResume()),!0},i.stop=function(){if(this._playWhenLoaded=!1,2===this._state)return!1;var t=0===this._state;return this._state=2,this._waitingContextSuspension||(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._startedAt=0,this._currentTime=0,this._currentOffset=0,this._startOffset=null,this._suspendEndEvent++,t&&this.source&&this.source.stop(0),this.source=null,this._suspendInstanceEvents||this._onStop()),!0},i.setExternalNodes=function(t,e){if(t){e||(e=t);var i=this._manager.context.destination;this._firstNode!==t&&(this._firstNode?this._connectorNode.disconnect(this._firstNode):this._connectorNode.disconnect(i),this._firstNode=t,this._connectorNode.connect(t)),this._lastNode!==e&&(this._lastNode&&this._lastNode.disconnect(i),this._lastNode=e,this._lastNode.connect(i))}else console.error("The firstNode must be a valid Audio Node")},i.clearExternalNodes=function(){var t=this._manager.context.destination;this._firstNode&&(this._connectorNode.disconnect(this._firstNode),this._firstNode=null),this._lastNode&&(this._lastNode.disconnect(t),this._lastNode=null),this._connectorNode.connect(t)},i.getExternalNodes=function(){return[this._firstNode,this._lastNode]},i._createSource=function(){if(!this._sound)return null;var t=this._manager.context;return this._sound.buffer&&(this.source=t.createBufferSource(),this.source.buffer=this._sound.buffer,this.source.connect(this._inputNode),this.source.onended=this._endedHandler,this.source.loopStart=Fa(this._startTime,this.source.buffer.duration),this._duration&&(this.source.loopEnd=Math.max(this.source.loopStart,Fa(this._startTime+this._duration,this.source.buffer.duration)))),this.source},i._updateCurrentTime=function(){this._currentTime=Fa((this._manager.context.currentTime-this._startedAt)*this._pitch+this._currentOffset,this.duration)},i._onManagerDestroy=function(){this.source&&0===this._state&&(this.source.stop(0),this.source=null)},y(e,[{key:"currentTime",get:function(){return null!==this._startOffset?this._startOffset:1===this._state?this._currentTime:2!==this._state&&this.source?(this._updateCurrentTime(),this._currentTime):0},set:function(t){if(!(t<0))if(0===this._state){var e=this._suspendInstanceEvents;this._suspendInstanceEvents=!0,this.stop(),this._startOffset=t,this.play(),this._suspendInstanceEvents=e}else this._startOffset=t,this._currentTime=t}},{key:"duration",get:function(){return this._sound?this._duration?Fa(this._duration,this._sound.duration):this._sound.duration:0},set:function(t){this._duration=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"isPaused",get:function(){return 1===this._state}},{key:"isPlaying",get:function(){return 0===this._state}},{key:"isStopped",get:function(){return 2===this._state}},{key:"isSuspended",get:function(){return this._suspended}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=!!t,this.source&&(this.source.loop=this._loop)}},{key:"pitch",get:function(){return this._pitch},set:function(t){this._currentOffset=this.currentTime,this._startedAt=this._manager.context.currentTime,this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate.value=this._pitch)}},{key:"sound",get:function(){return this._sound},set:function(t){this._sound=t,2!==this._state?this.stop():this._createSource()}},{key:"startTime",get:function(){return this._startTime},set:function(t){this._startTime=Math.max(0,Number(t)||0);var e=0===this._state;this.stop(),e&&this.play()}},{key:"volume",get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.gain&&(this.gain.gain.value=t*this._manager.volume)}}]),e}(P);Ea()||(Object.assign(Ba.prototype,{play:function(){return 2!==this._state&&this.stop(),!(!this.source&&!this._createSource())&&(this.volume=this._volume,this.pitch=this._pitch,this.loop=this._loop,this.source.play(),this._state=0,this._playWhenLoaded=!1,this._manager.on("volumechange",this._onManagerVolumeChange,this),this._manager.on("suspend",this._onManagerSuspend,this),this._manager.on("resume",this._onManagerResume,this),this._manager.on("destroy",this._onManagerDestroy,this),this._manager.suspended&&this._onManagerSuspend(),this._suspendInstanceEvents||this._onPlay(),!0)},pause:function(){return!(!this.source||0!==this._state)&&(this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=1,this._startOffset=null,this._suspendInstanceEvents||this._onPause(),!0)},resume:function(){return!(!this.source||1!==this._state)&&(this._state=0,this._playWhenLoaded=!1,this.source.paused&&(this.source.play(),this._suspendInstanceEvents||this._onResume()),!0)},stop:function(){return!(!this.source||2===this._state)&&(this._manager.off("volumechange",this._onManagerVolumeChange,this),this._manager.off("suspend",this._onManagerSuspend,this),this._manager.off("resume",this._onManagerResume,this),this._manager.off("destroy",this._onManagerDestroy,this),this._suspendEndEvent++,this.source.pause(),this._playWhenLoaded=!1,this._state=2,this._startOffset=null,this._suspendInstanceEvents||this._onStop(),!0)},setExternalNodes:function(){},clearExternalNodes:function(){},getExternalNodes:function(){return[null,null]},_onLoadedMetadata:function(){this.source.removeEventListener("loadedmetadata",this._loadedMetadataHandler),this._isReady=!0;var t=Fa(this._startOffset,this.duration);t=Fa(this._startTime+t,this._sound.duration),this._startOffset=null,this.source.currentTime=t},_createSource:function(){return this._sound&&this._sound.audio&&(this._isReady=!1,this.source=this._sound.audio.cloneNode(!0),this.source.addEventListener("loadedmetadata",this._loadedMetadataHandler),this.source.addEventListener("timeupdate",this._timeUpdateHandler),this.source.onended=this._endedHandler),this.source},_onTimeUpdate:function(){this._duration&&this.source.currentTime>Fa(this._startTime+this._duration,this.source.duration)&&(this.loop?this.source.currentTime=Fa(this._startTime,this.source.duration):(this.source.removeEventListener("timeupdate",this._timeUpdateHandler),this.source.pause(),this._onEnded()))},_onManagerDestroy:function(){this.source&&this.source.pause()}}),Object.defineProperty(Ba.prototype,"volume",{get:function(){return this._volume},set:function(t){t=_t.clamp(t,0,1),this._volume=t,this.source&&(this.source.volume=t*this._manager.volume)}}),Object.defineProperty(Ba.prototype,"pitch",{get:function(){return this._pitch},set:function(t){this._pitch=Math.max(Number(t)||0,.01),this.source&&(this.source.playbackRate=this._pitch)}}),Object.defineProperty(Ba.prototype,"sound",{get:function(){return this._sound},set:function(t){this.stop(),this._sound=t}}),Object.defineProperty(Ba.prototype,"currentTime",{get:function(){return null!==this._startOffset?this._startOffset:2!==this._state&&this.source?this.source.currentTime-this._startTime:0},set:function(t){t<0||(this._startOffset=t,this.source&&this._isReady&&(this.source.currentTime=Fa(this._startTime+Fa(t,this.duration),this._sound.duration),this._startOffset=null))}}));var Ua=function(t){function e(e,i,n){var s;return void 0===n&&(n={}),(s=t.call(this,e,i,n)||this)._position=new Et,s._velocity=new Et,n.position&&(s.position=n.position),s.maxDistance=void 0!==n.maxDistance?Number(n.maxDistance):1e4,s.refDistance=void 0!==n.refDistance?Number(n.refDistance):1,s.rollOffFactor=void 0!==n.rollOffFactor?Number(n.rollOffFactor):1,s.distanceModel=void 0!==n.distanceModel?n.distanceModel:re,s}return S(e,t),e.prototype._initializeNodes=function(){this.gain=this._manager.context.createGain(),this.panner=this._manager.context.createPanner(),this.panner.connect(this.gain),this._inputNode=this.panner,this._connectorNode=this.gain,this._connectorNode.connect(this._manager.context.destination)},y(e,[{key:"position",get:function(){return this._position},set:function(t){this._position.copy(t);var e=this.panner;"positionX"in e?(e.positionX.value=t.x,e.positionY.value=t.y,e.positionZ.value=t.z):e.setPosition&&e.setPosition(t.x,t.y,t.z)}},{key:"velocity",get:function(){return this._velocity},set:function(t){this._velocity.copy(t)}},{key:"maxDistance",get:function(){return this.panner.maxDistance},set:function(t){this.panner.maxDistance=t}},{key:"refDistance",get:function(){return this.panner.refDistance},set:function(t){this.panner.refDistance=t}},{key:"rollOffFactor",get:function(){return this.panner.rolloffFactor},set:function(t){this.panner.rolloffFactor=t}},{key:"distanceModel",get:function(){return this.panner.distanceModel},set:function(t){this.panner.distanceModel=t}}]),e}(Ba);if(!Ea()){var Na=new Et;Object.defineProperty(Ua.prototype,"position",{get:function(){return this._position},set:function(t){if(this._position.copy(t),this.source){var e=function(t,e,i,n,s,r){var a=(Na=Na.sub2(t,e)).length();if(an)return 0;var o=0;return r===re?o=1-s*(a-i)/(n-i):r===ae?o=i/(i+s*(a-i)):r===oe&&(o=Math.pow(a/i,-s)),_t.clamp(o,0,1)}(this._manager.listener.getPosition(),this._position,this.refDistance,this.maxDistance,this.rollOffFactor,this.distanceModel),i=this.volume;this.source.volume=i*e*this._manager.volume}}}),Object.defineProperty(Ua.prototype,"maxDistance",{get:function(){return this._maxDistance},set:function(t){this._maxDistance=t}}),Object.defineProperty(Ua.prototype,"refDistance",{get:function(){return this._refDistance},set:function(t){this._refDistance=t}}),Object.defineProperty(Ua.prototype,"rollOffFactor",{get:function(){return this._rollOffFactor},set:function(t){this._rollOffFactor=t}}),Object.defineProperty(Ua.prototype,"distanceModel",{get:function(){return this._distanceModel},set:function(t){this._distanceModel=t}})}var za="none",Va="linear",Ga={0:"PCF3",1:"VSM8",2:"VSM16",3:"VSM32",4:"PCF5",5:"PCF1",6:"PCSS"},Ha="mul",Wa=32,Xa=128,qa=256,ja=512,Ya=1024,Ka=2048,Za=4096,Qa=8192,$a=function(){function t(){this._refCount=0}var e=t.prototype;return e.incRefCount=function(){this._refCount++},e.decRefCount=function(){this._refCount--},y(t,[{key:"refCount",get:function(){return this._refCount}}]),t}(),Ja=function(){function t(){}return t.set=function(e){t._graphicsDevice=e},t.get=function(){return t._graphicsDevice},t}();Ja._graphicsDevice=null;var to=0,eo=function(){function t(){this.initDefaults()}var e=t.prototype;return e.initDefaults=function(){this.recreate=!1,this.verticesUsage=0,this.indicesUsage=0,this.maxVertices=0,this.maxIndices=0,this.vertexCount=0,this.indexCount=0,this.vertexStreamsUpdated=!1,this.indexStreamUpdated=!1,this.vertexStreamDictionary={},this.indices=null},e._changeVertexCount=function(t,e){this.vertexCount||(this.vertexCount=t)},t}();eo.DEFAULT_COMPONENTS_POSITION=3,eo.DEFAULT_COMPONENTS_NORMAL=3,eo.DEFAULT_COMPONENTS_UV=2,eo.DEFAULT_COMPONENTS_COLORS=4;var io=function(t,e,i,n){this.data=t,this.componentCount=e,this.dataType=i,this.dataTypeNormalize=n},no=function(t){function e(e){var i;return(i=t.call(this)||this)._aabbVer=0,i._aabb=new jt,i.id=to++,i.device=e||Ja.get(),i.vertexBuffer=null,i.indexBuffer=[null],i.primitive=[{type:0,base:0,count:0}],i.skin=null,i._morph=null,i._geometryData=null,i.boneAabb=null,i}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this.morph;t&&(this.morph=null,t.refCount<1&&t.destroy()),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);for(var e=0;e0){var S=g.array[g.index+x];if(u[S]=!0,e=m.array[m.index],i=m.array[m.index+1],n=m.array[m.index+2],s=c[S],(r=l[S]).x>e&&(r.x=e),r.y>i&&(r.y=i),r.z>n&&(r.z=n),s.xb&&(r.x=b),r.y>w&&(r.y=w),r.z>T&&(r.z=T),s.x0&&this.indexBuffer[0]&&(this._geometryData.indexCount=this.indexBuffer[0].numIndices,this._geometryData.maxIndices=this.indexBuffer[0].numIndices))},i.clear=function(t,e,i,n){void 0===i&&(i=0),void 0===n&&(n=0),this._initGeometryData(),this._geometryData.initDefaults(),this._geometryData.recreate=!0,this._geometryData.maxVertices=i,this._geometryData.maxIndices=n,this._geometryData.verticesUsage=t?0:1,this._geometryData.indicesUsage=e?0:1},i.setVertexStream=function(t,e,i,n,s,r){void 0===s&&(s=6),void 0===r&&(r=!1),this._initGeometryData();var a=n||e.length/i;this._geometryData._changeVertexCount(a,t),this._geometryData.vertexStreamsUpdated=!0,this._geometryData.vertexStreamDictionary[t]=new io(e,i,s,r)},i.getVertexStream=function(t,e){var i=0,n=!1;if(this._geometryData){var s=this._geometryData.vertexStreamDictionary[t];s&&(n=!0,i=this._geometryData.vertexCount,ArrayBuffer.isView(e)?e.set(s.data):(e.length=0,e.push(s.data)))}n||this.vertexBuffer&&(i=new Gr(this.vertexBuffer).readData(t,e));return i},i.setPositions=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_POSITION),this.setVertexStream(Ee,t,e,i,6,!1)},i.setNormals=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_NORMAL),this.setVertexStream(Me,t,e,i,6,!1)},i.setUvs=function(t,e,i,n){void 0===i&&(i=eo.DEFAULT_COMPONENTS_UV),this.setVertexStream(De+t,e,i,n,6,!1)},i.setColors=function(t,e,i){void 0===e&&(e=eo.DEFAULT_COMPONENTS_COLORS),this.setVertexStream(Le,t,e,i,6,!1)},i.setColors32=function(t,e){this.setVertexStream(Le,t,eo.DEFAULT_COMPONENTS_COLORS,e,yi,!0)},i.setIndices=function(t,e){this._initGeometryData(),this._geometryData.indexStreamUpdated=!0,this._geometryData.indices=t,this._geometryData.indexCount=e||t.length},i.getPositions=function(t){return this.getVertexStream(Ee,t)},i.getNormals=function(t){return this.getVertexStream(Me,t)},i.getUvs=function(t,e){return this.getVertexStream(De+t,e)},i.getColors=function(t){return this.getVertexStream(Le,t)},i.getIndices=function(t){var e=0;if(this._geometryData&&this._geometryData.indices){var i=this._geometryData.indices;if(e=this._geometryData.indexCount,ArrayBuffer.isView(t))t.set(i);else{t.length=0;for(var n=0,s=i.length;n0&&this.indexBuffer[0])e=this.indexBuffer[0].readData(t)}return e},i.update=function(t,e){if(void 0===t&&(t=4),void 0===e&&(e=!0),this._geometryData){if(e){var i=this._geometryData.vertexStreamDictionary[Ee];i&&3===i.componentCount&&(this._aabb.compute(i.data,this._geometryData.vertexCount),this._aabbVer++)}var n=this._geometryData.recreate;this._geometryData.vertexCount>this._geometryData.maxVertices&&(n=!0,this._geometryData.maxVertices=this._geometryData.vertexCount),n&&this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=null);var s=this._geometryData.recreate;this._geometryData.indexCount>this._geometryData.maxIndices&&(s=!0,this._geometryData.maxIndices=this._geometryData.indexCount),s&&this.indexBuffer.length>0&&this.indexBuffer[0]&&(this.indexBuffer[0].destroy(),this.indexBuffer[0]=null),this._geometryData.vertexStreamsUpdated&&this._updateVertexBuffer(),this._geometryData.indexStreamUpdated&&this._updateIndexBuffer(),this.primitive[0].type=t,this.indexBuffer.length>0&&this.indexBuffer[0]?this._geometryData.indexStreamUpdated&&(this.primitive[0].count=this._geometryData.indexCount,this.primitive[0].indexed=!0):this._geometryData.vertexStreamsUpdated&&(this.primitive[0].count=this._geometryData.vertexCount,this.primitive[0].indexed=!1),this._geometryData.vertexCount=0,this._geometryData.indexCount=0,this._geometryData.vertexStreamsUpdated=!1,this._geometryData.indexStreamUpdated=!1,this._geometryData.recreate=!1,this.updateRenderStates()}},i._buildVertexFormat=function(t){var e=[];for(var i in this._geometryData.vertexStreamDictionary){var n=this._geometryData.vertexStreamDictionary[i];e.push({semantic:i,components:n.componentCount,type:n.dataType,normalize:n.dataTypeNormalize})}return new sn(this.device,e,t)},i._updateVertexBuffer=function(){if(!this.vertexBuffer){var t=this._geometryData.maxVertices,e=this._buildVertexFormat(t);this.vertexBuffer=new Zi(this.device,e,t,this._geometryData.verticesUsage)}var i=new Gr(this.vertexBuffer),n=this._geometryData.vertexCount;for(var s in this._geometryData.vertexStreamDictionary){var r=this._geometryData.vertexStreamDictionary[s];i.writeData(s,r.data,n),delete this._geometryData.vertexStreamDictionary[s]}i.end()},i._updateIndexBuffer=function(){if(this.indexBuffer.length<=0||!this.indexBuffer[0]){var t=this._geometryData.maxVertices>65535?2:1;this.indexBuffer[0]=new Tr(this.device,t,this._geometryData.maxIndices,this._geometryData.indicesUsage)}var e=this._geometryData.indices;e&&(this.indexBuffer[0].writeData(e,this._geometryData.indexCount),this._geometryData.indices=null)},i.prepareRenderState=function(t){1===t?this.generateWireframe():2===t&&(this.primitive[2]={type:0,base:0,count:this.vertexBuffer?this.vertexBuffer.numVertices:0,indexed:!1})},i.updateRenderStates=function(){this.primitive[2]&&this.prepareRenderState(2),this.primitive[1]&&this.prepareRenderState(1)},i.generateWireframe=function(){this._destroyIndexBuffer(1);var t,e=this.vertexBuffer.numVertices,i=[];if(this.indexBuffer.length>0&&this.indexBuffer[0]){for(var n=[[0,1],[1,2],[2,0]],s=this.primitive[0].base,r=this.primitive[0].count,a=this.indexBuffer[0],o=new Li[a.format](a.storage),h=new Set,l=s;ld?d*e+u:u*e+d;h.has(f)||(h.add(f),i.push(u,d))}t=a.format}else{for(var p=0;p65535?2:1}var m=new Tr(this.vertexBuffer.device,t,i.length);new Li[m.format](m.storage).set(i),m.unlock(),this.primitive[1]={type:1,base:0,count:i.length,indexed:!0},this.indexBuffer[1]=m},y(e,[{key:"morph",get:function(){return this._morph},set:function(t){t!==this._morph&&(this._morph&&this._morph.decRefCount(),this._morph=t,t&&t.incRefCount())}},{key:"aabb",get:function(){return this._aabb},set:function(t){this._aabb=t,this._aabbVer++}}]),e}($a),so=4/64,ro=1-2*so,ao=[];function oo(t,e){for(var i=e.length/3,n=t.length/3,s=new Et,r=new Et,a=new Et,o=new Et,h=new Et,l=new Et,c=[],u=0;u0)for(var v=0;v<=n;v++)for(var y=0;y<=s;y++){var x=y/s*2*Math.PI-Math.PI,S=Math.sin(x),b=Math.cos(x);u.set(S*t,-i/2,b*t),c.set(S*e,i/2,b*e),o.lerp(u,c,v/n),h.sub2(c,u).normalize(),d.set(b,0,-S),l.cross(d,h).normalize(),f.push(o.x,o.y,o.z),p.push(l.x,l.y,l.z);var w=y/s,T=v/n;m.push(w,1-T);var A=T;if(T=w,w=(w=A)*ro+so,T=T*ro+so,w/=3,_.push(w,1-T),v0)for(var ut=0;ut1&&g.push(a,a+ut,a+ut-1)}if(a+=s,e>0)for(var vt=0;vt1&&g.push(a,a+vt-1,a+vt)}}return{positions:f,normals:p,uvs:m,uvs1:_,indices:g}}function fo(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.5,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:5,c=null!=(r=e.capSegments)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h,l,c,!1);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function po(t,e){var i,n,s,r,a;void 0===e&&(e={});var o=null!=(i=e.radius)?i:.3,h=null!=(n=e.height)?n:1,l=null!=(s=e.heightSegments)?s:1,c=null!=(r=e.sides)?r:20,u=null!=(a=e.calculateTangents)&&a,d=uo(o,o,h-2*o,l,c,!0);return u&&(d.tangents=ho(d.positions,d.normals,d.uvs,d.indices)),lo(t,d.positions,d)}function mo(t,e){var i,n,s,r,a,o;void 0===e&&(e={});var h=null!=(i=e.baseRadius)?i:.5,l=null!=(n=e.peakRadius)?n:0,c=null!=(s=e.height)?s:1,u=null!=(r=e.heightSegments)?r:5,d=null!=(a=e.capSegments)?a:18,f=null!=(o=e.calculateTangents)&&o,p=uo(h,l,c,u,d,!1);return f&&(p.tangents=ho(p.positions,p.normals,p.uvs,p.indices)),lo(t,p.positions,p)}function _o(t,e){var i,n,s,r;void 0===e&&(e={});for(var a=null!=(i=e.radius)?i:.5,o=null!=(n=e.latitudeBands)?n:16,h=null!=(s=e.longitudeBands)?s:16,l=null!=(r=e.calculateTangents)&&r,c=[],u=[],d=[],f=[],p=0;p<=o;p++)for(var m=p*Math.PI/o,_=Math.sin(m),g=Math.cos(m),v=0;v<=h;v++){var y=2*v*Math.PI/h-Math.PI/2,x=Math.sin(y),S=Math.cos(y)*_,b=g,w=x*_,T=1-v/h,A=1-p/o;c.push(S*a,b*a,w*a),u.push(S,b,w),d.push(T,1-A)}for(var C=0;C shadowZ ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowOmniClusteredPCF3(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowOmniClusteredPCF5(sampler2D shadowMap, vec4 shadowParams, vec3 omniAtlasViewport, float shadowEdgePixels, vec3 lightDir) {\n\t\tfloat shadowTextureResolution = shadowParams.x;\n\t\tvec2 uv = getCubemapAtlasCoordinates(omniAtlasViewport, shadowEdgePixels, shadowTextureResolution, lightDir);\n\t\tfloat shadowZ = length(lightDir) * shadowParams.w + shadowParams.z;\n\t\tvec3 shadowCoord = vec3(uv, shadowZ);\n\t\treturn getShadowPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n#ifdef GL2\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn textureShadow(shadowMap, shadowCoord);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams);\n\t}\n\t#endif\n#else\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\tfloat getShadowSpotClusteredPCF1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\tfloat depth = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\t\treturn depth > shadowCoord.z ? 1.0 : 0.0;\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF3)\n\tfloat getShadowSpotClusteredPCF3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n\t#if defined(CLUSTER_SHADOW_TYPE_PCF5)\n\tfloat getShadowSpotClusteredPCF5(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\t\treturn getShadowSpotPCF3x3(shadowMap, shadowCoord, shadowParams);\n\t}\n\t#endif\n#endif\n",clusteredLightUtilsPS:"\nvec2 getCubemapFaceCoordinates(const vec3 dir, out float faceIndex, out vec2 tileOffset)\n{\n\tvec3 vAbs = abs(dir);\n\tfloat ma;\n\tvec2 uv;\n\tif (vAbs.z >= vAbs.x && vAbs.z >= vAbs.y) {\n\t\tfaceIndex = dir.z < 0.0 ? 5.0 : 4.0;\n\t\tma = 0.5 / vAbs.z;\n\t\tuv = vec2(dir.z < 0.0 ? -dir.x : dir.x, -dir.y);\n\t\ttileOffset.x = 2.0;\n\t\ttileOffset.y = dir.z < 0.0 ? 1.0 : 0.0;\n\t} else if(vAbs.y >= vAbs.x) {\n\t\tfaceIndex = dir.y < 0.0 ? 3.0 : 2.0;\n\t\tma = 0.5 / vAbs.y;\n\t\tuv = vec2(dir.x, dir.y < 0.0 ? -dir.z : dir.z);\n\t\ttileOffset.x = 1.0;\n\t\ttileOffset.y = dir.y < 0.0 ? 1.0 : 0.0;\n\t} else {\n\t\tfaceIndex = dir.x < 0.0 ? 1.0 : 0.0;\n\t\tma = 0.5 / vAbs.x;\n\t\tuv = vec2(dir.x < 0.0 ? dir.z : -dir.z, -dir.y);\n\t\ttileOffset.x = 0.0;\n\t\ttileOffset.y = dir.x < 0.0 ? 1.0 : 0.0;\n\t}\n\treturn uv * ma + 0.5;\n}\nvec2 getCubemapAtlasCoordinates(const vec3 omniAtlasViewport, float shadowEdgePixels, float shadowTextureResolution, const vec3 dir) {\n\tfloat faceIndex;\n\tvec2 tileOffset;\n\tvec2 uv = getCubemapFaceCoordinates(dir, faceIndex, tileOffset);\n\tfloat atlasFaceSize = omniAtlasViewport.z;\n\tfloat tileSize = shadowTextureResolution * atlasFaceSize;\n\tfloat offset = shadowEdgePixels / tileSize;\n\tuv = uv * vec2(1.0 - offset * 2.0) + vec2(offset * 1.0);\n\tuv *= atlasFaceSize;\n\tuv += tileOffset * atlasFaceSize;\n\tuv += omniAtlasViewport.xy;\n\treturn uv;\n}\n",clusteredLightPS:"\nuniform highp sampler2D clusterWorldTexture;\nuniform highp sampler2D lightsTexture8;\nuniform highp sampler2D lightsTextureFloat;\n#if defined(CLUSTER_COOKIES)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#if defined(CLUSTER_SHADOWS)\n\t#define CLUSTER_COOKIES_OR_SHADOWS\n#endif\n#ifdef CLUSTER_SHADOWS\n\t#ifdef GL2\n\t\tuniform sampler2DShadow shadowAtlasTexture;\n\t#else\n\t\tuniform sampler2D shadowAtlasTexture;\n\t#endif\n#endif\n#ifdef CLUSTER_COOKIES\n\tuniform sampler2D cookieAtlasTexture;\n#endif\n#ifdef GL2\n\tuniform int clusterMaxCells;\n#else\n\tuniform float clusterMaxCells;\n\tuniform vec4 lightsTextureInvSize;\n#endif\nuniform float clusterSkip;\nuniform vec3 clusterCellsCountByBoundsSize;\nuniform vec3 clusterTextureSize;\nuniform vec3 clusterBoundsMin;\nuniform vec3 clusterBoundsDelta;\nuniform vec3 clusterCellsDot;\nuniform vec3 clusterCellsMax;\nuniform vec2 clusterCompressionLimit0;\nuniform vec2 shadowAtlasParams;\nstruct ClusterLightData {\n\tvec3 halfWidth;\n\tfloat lightType;\n\tvec3 halfHeight;\n\t#ifdef GL2\n\t\tint lightIndex;\n\t#else\n\t\tfloat lightV;\n\t#endif\n\tvec3 position;\n\tfloat shape;\n\tvec3 direction;\n\tfloat falloffMode;\n\tvec3 color;\n\tfloat shadowIntensity;\n\tvec3 omniAtlasViewport;\n\tfloat range;\n\tvec4 cookieChannelMask;\n\tfloat shadowBias;\n\tfloat shadowNormalBias;\n\tfloat innerConeAngleCos;\n\tfloat outerConeAngleCos;\n\tfloat cookie;\n\tfloat cookieRgb;\n\tfloat cookieIntensity;\n\tfloat mask;\n};\nmat4 lightProjectionMatrix;\n#define isClusteredLightCastShadow(light) ( light.shadowIntensity > 0.0 )\n#define isClusteredLightCookie(light) (light.cookie > 0.5 )\n#define isClusteredLightCookieRgb(light) (light.cookieRgb > 0.5 )\n#define isClusteredLightSpot(light) ( light.lightType > 0.5 )\n#define isClusteredLightFalloffLinear(light) ( light.falloffMode < 0.5 )\n#define isClusteredLightArea(light) ( light.shape > 0.1 )\n#define isClusteredLightRect(light) ( light.shape < 0.3 )\n#define isClusteredLightDisk(light) ( light.shape < 0.6 )\n#ifdef CLUSTER_MESH_DYNAMIC_LIGHTS\n\t#define acceptLightMask(light) ( light.mask < 0.75)\n#else\n\t#define acceptLightMask(light) ( light.mask > 0.25)\n#endif\nvec4 decodeClusterLowRange4Vec4(vec4 d0, vec4 d1, vec4 d2, vec4 d3) {\n\treturn vec4(\n\t\tbytes2floatRange4(d0, -2.0, 2.0),\n\t\tbytes2floatRange4(d1, -2.0, 2.0),\n\t\tbytes2floatRange4(d2, -2.0, 2.0),\n\t\tbytes2floatRange4(d3, -2.0, 2.0)\n\t);\n}\n#ifdef GL2\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTexture8, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, int index) {\n\t\treturn texelFetch(lightsTextureFloat, ivec2(index, clusterLightData.lightIndex), 0);\n\t}\n#else\n\tvec4 sampleLightsTexture8(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTexture8, vec2(index * lightsTextureInvSize.z, clusterLightData.lightV), 0.0);\n\t}\n\tvec4 sampleLightTextureF(const ClusterLightData clusterLightData, float index) {\n\t\treturn texture2DLodEXT(lightsTextureFloat, vec2(index * lightsTextureInvSize.x, clusterLightData.lightV), 0.0);\n\t}\n#endif\nvoid decodeClusterLightCore(inout ClusterLightData clusterLightData, float lightIndex) {\n\t#ifdef GL2\n\t\tclusterLightData.lightIndex = int(lightIndex);\n\t#else\n\t\tclusterLightData.lightV = (lightIndex + 0.5) * lightsTextureInvSize.w;\n\t#endif\n\tvec4 lightInfo = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_FLAGS);\n\tclusterLightData.lightType = lightInfo.x;\n\tclusterLightData.shape = lightInfo.y;\n\tclusterLightData.falloffMode = lightInfo.z;\n\tclusterLightData.shadowIntensity = lightInfo.w;\n\tvec4 colorA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_A);\n\tvec4 colorB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COLOR_B);\n\tclusterLightData.color = vec3(bytes2float2(colorA.xy), bytes2float2(colorA.zw), bytes2float2(colorB.xy)) * clusterCompressionLimit0.y;\n\tclusterLightData.cookie = colorB.z;\n\tclusterLightData.mask = colorB.w;\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 lightPosRange = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_POSITION_RANGE);\n\t\tclusterLightData.position = lightPosRange.xyz;\n\t\tclusterLightData.range = lightPosRange.w;\n\t\tvec4 lightDir_Unused = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_SPOT_DIRECTION);\n\t\tclusterLightData.direction = lightDir_Unused.xyz;\n\t#else\n\t\tvec4 encPosX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_X);\n\t\tvec4 encPosY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Y);\n\t\tvec4 encPosZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_POSITION_Z);\n\t\tclusterLightData.position = vec3(bytes2float4(encPosX), bytes2float4(encPosY), bytes2float4(encPosZ)) * clusterBoundsDelta + clusterBoundsMin;\n\t\tvec4 encRange = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_RANGE);\n\t\tclusterLightData.range = bytes2float4(encRange) * clusterCompressionLimit0.x;\n\t\tvec4 encDirX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_X);\n\t\tvec4 encDirY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Y);\n\t\tvec4 encDirZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_DIRECTION_Z);\n\t\tclusterLightData.direction = vec3(bytes2float4(encDirX), bytes2float4(encDirY), bytes2float4(encDirZ)) * 2.0 - 1.0;\n\t#endif\n}\nvoid decodeClusterLightSpot(inout ClusterLightData clusterLightData) {\n\tvec4 coneAngle = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SPOT_ANGLES);\n\tclusterLightData.innerConeAngleCos = bytes2float2(coneAngle.xy) * 2.0 - 1.0;\n\tclusterLightData.outerConeAngleCos = bytes2float2(coneAngle.zw) * 2.0 - 1.0;\n}\nvoid decodeClusterLightOmniAtlasViewport(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.omniAtlasViewport = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0).xyz;\n\t#else\n\t\tvec4 viewportA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_A);\n\t\tvec4 viewportB = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_ATLAS_VIEWPORT_B);\n\t\tclusterLightData.omniAtlasViewport = vec3(bytes2float2(viewportA.xy), bytes2float2(viewportA.zw), bytes2float2(viewportB.xy));\n\t#endif\n}\nvoid decodeClusterLightAreaData(inout ClusterLightData clusterLightData) {\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tclusterLightData.halfWidth = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_WIDTH).xyz;\n\t\tclusterLightData.halfHeight = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_AREA_DATA_HEIGHT).xyz;\n\t#else\n\t\tvec4 areaWidthX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_X);\n\t\tvec4 areaWidthY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Y);\n\t\tvec4 areaWidthZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_WIDTH_Z);\n\t\tclusterLightData.halfWidth = vec3(mantissaExponent2Float(areaWidthX), mantissaExponent2Float(areaWidthY), mantissaExponent2Float(areaWidthZ));\n\t\tvec4 areaHeightX = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_X);\n\t\tvec4 areaHeightY = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Y);\n\t\tvec4 areaHeightZ = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_AREA_DATA_HEIGHT_Z);\n\t\tclusterLightData.halfHeight = vec3(mantissaExponent2Float(areaHeightX), mantissaExponent2Float(areaHeightY), mantissaExponent2Float(areaHeightZ));\n\t#endif\n}\nvoid decodeClusterLightProjectionMatrixData(inout ClusterLightData clusterLightData) {\n\t\n\t#ifdef CLUSTER_TEXTURE_FLOAT\n\t\tvec4 m0 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_0);\n\t\tvec4 m1 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_1);\n\t\tvec4 m2 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_2);\n\t\tvec4 m3 = sampleLightTextureF(clusterLightData, CLUSTER_TEXTURE_F_PROJ_MAT_3);\n\t#else\n\t\tvec4 m00 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_00);\n\t\tvec4 m01 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_01);\n\t\tvec4 m02 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_02);\n\t\tvec4 m03 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_03);\n\t\tvec4 m0 = decodeClusterLowRange4Vec4(m00, m01, m02, m03);\n\t\tvec4 m10 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_10);\n\t\tvec4 m11 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_11);\n\t\tvec4 m12 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_12);\n\t\tvec4 m13 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_13);\n\t\tvec4 m1 = decodeClusterLowRange4Vec4(m10, m11, m12, m13);\n\t\tvec4 m20 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_20);\n\t\tvec4 m21 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_21);\n\t\tvec4 m22 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_22);\n\t\tvec4 m23 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_23);\n\t\tvec4 m2 = decodeClusterLowRange4Vec4(m20, m21, m22, m23);\n\t\tvec4 m30 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_30);\n\t\tvec4 m31 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_31);\n\t\tvec4 m32 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_32);\n\t\tvec4 m33 = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_PROJ_MAT_33);\n\t\tvec4 m3 = vec4(mantissaExponent2Float(m30), mantissaExponent2Float(m31), mantissaExponent2Float(m32), mantissaExponent2Float(m33));\n\t#endif\n\t\n\tlightProjectionMatrix = mat4(m0, m1, m2, m3);\n}\nvoid decodeClusterLightShadowData(inout ClusterLightData clusterLightData) {\n\t\n\tvec4 biases = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_SHADOW_BIAS);\n\tclusterLightData.shadowBias = bytes2floatRange2(biases.xy, -1.0, 20.0),\n\tclusterLightData.shadowNormalBias = bytes2float2(biases.zw);\n}\nvoid decodeClusterLightCookieData(inout ClusterLightData clusterLightData) {\n\tvec4 cookieA = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_A);\n\tclusterLightData.cookieIntensity = cookieA.x;\n\tclusterLightData.cookieRgb = cookieA.y;\n\tclusterLightData.cookieChannelMask = sampleLightsTexture8(clusterLightData, CLUSTER_TEXTURE_8_COOKIE_B);\n}\nvoid evaluateLight(\n\tClusterLightData light, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir,\n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tvec3 cookieAttenuation = vec3(1.0);\n\tfloat diffuseAttenuation = 1.0;\n\tfloat falloffAttenuation = 1.0;\n\tgetLightDirPoint(light.position);\n\t#ifdef CLUSTER_AREALIGHTS\n\tif (isClusteredLightArea(light)) {\n\t\tdecodeClusterLightAreaData(light);\n\t\tif (isClusteredLightRect(light)) {\n\t\t\tcalcRectLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\tcalcDiskLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t} else {\n\t\t\tcalcSphereLightValues(light.position, light.halfWidth, light.halfHeight);\n\t\t}\n\t\tfalloffAttenuation = getFalloffWindow(light.range, dLightDirW);\n\t} else\n\t#endif\n\t{\n\t\tif (isClusteredLightFalloffLinear(light))\n\t\t\tfalloffAttenuation = getFalloffLinear(light.range, dLightDirW);\n\t\telse\n\t\t\tfalloffAttenuation = getFalloffInvSquared(light.range, dLightDirW);\n\t}\n\tif (falloffAttenuation > 0.00001) {\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\tdiffuseAttenuation = getRectLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\tdiffuseAttenuation = getDiskLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t} else {\n\t\t\t\tdiffuseAttenuation = getSphereLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW) * 16.0;\n\t\t\t}\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\tfalloffAttenuation *= getLightDiffuse(worldNormal, viewDir, dLightDirW, dLightDirNormW); \n\t\t}\n\t\tif (isClusteredLightSpot(light)) {\n\t\t\tdecodeClusterLightSpot(light);\n\t\t\tfalloffAttenuation *= getSpotEffect(light.direction, light.innerConeAngleCos, light.outerConeAngleCos, dLightDirNormW);\n\t\t}\n\t\t#if defined(CLUSTER_COOKIES_OR_SHADOWS)\n\t\tif (falloffAttenuation > 0.00001) {\n\t\t\tif (isClusteredLightCastShadow(light) || isClusteredLightCookie(light)) {\n\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\tdecodeClusterLightProjectionMatrixData(light);\n\t\t\t\t} else {\n\t\t\t\t\tdecodeClusterLightOmniAtlasViewport(light);\n\t\t\t\t}\n\t\t\t\tfloat shadowTextureResolution = shadowAtlasParams.x;\n\t\t\t\tfloat shadowEdgePixels = shadowAtlasParams.y;\n\t\t\t\t#ifdef CLUSTER_COOKIES\n\t\t\t\tif (isClusteredLightCookie(light)) {\n\t\t\t\t\tdecodeClusterLightCookieData(light);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tcookieAttenuation = getCookie2DClustered(TEXTURE_PASS(cookieAtlasTexture), lightProjectionMatrix, vPositionW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcookieAttenuation = getCookieCubeClustered(TEXTURE_PASS(cookieAtlasTexture), dLightDirW, light.cookieIntensity, isClusteredLightCookieRgb(light), light.cookieChannelMask, shadowTextureResolution, shadowEdgePixels, light.omniAtlasViewport);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t\t#ifdef CLUSTER_SHADOWS\n\t\t\t\tif (isClusteredLightCastShadow(light)) {\n\t\t\t\t\tdecodeClusterLightShadowData(light);\n\t\t\t\t\tvec4 shadowParams = vec4(shadowTextureResolution, light.shadowNormalBias, light.shadowBias, 1.0 / light.range);\n\t\t\t\t\tif (isClusteredLightSpot(light)) {\n\t\t\t\t\t\tgetShadowCoordPerspZbufferNormalOffset(lightProjectionMatrix, shadowParams, geometricNormal);\n\t\t\t\t\t\t\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCSS)\n\t\t\t\t\t\t\tfloat shadow = getShadowSpotClusteredPCSS(SHADOWMAP_PASS(shadowAtlasTexture), dShadowCoord, shadowParams);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvec3 dir = normalOffsetPointShadow(shadowParams, dLightPosW, dLightDirW, dLightDirNormW, geometricNormal);\n\t\t\t\t\t\t#if defined(CLUSTER_SHADOW_TYPE_PCF1)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF1(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF3)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF3(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#elif defined(CLUSTER_SHADOW_TYPE_PCF5)\n\t\t\t\t\t\t\tfloat shadow = getShadowOmniClusteredPCF5(SHADOWMAP_PASS(shadowAtlasTexture), shadowParams, light.omniAtlasViewport, shadowEdgePixels, dir);\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\tfalloffAttenuation *= mix(1.0, shadow, light.shadowIntensity);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t#endif\n\t\t\t}\n\t\t}\n\t\t#endif\n\t\t#ifdef CLUSTER_AREALIGHTS\n\t\tif (isClusteredLightArea(light)) {\n\t\t\t{\n\t\t\t\tvec3 areaDiffuse = (diffuseAttenuation * falloffAttenuation) * light.color * cookieAttenuation;\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\t\tareaDiffuse = mix(areaDiffuse, vec3(0), dLTCSpecFres);\n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += areaDiffuse;\n\t\t\t}\n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tfloat areaLightSpecular;\n\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\tareaLightSpecular = getRectLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\tareaLightSpecular = getDiskLightSpecular(worldNormal, viewDir);\n\t\t\t\t} else {\n\t\t\t\t\tareaLightSpecular = getSphereLightSpecular(worldNormal, viewDir);\n\t\t\t\t}\n\t\t\t\tdSpecularLight += dLTCSpecFres * areaLightSpecular * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\tfloat areaLightSpecularCC;\n\t\t\t\t\tif (isClusteredLightRect(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getRectLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else if (isClusteredLightDisk(light)) {\n\t\t\t\t\t\tareaLightSpecularCC = getDiskLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tareaLightSpecularCC = getSphereLightSpecular(clearcoat_worldNormal, viewDir);\n\t\t\t\t\t}\n\t\t\t\t\tccSpecularLight += ccLTCSpecFres * areaLightSpecularCC * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t} else\n\t\t#endif\n\t\t{\n\t\t\t{\n\t\t\t\tvec3 punctualDiffuse = falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#if defined(CLUSTER_AREALIGHTS)\n\t\t\t\t#if defined(LIT_SPECULAR)\n\t\t\t\t#if defined(LIT_CONSERVE_ENERGY)\n\t\t\t\t\tpunctualDiffuse = mix(punctualDiffuse, vec3(0), specularity);\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\tdDiffuseLight += punctualDiffuse;\n\t\t\t}\n \n\t\t\t#ifdef LIT_SPECULAR\n\t\t\t\tvec3 halfDir = normalize(-dLightDirNormW + viewDir);\n\t\t\t\t\n\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\tdSpecularLight += \n\t\t\t\t\t\tgetLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * \n\t\t\t\t\t\tgetFresnel(\n\t\t\t\t\t\t\tdot(viewDir, halfDir), \n\t\t\t\t\t\t\tgloss, \n\t\t\t\t\t\t\tspecularity\n\t\t\t\t\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\t\t\t, iridescenceFresnel,\n\t\t\t\t\t\t\tiridescence_intensity\n\t\t\t\t\t\t#endif\n\t\t\t\t\t\t\t);\n\t\t\t\t#else\n\t\t\t\t\tdSpecularLight += getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dLightDirNormW, gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * specularity;\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_CLEARCOAT\n\t\t\t\t\t#ifdef LIT_SPECULAR_FRESNEL\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation * getFresnelCC(dot(viewDir, halfDir));\n\t\t\t\t\t#else\n\t\t\t\t\t\tccSpecularLight += getLightSpecular(halfDir, clearcoatReflectionDir, clearcoat_worldNormal, viewDir, dLightDirNormW, clearcoat_gloss, tbn) * falloffAttenuation * light.color * cookieAttenuation; \n\t\t\t\t\t#endif\n\t\t\t\t#endif\n\t\t\t\t#ifdef LIT_SHEEN\n\t\t\t\t\tsSpecularLight += getLightSpecularSheen(halfDir, worldNormal, viewDir, dLightDirNormW, sheen_gloss) * falloffAttenuation * light.color * cookieAttenuation;\n\t\t\t\t#endif\n\t\t\t#endif\n\t\t}\n\t}\n\tdAtten = falloffAttenuation;\n\tdAttenD = diffuseAttenuation;\n\tdAtten3 = cookieAttenuation;\n}\nvoid evaluateClusterLight(\n\tfloat lightIndex, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tClusterLightData clusterLightData;\n\tdecodeClusterLightCore(clusterLightData, lightIndex);\n\tif (acceptLightMask(clusterLightData))\n\t\tevaluateLight(\n\t\t\tclusterLightData, \n\t\t\tworldNormal, \n\t\t\tviewDir, \n\t\t\treflectionDir, \n#if defined(LIT_CLEARCOAT)\n\t\t\tclearcoatReflectionDir, \n#endif\n\t\t\tgloss, \n\t\t\tspecularity, \n\t\t\tgeometricNormal, \n\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\tiridescenceFresnel,\n#endif\n\t\t\tclearcoat_worldNormal,\n\t\t\tclearcoat_gloss,\n\t\t\tsheen_gloss,\n\t\t\tiridescence_intensity\n\t\t);\n}\nvoid addClusteredLights(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n#if defined(LIT_CLEARCOAT)\n\tvec3 clearcoatReflectionDir,\n#endif\n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 geometricNormal, \n\tmat3 tbn, \n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel,\n#endif\n\tvec3 clearcoat_worldNormal,\n\tfloat clearcoat_gloss,\n\tfloat sheen_gloss,\n\tfloat iridescence_intensity\n) {\n\tif (clusterSkip > 0.5)\n\t\treturn;\n\tvec3 cellCoords = floor((vPositionW - clusterBoundsMin) * clusterCellsCountByBoundsSize);\n\tif (!(any(lessThan(cellCoords, vec3(0.0))) || any(greaterThanEqual(cellCoords, clusterCellsMax)))) {\n\t\tfloat cellIndex = dot(clusterCellsDot, cellCoords);\n\t\tfloat clusterV = floor(cellIndex * clusterTextureSize.y);\n\t\tfloat clusterU = cellIndex - (clusterV * clusterTextureSize.x);\n\t\t#ifdef GL2\n\t\t\tfor (int lightCellIndex = 0; lightCellIndex < clusterMaxCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texelFetch(clusterWorldTexture, ivec2(int(clusterU) + lightCellIndex, clusterV), 0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\t\treturn;\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t}\n\t\t#else\n\t\t\tclusterV = (clusterV + 0.5) * clusterTextureSize.z;\n\t\t\tconst float maxLightCells = 256.0;\n\t\t\tfor (float lightCellIndex = 0.5; lightCellIndex < maxLightCells; lightCellIndex++) {\n\t\t\t\tfloat lightIndex = texture2DLodEXT(clusterWorldTexture, vec2(clusterTextureSize.y * (clusterU + lightCellIndex), clusterV), 0.0).x;\n\t\t\t\tif (lightIndex <= 0.0)\n\t\t\t\t\treturn;\n\t\t\t\t\n\t\t\t\tevaluateClusterLight(\n\t\t\t\t\tlightIndex * 255.0, \n\t\t\t\t\tworldNormal, \n\t\t\t\t\tviewDir, \n\t\t\t\t\treflectionDir,\n#if defined(LIT_CLEARCOAT)\n\t\t\t\t\tclearcoatReflectionDir,\n#endif\n\t\t\t\t\tgloss, \n\t\t\t\t\tspecularity, \n\t\t\t\t\tgeometricNormal, \n\t\t\t\t\ttbn, \n#if defined(LIT_IRIDESCENCE)\n\t\t\t\t\tiridescenceFresnel,\n#endif\n\t\t\t\t\tclearcoat_worldNormal,\n\t\t\t\t\tclearcoat_gloss,\n\t\t\t\t\tsheen_gloss,\n\t\t\t\t\tiridescence_intensity\n\t\t\t\t); \n\t\t\t\tif (lightCellIndex >= clusterMaxCells) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t#endif\n\t}\n}\n",combinePS:"\nvec3 combineColor(vec3 albedo, vec3 sheenSpecularity, float clearcoatSpecularity) {\n\tvec3 ret = vec3(0);\n#ifdef LIT_OLD_AMBIENT\n\tret += (dDiffuseLight - light_globalAmbient) * albedo + material_ambient * light_globalAmbient;\n#else\n\tret += albedo * dDiffuseLight;\n#endif\n#ifdef LIT_SPECULAR\n\tret += dSpecularLight;\n#endif\n#ifdef LIT_REFLECTIONS\n\tret += dReflection.rgb * dReflection.a;\n#endif\n#ifdef LIT_SHEEN\n\tfloat sheenScaling = 1.0 - max(max(sheenSpecularity.r, sheenSpecularity.g), sheenSpecularity.b) * 0.157;\n\tret = ret * sheenScaling + (sSpecularLight + sReflection.rgb) * sheenSpecularity;\n#endif\n#ifdef LIT_CLEARCOAT\n\tfloat clearCoatScaling = 1.0 - ccFresnel * clearcoatSpecularity;\n\tret = ret * clearCoatScaling + (ccSpecularLight + ccReflection.rgb) * clearcoatSpecularity;\n#endif\n\treturn ret;\n}\n",cookiePS:"\nvec4 getCookie2D(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DClip(sampler2D tex, mat4 transform, float intensity) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\treturn mix(vec4(1.0), texture2D(tex, projPos.xy), intensity);\n}\nvec4 getCookie2DXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookie2DClipXform(sampler2D tex, mat4 transform, float intensity, vec4 cookieMatrix, vec2 cookieOffset) {\n\tvec4 projPos = transform * vec4(vPositionW, 1.0);\n\tprojPos.xy /= projPos.w;\n\tprojPos.xy += cookieOffset;\n\tif (projPos.x < 0.0 || projPos.x > 1.0 || projPos.y < 0.0 || projPos.y > 1.0 || projPos.z < 0.0) return vec4(0.0);\n\tvec2 uv = mat2(cookieMatrix) * (projPos.xy-vec2(0.5)) + vec2(0.5);\n\treturn mix(vec4(1.0), texture2D(tex, uv), intensity);\n}\nvec4 getCookieCube(samplerCube tex, mat4 transform, float intensity) {\n\treturn mix(vec4(1.0), textureCube(tex, dLightDirNormW * mat3(transform)), intensity);\n}\n",cubeMapProjectBoxPS:"\nuniform vec3 envBoxMin;\nuniform vec3 envBoxMax;\nvec3 cubeMapProject(vec3 nrdir) {\n\tnrdir = cubeMapRotate(nrdir);\n\tvec3 rbmax = (envBoxMax - vPositionW) / nrdir;\n\tvec3 rbmin = (envBoxMin - vPositionW) / nrdir;\n\tvec3 rbminmax;\n\trbminmax.x = nrdir.x>0.0? rbmax.x : rbmin.x;\n\trbminmax.y = nrdir.y>0.0? rbmax.y : rbmin.y;\n\trbminmax.z = nrdir.z>0.0? rbmax.z : rbmin.z;\n\tfloat fa = min(min(rbminmax.x, rbminmax.y), rbminmax.z);\n\tvec3 posonbox = vPositionW + nrdir * fa;\n\tvec3 envBoxPos = (envBoxMin + envBoxMax) * 0.5;\n\treturn normalize(posonbox - envBoxPos);\n}\n",cubeMapProjectNonePS:"\nvec3 cubeMapProject(vec3 dir) {\n\treturn cubeMapRotate(dir);\n}\n",cubeMapRotatePS:"\n#ifdef CUBEMAP_ROTATION\nuniform mat3 cubeMapRotationMatrix;\n#endif\nvec3 cubeMapRotate(vec3 refDir) {\n#ifdef CUBEMAP_ROTATION\n\treturn refDir * cubeMapRotationMatrix;\n#else\n\treturn refDir;\n#endif\n}\n",debugOutputPS:"\n#ifdef DEBUG_ALBEDO_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_albedo), 1.0);\n#endif\n#ifdef DEBUG_UV0_PASS\ngl_FragColor = vec4(litArgs_albedo , 1.0);\n#endif\n#ifdef DEBUG_WORLD_NORMAL_PASS\ngl_FragColor = vec4(litArgs_worldNormal * 0.5 + 0.5, 1.0);\n#endif\n#ifdef DEBUG_OPACITY_PASS\ngl_FragColor = vec4(vec3(litArgs_opacity) , 1.0);\n#endif\n#ifdef DEBUG_SPECULARITY_PASS\ngl_FragColor = vec4(litArgs_specularity, 1.0);\n#endif\n#ifdef DEBUG_GLOSS_PASS\ngl_FragColor = vec4(vec3(litArgs_gloss) , 1.0);\n#endif\n#ifdef DEBUG_METALNESS_PASS\ngl_FragColor = vec4(vec3(litArgs_metalness) , 1.0);\n#endif\n#ifdef DEBUG_AO_PASS\ngl_FragColor = vec4(vec3(litArgs_ao) , 1.0);\n#endif\n#ifdef DEBUG_EMISSION_PASS\ngl_FragColor = vec4(gammaCorrectOutput(litArgs_emission), 1.0);\n#endif\n",debugProcessFrontendPS:"\n#ifdef DEBUG_LIGHTING_PASS\nlitArgs_albedo = vec3(0.5);\n#endif\n#ifdef DEBUG_UV0_PASS\n#ifdef VARYING_VUV0\nlitArgs_albedo = vec3(vUv0, 0);\n#else\nlitArgs_albedo = vec3(0);\n#endif\n#endif\n",detailModesPS:"\nvec3 detailMode_mul(vec3 c1, vec3 c2) {\n\treturn c1 * c2;\n}\nvec3 detailMode_add(vec3 c1, vec3 c2) {\n\treturn c1 + c2;\n}\nvec3 detailMode_screen(vec3 c1, vec3 c2) {\n\treturn 1.0 - (1.0 - c1)*(1.0 - c2);\n}\nvec3 detailMode_overlay(vec3 c1, vec3 c2) {\n\treturn mix(1.0 - 2.0*(1.0 - c1)*(1.0 - c2), 2.0*c1*c2, step(c1, vec3(0.5)));\n}\nvec3 detailMode_min(vec3 c1, vec3 c2) {\n\treturn min(c1, c2);\n}\nvec3 detailMode_max(vec3 c1, vec3 c2) {\n\treturn max(c1, c2);\n}\n",diffusePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_diffuse;\n#endif\nvoid getAlbedo() {\n\tdAlbedo = vec3(1.0);\n#ifdef MAPCOLOR\n\tdAlbedo *= material_diffuse.rgb;\n#endif\n#ifdef MAPTEXTURE\n\tvec3 albedoBase = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\tdAlbedo *= addAlbedoDetail(albedoBase);\n#endif\n#ifdef MAPVERTEX\n\tdAlbedo *= gammaCorrectInput(saturate(vVertexColor.$VC));\n#endif\n}\n",diffuseDetailMapPS:"\nvec3 addAlbedoDetail(vec3 albedo) {\n#ifdef MAPTEXTURE\n\tvec3 albedoDetail = $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\treturn detailMode_$DETAILMODE(albedo, albedoDetail);\n#else\n\treturn albedo;\n#endif\n}\n",decodePS:So,emissivePS:"\n#ifdef MAPCOLOR\nuniform vec3 material_emissive;\n#endif\n#ifdef MAPFLOAT\nuniform float material_emissiveIntensity;\n#endif\nvoid getEmission() {\n\tdEmission = vec3(1.0);\n\t#ifdef MAPFLOAT\n\tdEmission *= material_emissiveIntensity;\n\t#endif\n\t#ifdef MAPCOLOR\n\tdEmission *= material_emissive;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdEmission *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdEmission *= gammaCorrectInput(saturate(vVertexColor.$VC));\n\t#endif\n}\n",encodePS:bo,endPS:"\n\tgl_FragColor.rgb = combineColor(litArgs_albedo, litArgs_sheen_specularity, litArgs_clearcoat_specularity);\n\tgl_FragColor.rgb += litArgs_emission;\n\tgl_FragColor.rgb = addFog(gl_FragColor.rgb);\n\t#ifndef HDR\n\tgl_FragColor.rgb = toneMap(gl_FragColor.rgb);\n\tgl_FragColor.rgb = gammaCorrectOutput(gl_FragColor.rgb);\n\t#endif\n",endVS:"\n",envAtlasPS:"\nconst float atlasSize = 512.0;\nconst float seamSize = 1.0 / atlasSize;\nvec2 mapUv(vec2 uv, vec4 rect) {\n\treturn vec2(mix(rect.x + seamSize, rect.x + rect.z - seamSize, uv.x),\n\t\t\t\tmix(rect.y + seamSize, rect.y + rect.w - seamSize, uv.y));\n}\nvec2 mapRoughnessUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(0, 1.0 - t, t, t * 0.5));\n}\nvec2 mapShinyUv(vec2 uv, float level) {\n\tfloat t = 1.0 / exp2(level);\n\treturn mapUv(uv, vec4(1.0 - t, 1.0 - t, t, t * 0.5));\n}\n",envConstPS:"\nvec3 processEnvironment(vec3 color) {\n\treturn color;\n}\n",envMultiplyPS:"\nuniform float skyboxIntensity;\nvec3 processEnvironment(vec3 color) {\n\treturn color * skyboxIntensity;\n}\n",extensionPS:"\n",extensionVS:"\n",falloffInvSquaredPS:"\nfloat getFalloffWindow(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat invRadius = 1.0 / lightRadius;\n\treturn square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n}\nfloat getFalloffInvSquared(float lightRadius, vec3 lightDir) {\n\tfloat sqrDist = dot(lightDir, lightDir);\n\tfloat falloff = 1.0 / (sqrDist + 1.0);\n\tfloat invRadius = 1.0 / lightRadius;\n\tfalloff *= 16.0;\n\tfalloff *= square( saturate( 1.0 - square( sqrDist * square(invRadius) ) ) );\n\treturn falloff;\n}\n",falloffLinearPS:"\nfloat getFalloffLinear(float lightRadius, vec3 lightDir) {\n\tfloat d = length(lightDir);\n\treturn max(((lightRadius - d) / lightRadius), 0.0);\n}\n",fixCubemapSeamsNonePS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\treturn vec3(0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec;\n}\n",fixCubemapSeamsStretchPS:"\nvec3 fixSeams(vec3 vec, float mipmapIndex) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - exp2(mipmapIndex) / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeams(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat scale = 1.0 - 1.0 / 128.0;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 fixSeamsStatic(vec3 vec, float invRecMipSize) {\n\tvec3 avec = abs(vec);\n\tfloat scale = invRecMipSize;\n\tfloat M = max(max(avec.x, avec.y), avec.z);\n\tif (avec.x != M) vec.x *= scale;\n\tif (avec.y != M) vec.y *= scale;\n\tif (avec.z != M) vec.z *= scale;\n\treturn vec;\n}\nvec3 calcSeam(vec3 vec) {\n\tvec3 avec = abs(vec);\n\tfloat M = max(avec.x, max(avec.y, avec.z));\n\treturn vec3(avec.x != M ? 1.0 : 0.0,\n\t\t\t\tavec.y != M ? 1.0 : 0.0,\n\t\t\t\tavec.z != M ? 1.0 : 0.0);\n}\nvec3 applySeam(vec3 vec, vec3 seam, float scale) {\n\treturn vec * (seam * -scale + vec3(1.0));\n}\n",floatUnpackingPS:"\nfloat bytes2float2(vec2 data) {\n\treturn dot(data, vec2(1.0, 1.0 / 255.0));\n}\nfloat bytes2float3(vec3 data) {\n\treturn dot(data, vec3(1.0, 1.0 / 255.0, 1.0 / 65025.0));\n}\nfloat bytes2float4(vec4 data) {\n\treturn dot(data, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0));\n}\nfloat bytes2floatRange2(vec2 data, float min, float max) {\n\treturn mix(min, max, bytes2float2(data));\n}\nfloat bytes2floatRange3(vec3 data, float min, float max) {\n\treturn mix(min, max, bytes2float3(data));\n}\nfloat bytes2floatRange4(vec4 data, float min, float max) {\n\treturn mix(min, max, bytes2float4(data));\n}\nfloat mantissaExponent2Float(vec4 pack)\n{\n\tfloat value = bytes2floatRange3(pack.xyz, -1.0, 1.0);\n\tfloat exponent = floor(pack.w * 255.0 - 127.0);\n\treturn value * exp2(exponent);\n}\n",fogExpPS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogExp2PS:"\nuniform vec3 fog_color;\nuniform float fog_density;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = exp(-depth * depth * fog_density * fog_density);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogLinearPS:"\nuniform vec3 fog_color;\nuniform float fog_start;\nuniform float fog_end;\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\tfloat depth = gl_FragCoord.z / gl_FragCoord.w;\n\tfloat fogFactor = (fog_end - depth) / (fog_end - fog_start);\n\tfogFactor = clamp(fogFactor, 0.0, 1.0);\n\treturn mix(fog_color * dBlendModeFogFactor, color, fogFactor);\n}\n",fogNonePS:"\nfloat dBlendModeFogFactor = 1.0;\nvec3 addFog(vec3 color) {\n\treturn color;\n}\n",fresnelSchlickPS:"\nvec3 getFresnel(\n\t\tfloat cosTheta, \n\t\tfloat gloss, \n\t\tvec3 specularity\n#if defined(LIT_IRIDESCENCE)\n\t\t, vec3 iridescenceFresnel, \n\t\tfloat iridescenceIntensity\n#endif\n\t) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\tfloat glossSq = gloss * gloss;\n\tvec3 ret = specularity + (max(vec3(glossSq), specularity) - specularity) * fresnel;\n#if defined(LIT_IRIDESCENCE)\n\treturn mix(ret, iridescenceFresnel, iridescenceIntensity);\n#else\n\treturn ret;\n#endif\t\n}\nfloat getFresnelCC(float cosTheta) {\n\tfloat fresnel = pow(1.0 - max(cosTheta, 0.0), 5.0);\n\treturn 0.04 + (1.0 - 0.04) * fresnel;\n}\n",fullscreenQuadPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",fullscreenQuadVS:"\nattribute vec2 vertex_position;\nvarying vec2 vUv0;\nvoid main(void)\n{\n\tgl_Position = vec4(vertex_position, 0.5, 1.0);\n\tvUv0 = vertex_position.xy*0.5+0.5;\n}\n",gamma1_0PS:"\nfloat gammaCorrectInput(float color) {\n\treturn color;\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn color;\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn color;\n}\nvec3 gammaCorrectOutput(vec3 color) {\n\treturn color;\n}\n",gamma2_2PS:"\nfloat gammaCorrectInput(float color) {\n\treturn decodeGamma(color);\n}\nvec3 gammaCorrectInput(vec3 color) {\n\treturn decodeGamma(color);\n}\nvec4 gammaCorrectInput(vec4 color) {\n\treturn vec4(decodeGamma(color.xyz), color.w);\n}\nvec3 gammaCorrectOutput(vec3 color) {\n#ifdef HDR\n\treturn color;\n#else\n\treturn pow(color + 0.0000001, vec3(1.0 / 2.2));\n#endif\n}\n",gles2PS:er,gles3PS:ir,gles3VS:nr,glossPS:"\n#ifdef MAPFLOAT\nuniform float material_gloss;\n#endif\nvoid getGlossiness() {\n\tdGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tdGlossiness *= material_gloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tdGlossiness = 1.0 - dGlossiness;\n\t#endif\n\tdGlossiness += 0.0000001;\n}\n",iridescenceDiffractionPS:"\nuniform float material_iridescenceRefractionIndex;\n#ifndef PI\n#define PI 3.14159265\n#endif\nfloat iridescence_iorToFresnel(float transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - incidentIor) / (transmittedIor + incidentIor), 2.0);\n}\nvec3 iridescence_iorToFresnel(vec3 transmittedIor, float incidentIor) {\n\treturn pow((transmittedIor - vec3(incidentIor)) / (transmittedIor + vec3(incidentIor)), vec3(2.0));\n}\nvec3 iridescence_fresnelToIor(vec3 f0) {\n\tvec3 sqrtF0 = sqrt(f0);\n\treturn (vec3(1.0) + sqrtF0) / (vec3(1.0) - sqrtF0);\n}\nvec3 iridescence_sensitivity(float opd, vec3 shift) {\n\tfloat phase = 2.0 * PI * opd * 1.0e-9;\n\tconst vec3 val = vec3(5.4856e-13, 4.4201e-13, 5.2481e-13);\n\tconst vec3 pos = vec3(1.6810e+06, 1.7953e+06, 2.2084e+06);\n\tconst vec3 var = vec3(4.3278e+09, 9.3046e+09, 6.6121e+09);\n\tvec3 xyz = val * sqrt(2.0 * PI * var) * cos(pos * phase + shift) * exp(-pow(phase, 2.0) * var);\n\txyz.x += 9.7470e-14 * sqrt(2.0 * PI * 4.5282e+09) * cos(2.2399e+06 * phase + shift[0]) * exp(-4.5282e+09 * pow(phase, 2.0));\n\txyz /= vec3(1.0685e-07);\n\tconst mat3 XYZ_TO_REC709 = mat3(\n\t\t3.2404542, -0.9692660, 0.0556434,\n\t -1.5371385, 1.8760108, -0.2040259,\n\t -0.4985314, 0.0415560, 1.0572252\n\t);\n\treturn XYZ_TO_REC709 * xyz;\n}\nfloat iridescence_fresnel(float cosTheta, float f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2;\n\treturn f0 + (1.0 - f0) * x5;\n} \nvec3 iridescence_fresnel(float cosTheta, vec3 f0) {\n\tfloat x = clamp(1.0 - cosTheta, 0.0, 1.0);\n\tfloat x2 = x * x;\n\tfloat x5 = x * x2 * x2; \n\treturn f0 + (vec3(1.0) - f0) * x5;\n}\nvec3 calcIridescence(float outsideIor, float cosTheta, vec3 base_f0, float iridescenceThickness) {\n\tfloat iridescenceIor = mix(outsideIor, material_iridescenceRefractionIndex, smoothstep(0.0, 0.03, iridescenceThickness));\n\tfloat sinTheta2Sq = pow(outsideIor / iridescenceIor, 2.0) * (1.0 - pow(cosTheta, 2.0));\n\tfloat cosTheta2Sq = 1.0 - sinTheta2Sq;\n\tif (cosTheta2Sq < 0.0) {\n\t\treturn vec3(1.0);\n\t}\n\tfloat cosTheta2 = sqrt(cosTheta2Sq);\n\tfloat r0 = iridescence_iorToFresnel(iridescenceIor, outsideIor);\n\tfloat r12 = iridescence_fresnel(cosTheta, r0);\n\tfloat r21 = r12;\n\tfloat t121 = 1.0 - r12;\n\tfloat phi12 = iridescenceIor < outsideIor ? PI : 0.0;\n\tfloat phi21 = PI - phi12;\n\tvec3 baseIor = iridescence_fresnelToIor(base_f0 + vec3(0.0001));\n\tvec3 r1 = iridescence_iorToFresnel(baseIor, iridescenceIor);\n\tvec3 r23 = iridescence_fresnel(cosTheta2, r1);\n\tvec3 phi23 = vec3(0.0);\n\tif (baseIor[0] < iridescenceIor) phi23[0] = PI;\n\tif (baseIor[1] < iridescenceIor) phi23[1] = PI;\n\tif (baseIor[2] < iridescenceIor) phi23[2] = PI;\n\tfloat opd = 2.0 * iridescenceIor * iridescenceThickness * cosTheta2;\n\tvec3 phi = vec3(phi21) + phi23; \n\tvec3 r123Sq = clamp(r12 * r23, 1e-5, 0.9999);\n\tvec3 r123 = sqrt(r123Sq);\n\tvec3 rs = pow(t121, 2.0) * r23 / (1.0 - r123Sq);\n\tvec3 c0 = r12 + rs;\n\tvec3 i = c0;\n\tvec3 cm = rs - t121;\n\tfor (int m = 1; m <= 2; m++) {\n\t\tcm *= r123;\n\t\tvec3 sm = 2.0 * iridescence_sensitivity(float(m) * opd, float(m) * phi);\n\t\ti += cm * sm;\n\t}\n\treturn max(i, vec3(0.0));\n}\nvec3 getIridescence(float cosTheta, vec3 specularity, float iridescenceThickness) {\n\treturn calcIridescence(1.0, cosTheta, specularity, iridescenceThickness);\n}\n",iridescencePS:"\n#ifdef MAPFLOAT\nuniform float material_iridescence;\n#endif\nvoid getIridescence() {\n\tfloat iridescence = 1.0;\n\t#ifdef MAPFLOAT\n\tiridescence *= material_iridescence;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tiridescence *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\tdIridescence = iridescence; \n}\n",iridescenceThicknessPS:"\nuniform float material_iridescenceThicknessMax;\n#ifdef MAPTEXTURE\nuniform float material_iridescenceThicknessMin;\n#endif\nvoid getIridescenceThickness() {\n\t#ifdef MAPTEXTURE\n\tfloat blend = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\tfloat iridescenceThickness = mix(material_iridescenceThicknessMin, material_iridescenceThicknessMax, blend);\n\t#else\n\tfloat iridescenceThickness = material_iridescenceThicknessMax;\n\t#endif\n\tdIridescenceThickness = iridescenceThickness; \n}\n",instancingVS:"\nattribute vec4 instance_line1;\nattribute vec4 instance_line2;\nattribute vec4 instance_line3;\nattribute vec4 instance_line4;\n",iorPS:"\n#ifdef MAPFLOAT\nuniform float material_refractionIndex;\n#endif\nvoid getIor() {\n#ifdef MAPFLOAT\n\tdIor = material_refractionIndex;\n#else\n\tdIor = 1.0 / 1.5;\n#endif\n}\n",lightDiffuseLambertPS:"\nfloat getLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn max(dot(worldNormal, -lightDirNorm), 0.0);\n}\n",lightDirPointPS:"\nvoid getLightDirPoint(vec3 lightPosW) {\n\tdLightDirW = vPositionW - lightPosW;\n\tdLightDirNormW = normalize(dLightDirW);\n\tdLightPosW = lightPosW;\n}\n",lightmapAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tdDiffuseLight += lightmap;\n}\n",lightmapDirAddPS:"\nvoid addLightMap(\n\tvec3 lightmap, \n\tvec3 dir, \n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tvec3 reflectionDir, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 vertexNormal, \n\tmat3 tbn\n#if defined(LIT_IRIDESCENCE)\n\tvec3 iridescenceFresnel, \n\tfloat iridescenceIntensity\n#endif\n) {\n\tif (dot(dir, dir) < 0.0001) {\n\t\tdDiffuseLight += lightmap;\n\t} else {\n\t\tfloat vlight = saturate(dot(dir, -vertexNormal));\n\t\tfloat flight = saturate(dot(dir, -worldNormal));\n\t\tfloat nlight = (flight / max(vlight, 0.01)) * 0.5;\n\t\tdDiffuseLight += lightmap * nlight * 2.0;\n\t\tvec3 halfDir = normalize(-dir + viewDir);\n\t\tvec3 specularLight = lightmap * getLightSpecular(halfDir, reflectionDir, worldNormal, viewDir, dir, gloss, tbn);\n#ifdef LIT_SPECULAR_FRESNEL\n\t\tspecularLight *= \n\t\t\tgetFresnel(dot(viewDir, halfDir), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t\t);\n#endif\n\t\tdSpecularLight += specularLight;\n\t}\n}\n",lightmapDirPS:"\nuniform sampler2D texture_lightMap;\nuniform sampler2D texture_dirLightMap;\nvoid getLightMap() {\n\tdLightmap = $DECODE(texture2DBias(texture_lightMap, $UV, textureBias)).$CH;\n\tvec3 dir = texture2DBias(texture_dirLightMap, $UV, textureBias).xyz * 2.0 - 1.0;\n\tfloat dirDot = dot(dir, dir);\n\tdLightmapDir = (dirDot > 0.001) ? dir / sqrt(dirDot) : vec3(0.0);\n}\n",lightmapSinglePS:"\nvoid getLightMap() {\n\tdLightmap = vec3(1.0);\n\t#ifdef MAPTEXTURE\n\tdLightmap *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdLightmap *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",lightSpecularAnisoGGXPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 viewDir, vec3 h, vec3 lightDirNorm, mat3 tbn) {\n\tfloat PI = 3.141592653589793;\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\tfloat anisotropy = material_anisotropy * roughness;\n \n\tfloat at = max((roughness + anisotropy), roughness / 4.0);\n\tfloat ab = max((roughness - anisotropy), roughness / 4.0);\n\tfloat NoH = dot(worldNormal, h);\n\tfloat ToH = dot(tbn[0], h);\n\tfloat BoH = dot(tbn[1], h);\n\tfloat a2 = at * ab;\n\tvec3 v = vec3(ab * ToH, at * BoH, a2 * NoH);\n\tfloat v2 = dot(v, v);\n\tfloat w2 = a2 / v2;\n\tfloat D = a2 * w2 * w2 * (1.0 / PI);\n\tfloat ToV = dot(tbn[0], viewDir);\n\tfloat BoV = dot(tbn[1], viewDir);\n\tfloat ToL = dot(tbn[0], -lightDirNorm);\n\tfloat BoL = dot(tbn[1], -lightDirNorm);\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat NoL = dot(worldNormal, -lightDirNorm);\n\tfloat lambdaV = NoL * length(vec3(at * ToV, ab * BoV, NoV));\n\tfloat lambdaL = NoV * length(vec3(at * ToL, ab * BoL, NoL));\n\tfloat G = 0.5 / (lambdaV + lambdaL);\n\treturn D * G;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, viewDir, h, lightDirNorm, tbn);\n}\n",lightSpecularBlinnPS:"\nfloat calcLightSpecular(float gloss, vec3 worldNormal, vec3 h) {\n\tfloat nh = max( dot( h, worldNormal ), 0.0 );\n\tfloat specPow = exp2(gloss * 11.0);\n\tspecPow = max(specPow, 0.0001);\n\treturn pow(nh, specPow) * (specPow + 2.0) / 8.0;\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, worldNormal, h);\n}\n",lightSpecularPhongPS:"\nfloat calcLightSpecular(float gloss, vec3 reflDir, vec3 lightDirNorm) {\n\tfloat specPow = gloss;\n\treturn pow(max(dot(reflDir, -lightDirNorm), 0.0), specPow + 0.0001);\n}\nfloat getLightSpecular(vec3 h, vec3 reflDir, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float gloss, mat3 tbn) {\n\treturn calcLightSpecular(gloss, reflDir, lightDirNorm);\n}\n",lightSheenPS:"\nfloat sheenD(vec3 normal, vec3 h, float roughness) {\n\tfloat invR = 1.0 / (roughness * roughness);\n\tfloat cos2h = max(dot(normal, h), 0.0);\n\tcos2h *= cos2h;\n\tfloat sin2h = max(1.0 - cos2h, 0.0078125);\n\treturn (2.0 + invR) * pow(sin2h, invR * 0.5) / (2.0 * PI);\n}\nfloat sheenV(vec3 normal, vec3 viewDir, vec3 light) {\n\tfloat NoV = max(dot(normal, viewDir), 0.000001);\n\tfloat NoL = max(dot(normal, light), 0.000001);\n\treturn 1.0 / (4.0 * (NoL + NoV - NoL * NoV));\n}\nfloat getLightSpecularSheen(vec3 h, vec3 worldNormal, vec3 viewDir, vec3 lightDirNorm, float sheenGloss) {\n\tfloat D = sheenD(worldNormal, h, sheenGloss);\n\tfloat V = sheenV(worldNormal, viewDir, -lightDirNorm);\n\treturn D * V;\n}\n",linearizeDepthPS:"\n#ifndef LINEARIZE_DEPTH\n#define LINEARIZE_DEPTH\nfloat linearizeDepth(float z, vec4 cameraParams) {\n\tif (cameraParams.w == 0.0)\n\t\treturn (cameraParams.z * cameraParams.y) / (cameraParams.y + z * (cameraParams.z - cameraParams.y));\n\telse\n\t\treturn cameraParams.z + z * (cameraParams.y - cameraParams.z);\n}\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\treturn linearizeDepth(z, camera_params);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\n",litShaderArgsPS:"\nvec3 litArgs_albedo;\nfloat litArgs_opacity;\nvec3 litArgs_emission;\nvec3 litArgs_worldNormal;\nfloat litArgs_ao;\nvec3 litArgs_lightmap;\nvec3 litArgs_lightmapDir;\nfloat litArgs_metalness;\nvec3 litArgs_specularity;\nfloat litArgs_specularityFactor;\nfloat litArgs_gloss;\nfloat litArgs_sheen_gloss;\nvec3 litArgs_sheen_specularity;\nfloat litArgs_transmission;\nfloat litArgs_thickness;\nfloat litArgs_ior;\nfloat litArgs_iridescence_intensity;\nfloat litArgs_iridescence_thickness;\nvec3 litArgs_clearcoat_worldNormal;\nfloat litArgs_clearcoat_specularity;\nfloat litArgs_clearcoat_gloss;\n",ltcPS:"\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nstruct Coords {\n\tvec3 coord0;\n\tvec3 coord1;\n\tvec3 coord2;\n\tvec3 coord3;\n};\nfloat LTC_EvaluateRect( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in Coords rectCoords) {\n\tvec3 v1 = rectCoords.coord1 - rectCoords.coord0;\n\tvec3 v2 = rectCoords.coord3 - rectCoords.coord0;\n\t\n\tvec3 lightNormal = cross( v1, v2 );\n\tfloat factor = sign(-dot( lightNormal, P - rectCoords.coord0 ));\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = factor * cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords.coord0 - P );\n\tcoords[ 1 ] = mat * ( rectCoords.coord1 - P );\n\tcoords[ 2 ] = mat * ( rectCoords.coord2 - P );\n\tcoords[ 3 ] = mat * ( rectCoords.coord3 - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn result;\n}\nCoords dLTCCoords;\nCoords getLTCLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tCoords coords;\n\tcoords.coord0 = lightPos + halfWidth - halfHeight;\n\tcoords.coord1 = lightPos - halfWidth - halfHeight;\n\tcoords.coord2 = lightPos - halfWidth + halfHeight;\n\tcoords.coord3 = lightPos + halfWidth + halfHeight;\n\treturn coords;\n}\nfloat dSphereRadius;\nCoords getSphereLightCoords(vec3 lightPos, vec3 halfWidth, vec3 halfHeight){\n\tdSphereRadius = max(length(halfWidth), length(halfHeight));\n\tvec3 f = reflect(normalize(lightPos - view_position), vNormalW);\n\tvec3 w = normalize(cross(f, halfHeight));\n\tvec3 h = normalize(cross(f, w));\n\treturn getLTCLightCoords(lightPos, w * dSphereRadius, h * dSphereRadius);\n}\nvec2 dLTCUV;\n#ifdef LIT_CLEARCOAT\nvec2 ccLTCUV;\n#endif\nvec2 getLTCLightUV(float gloss, vec3 worldNormal, vec3 viewDir)\n{\n\tfloat roughness = max((1.0 - gloss) * (1.0 - gloss), 0.001);\n\treturn LTC_Uv( worldNormal, viewDir, roughness );\n}\nvec3 dLTCSpecFres;\n#ifdef LIT_CLEARCOAT\nvec3 ccLTCSpecFres;\n#endif\nvec3 getLTCLightSpecFres(vec2 uv, vec3 specularity)\n{\n\tvec4 t2 = texture2DLodEXT(areaLightsLutTex2, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt2 *= vec4(0.693103,1,1,1);\n\tt2 += vec4(0.306897,0,0,0);\n\t#endif\n\treturn specularity * t2.x + ( vec3( 1.0 ) - specularity) * t2.y;\n}\nvoid calcLTCLightValues(float gloss, vec3 worldNormal, vec3 viewDir, vec3 specularity, float clearcoatGloss, vec3 clearcoatWorldNormal, float clearcoatSpecularity)\n{\n\tdLTCUV = getLTCLightUV(gloss, worldNormal, viewDir);\n\tdLTCSpecFres = getLTCLightSpecFres(dLTCUV, specularity); \n#ifdef LIT_CLEARCOAT\n\tccLTCUV = getLTCLightUV(clearcoatGloss, clearcoatWorldNormal, viewDir);\n\tccLTCSpecFres = getLTCLightSpecFres(ccLTCUV, vec3(clearcoatSpecularity));\n#endif\n}\nvoid calcRectLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getLTCLightCoords(lightPos, halfWidth, halfHeight);\n}\nvoid calcDiskLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tcalcRectLightValues(lightPos, halfWidth, halfHeight);\n}\nvoid calcSphereLightValues(vec3 lightPos, vec3 halfWidth, vec3 halfHeight)\n{\n\tdLTCCoords = getSphereLightCoords(lightPos, halfWidth, halfHeight);\n}\nvec3 SolveCubic(vec4 Coefficient)\n{\n\tfloat pi = 3.14159;\n\tCoefficient.xyz /= Coefficient.w;\n\tCoefficient.yz /= 3.0;\n\tfloat A = Coefficient.w;\n\tfloat B = Coefficient.z;\n\tfloat C = Coefficient.y;\n\tfloat D = Coefficient.x;\n\tvec3 Delta = vec3(\n\t\t-Coefficient.z * Coefficient.z + Coefficient.y,\n\t\t-Coefficient.y * Coefficient.z + Coefficient.x,\n\t\tdot(vec2(Coefficient.z, -Coefficient.y), Coefficient.xy)\n\t);\n\tfloat Discriminant = dot(vec2(4.0 * Delta.x, -Delta.y), Delta.zy);\n\tvec3 RootsA, RootsD;\n\tvec2 xlc, xsc;\n\t{\n\t\tfloat A_a = 1.0;\n\t\tfloat C_a = Delta.x;\n\t\tfloat D_a = -2.0 * B * Delta.x + Delta.y;\n\t\tfloat Theta = atan(sqrt(Discriminant), -D_a) / 3.0;\n\t\tfloat x_1a = 2.0 * sqrt(-C_a) * cos(Theta);\n\t\tfloat x_3a = 2.0 * sqrt(-C_a) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xl;\n\t\tif ((x_1a + x_3a) > 2.0 * B)\n\t\t\txl = x_1a;\n\t\telse\n\t\t\txl = x_3a;\n\t\txlc = vec2(xl - B, A);\n\t}\n\t{\n\t\tfloat A_d = D;\n\t\tfloat C_d = Delta.z;\n\t\tfloat D_d = -D * Delta.y + 2.0 * C * Delta.z;\n\t\tfloat Theta = atan(D * sqrt(Discriminant), -D_d) / 3.0;\n\t\tfloat x_1d = 2.0 * sqrt(-C_d) * cos(Theta);\n\t\tfloat x_3d = 2.0 * sqrt(-C_d) * cos(Theta + (2.0 / 3.0) * pi);\n\t\tfloat xs;\n\t\tif (x_1d + x_3d < 2.0 * C)\n\t\t\txs = x_1d;\n\t\telse\n\t\t\txs = x_3d;\n\t\txsc = vec2(-D, xs + C);\n\t}\n\tfloat E = xlc.y * xsc.y;\n\tfloat F = -xlc.x * xsc.y - xlc.y * xsc.x;\n\tfloat G = xlc.x * xsc.x;\n\tvec2 xmc = vec2(C * F - B * G, -B * F + C * E);\n\tvec3 Root = vec3(xsc.x / xsc.y, xmc.x / xmc.y, xlc.x / xlc.y);\n\tif (Root.x < Root.y && Root.x < Root.z)\n\t\tRoot.xyz = Root.yxz;\n\telse if (Root.z < Root.x && Root.z < Root.y)\n\t\tRoot.xyz = Root.xzy;\n\treturn Root;\n}\nfloat LTC_EvaluateDisk(vec3 N, vec3 V, vec3 P, mat3 Minv, Coords points)\n{\n\tvec3 T1, T2;\n\tT1 = normalize(V - N * dot(V, N));\n\tT2 = cross(N, T1);\n\tmat3 R = transposeMat3( mat3( T1, T2, N ) );\n\tvec3 L_[ 3 ];\n\tL_[ 0 ] = R * ( points.coord0 - P );\n\tL_[ 1 ] = R * ( points.coord1 - P );\n\tL_[ 2 ] = R * ( points.coord2 - P );\n\tvec3 Lo_i = vec3(0);\n\tvec3 C = 0.5 * (L_[0] + L_[2]);\n\tvec3 V1 = 0.5 * (L_[1] - L_[2]);\n\tvec3 V2 = 0.5 * (L_[1] - L_[0]);\n\tC = Minv * C;\n\tV1 = Minv * V1;\n\tV2 = Minv * V2;\n\tfloat a, b;\n\tfloat d11 = dot(V1, V1);\n\tfloat d22 = dot(V2, V2);\n\tfloat d12 = dot(V1, V2);\n\tif (abs(d12) / sqrt(d11 * d22) > 0.0001)\n\t{\n\t\tfloat tr = d11 + d22;\n\t\tfloat det = -d12 * d12 + d11 * d22;\n\t\tdet = sqrt(det);\n\t\tfloat u = 0.5 * sqrt(tr - 2.0 * det);\n\t\tfloat v = 0.5 * sqrt(tr + 2.0 * det);\n\t\tfloat e_max = (u + v) * (u + v);\n\t\tfloat e_min = (u - v) * (u - v);\n\t\tvec3 V1_, V2_;\n\t\tif (d11 > d22)\n\t\t{\n\t\t\tV1_ = d12 * V1 + (e_max - d11) * V2;\n\t\t\tV2_ = d12 * V1 + (e_min - d11) * V2;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tV1_ = d12*V2 + (e_max - d22)*V1;\n\t\t\tV2_ = d12*V2 + (e_min - d22)*V1;\n\t\t}\n\t\ta = 1.0 / e_max;\n\t\tb = 1.0 / e_min;\n\t\tV1 = normalize(V1_);\n\t\tV2 = normalize(V2_);\n\t}\n\telse\n\t{\n\t\ta = 1.0 / dot(V1, V1);\n\t\tb = 1.0 / dot(V2, V2);\n\t\tV1 *= sqrt(a);\n\t\tV2 *= sqrt(b);\n\t}\n\tvec3 V3 = cross(V1, V2);\n\tif (dot(C, V3) < 0.0)\n\t\tV3 *= -1.0;\n\tfloat L = dot(V3, C);\n\tfloat x0 = dot(V1, C) / L;\n\tfloat y0 = dot(V2, C) / L;\n\tfloat E1 = inversesqrt(a);\n\tfloat E2 = inversesqrt(b);\n\ta *= L * L;\n\tb *= L * L;\n\tfloat c0 = a * b;\n\tfloat c1 = a * b * (1.0 + x0 * x0 + y0 * y0) - a - b;\n\tfloat c2 = 1.0 - a * (1.0 + x0 * x0) - b * (1.0 + y0 * y0);\n\tfloat c3 = 1.0;\n\tvec3 roots = SolveCubic(vec4(c0, c1, c2, c3));\n\tfloat e1 = roots.x;\n\tfloat e2 = roots.y;\n\tfloat e3 = roots.z;\n\tvec3 avgDir = vec3(a * x0 / (a - e2), b * y0 / (b - e2), 1.0);\n\tmat3 rotate = mat3(V1, V2, V3);\n\tavgDir = rotate * avgDir;\n\tavgDir = normalize(avgDir);\n\tfloat L1 = sqrt(-e2 / e3);\n\tfloat L2 = sqrt(-e2 / e1);\n\tfloat formFactor = L1 * L2 * inversesqrt((1.0 + L1 * L1) * (1.0 + L2 * L2));\n\t\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tvec2 uv = vec2(avgDir.z * 0.5 + 0.5, formFactor);\n\tuv = uv*LUT_SCALE + LUT_BIAS;\n\tfloat scale = texture2DLodEXT(areaLightsLutTex2, uv, 0.0).w;\n\treturn formFactor*scale;\n}\nfloat getRectLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getDiskLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mat3( 1.0 ), dLTCCoords );\n}\nfloat getSphereLightDiffuse(vec3 worldNormal, vec3 viewDir, vec3 lightDir, vec3 lightDirNorm) {\n\tfloat falloff = dSphereRadius / (dot(lightDir, lightDir) + dSphereRadius);\n\treturn getLightDiffuse(worldNormal, viewDir, lightDir, lightDirNorm) * falloff;\n}\nmat3 getLTCLightInvMat(vec2 uv)\n{\n\tvec4 t1 = texture2DLodEXT(areaLightsLutTex1, uv, 0.0);\n\t#ifdef AREA_R8_G8_B8_A8_LUTS\n\tt1 *= vec4(1.001, 0.3239, 0.60437568, 1.0);\n\tt1 += vec4(0.0, -0.2976, -0.01381, 0.0);\n\t#endif\n\treturn mat3(\n\t\tvec3( t1.x, 0, t1.y ),\n\t\tvec3(\t0, 1,\t0 ),\n\t\tvec3( t1.z, 0, t1.w )\n\t);\n}\nfloat calcRectLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateRect( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getRectLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcRectLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat calcDiskLightSpecular(vec3 worldNormal, vec3 viewDir, vec2 uv) {\n\tmat3 mInv = getLTCLightInvMat(uv);\n\treturn LTC_EvaluateDisk( worldNormal, viewDir, vPositionW, mInv, dLTCCoords );\n}\nfloat getDiskLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\nfloat getSphereLightSpecular(vec3 worldNormal, vec3 viewDir) {\n\treturn calcDiskLightSpecular(worldNormal, viewDir, dLTCUV);\n}\n",metalnessPS:"\n#ifdef MAPFLOAT\nuniform float material_metalness;\n#endif\nvoid getMetalness() {\n\tfloat metalness = 1.0;\n\t#ifdef MAPFLOAT\n\tmetalness *= material_metalness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tmetalness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tmetalness *= saturate(vVertexColor.$VC);\n\t#endif\n\tdMetalness = metalness;\n}\n",metalnessModulatePS:"\nvec3 getSpecularModulate(in vec3 specularity, in vec3 albedo, in float metalness, in float f0) {\n\tvec3 dielectricF0 = f0 * specularity;\n\treturn mix(dielectricF0, albedo, metalness);\n}\nvec3 getAlbedoModulate(in vec3 albedo, in float metalness) {\n\treturn albedo * (1.0 - metalness);\n}\n",msdfPS:"\nuniform sampler2D texture_msdfMap;\n#ifdef GL_OES_standard_derivatives\n#define USE_FWIDTH\n#endif\n#ifdef GL2\n#define USE_FWIDTH\n#endif\nfloat median(float r, float g, float b) {\n\treturn max(min(r, g), min(max(r, g), b));\n}\nfloat map (float min, float max, float v) {\n\treturn (v - min) / (max - min);\n}\nuniform float font_sdfIntensity;\nuniform float font_pxrange;\nuniform float font_textureWidth;\n#ifdef UNIFORM_TEXT_PARAMETERS\nuniform vec4 outline_color;\nuniform float outline_thickness;\nuniform vec4 shadow_color;\nuniform vec2 shadow_offset;\n#else\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\n#endif\nvec4 applyMsdf(vec4 color) {\n\tvec3 tsample = texture2D(texture_msdfMap, vUv0).rgb;\n\tvec2 uvShdw = vUv0 - shadow_offset;\n\tvec3 ssample = texture2D(texture_msdfMap, uvShdw).rgb;\n\tfloat sigDist = median(tsample.r, tsample.g, tsample.b);\n\tfloat sigDistShdw = median(ssample.r, ssample.g, ssample.b);\n\tfloat smoothingMax = 0.2;\n\t#ifdef USE_FWIDTH\n\tvec2 w = fwidth(vUv0);\n\tfloat smoothing = clamp(w.x * font_textureWidth / font_pxrange, 0.0, smoothingMax);\n\t#else\n\tfloat font_size = 16.0;\n\tfloat smoothing = clamp(font_pxrange / font_size, 0.0, smoothingMax);\n\t#endif\n\tfloat mapMin = 0.05;\n\tfloat mapMax = clamp(1.0 - font_sdfIntensity, mapMin, 1.0);\n\tfloat sigDistInner = map(mapMin, mapMax, sigDist);\n\tfloat sigDistOutline = map(mapMin, mapMax, sigDist + outline_thickness);\n\tsigDistShdw = map(mapMin, mapMax, sigDistShdw + outline_thickness);\n\tfloat center = 0.5;\n\tfloat inside = smoothstep(center-smoothing, center+smoothing, sigDistInner);\n\tfloat outline = smoothstep(center-smoothing, center+smoothing, sigDistOutline);\n\tfloat shadow = smoothstep(center-smoothing, center+smoothing, sigDistShdw);\n\tvec4 tcolor = (outline > inside) ? outline * vec4(outline_color.a * outline_color.rgb, outline_color.a) : vec4(0.0);\n\ttcolor = mix(tcolor, color, inside);\n\tvec4 scolor = (shadow > outline) ? shadow * vec4(shadow_color.a * shadow_color.rgb, shadow_color.a) : tcolor;\n\ttcolor = mix(scolor, tcolor, outline);\n\t\n\treturn tcolor;\n}\n",msdfVS:"\nattribute vec3 vertex_outlineParameters;\nattribute vec3 vertex_shadowParameters;\nvarying vec4 outline_color;\nvarying float outline_thickness;\nvarying vec4 shadow_color;\nvarying vec2 shadow_offset;\nvoid unpackMsdfParams() {\n\tvec3 little = mod(vertex_outlineParameters, 256.);\n\tvec3 big = (vertex_outlineParameters - little) / 256.;\n\toutline_color.rb = little.xy / 255.;\n\toutline_color.ga = big.xy / 255.;\n\toutline_thickness = little.z / 255. * 0.2;\n\tlittle = mod(vertex_shadowParameters, 256.);\n\tbig = (vertex_shadowParameters - little) / 256.;\n\tshadow_color.rb = little.xy / 255.;\n\tshadow_color.ga = big.xy / 255.;\n\tshadow_offset = (vec2(little.z, big.z) / 127. - 1.) * 0.005;\n}\n",normalVS:"\n#ifdef MORPHING_TEXTURE_BASED_NORMAL\nuniform highp sampler2D morphNormalTex;\n#endif\nvec3 getNormal() {\n\t#ifdef SKIN\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\t#elif defined(INSTANCING)\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\t#else\n\tdNormalMatrix = matrix_normal;\n\t#endif\n\tvec3 tempNormal = vertex_normal;\n\t#ifdef MORPHING\n\t#ifdef MORPHING_NRM03\n\ttempNormal += morph_weights_a[0] * morph_nrm0;\n\ttempNormal += morph_weights_a[1] * morph_nrm1;\n\ttempNormal += morph_weights_a[2] * morph_nrm2;\n\ttempNormal += morph_weights_a[3] * morph_nrm3;\n\t#endif\n\t#ifdef MORPHING_NRM47\n\ttempNormal += morph_weights_b[0] * morph_nrm4;\n\ttempNormal += morph_weights_b[1] * morph_nrm5;\n\ttempNormal += morph_weights_b[2] * morph_nrm6;\n\ttempNormal += morph_weights_b[3] * morph_nrm7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_NORMAL\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texelFetch(morphNormalTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphNormal = texture2D(morphNormalTex, morphUV).xyz;\n\t\t#endif\n\ttempNormal += morphNormal;\n\t#endif\n\treturn normalize(dNormalMatrix * tempNormal);\n}\n",normalDetailMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_normalDetailMapBumpiness;\nvec3 blendNormals(vec3 n1, vec3 n2) {\n\tn1 += vec3(0, 0, 1);\n\tn2 *= vec3(-1, -1, 1);\n\treturn n1 * dot(n1, n2) / n1.z - n2;\n}\n#endif\nvec3 addNormalDetail(vec3 normalMap) {\n#ifdef MAPTEXTURE\n\tvec3 normalDetailMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalDetailMap = mix(vec3(0.0, 0.0, 1.0), normalDetailMap, material_normalDetailMapBumpiness);\n\treturn blendNormals(normalMap, normalDetailMap);\n#else\n\treturn normalMap;\n#endif\n}\n",normalInstancedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(instance_line1.xyz, instance_line2.xyz, instance_line3.xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalMapPS:"\n#ifdef MAPTEXTURE\nuniform float material_bumpiness;\n#endif\nvoid getNormal() {\n#ifdef MAPTEXTURE\n\tvec3 normalMap = unpackNormal(texture2DBias($SAMPLER, $UV, textureBias));\n\tnormalMap = mix(vec3(0.0, 0.0, 1.0), normalMap, material_bumpiness);\n\tdNormalW = normalize(dTBN * addNormalDetail(normalMap));\n#else\n\tdNormalW = dVertexNormalW;\n#endif\n}\n",normalSkinnedVS:"\nvec3 getNormal() {\n\tdNormalMatrix = mat3(dModelMatrix[0].xyz, dModelMatrix[1].xyz, dModelMatrix[2].xyz);\n\treturn normalize(dNormalMatrix * vertex_normal);\n}\n",normalXYPS:"\nvec3 unpackNormal(vec4 nmap) {\n\tvec3 normal;\n\tnormal.xy = nmap.wy * 2.0 - 1.0;\n\tnormal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy)));\n\treturn normal;\n}\n",normalXYZPS:"\nvec3 unpackNormal(vec4 nmap) {\n\treturn nmap.xyz * 2.0 - 1.0;\n}\n",opacityPS:"\n#ifdef MAPFLOAT\nuniform float material_opacity;\n#endif\nvoid getOpacity() {\n\tdAlpha = 1.0;\n\t#ifdef MAPFLOAT\n\tdAlpha *= material_opacity;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdAlpha *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdAlpha *= clamp(vVertexColor.$VC, 0.0, 1.0);\n\t#endif\n}\n",outputPS:"\n",outputAlphaPS:"\ngl_FragColor.a = litArgs_opacity;\n",outputAlphaOpaquePS:"\n\tgl_FragColor.a = 1.0;\n",outputAlphaPremulPS:"\ngl_FragColor.rgb *= litArgs_opacity;\ngl_FragColor.a = litArgs_opacity;\n",outputTex2DPS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nvoid main(void) {\n\tgl_FragColor = texture2D(source, vUv0);\n}\n",packDepthPS:"\nvec4 packFloat(float depth) {\n\tconst vec4 bit_shift = vec4(256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0);\n\tconst vec4 bit_mask = vec4(0.0, 1.0 / 256.0, 1.0 / 256.0, 1.0 / 256.0);\n\tvec4 res = mod(depth * bit_shift * vec4(255), vec4(256) ) / vec4(255);\n\tres -= res.xxyz * bit_mask;\n\treturn res;\n}\n",sheenPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_sheen;\n#endif\nvoid getSheen() {\n\tvec3 sheenColor = vec3(1, 1, 1);\n\t#ifdef MAPCOLOR\n\tsheenColor *= material_sheen;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tsSpecularity = sheenColor;\n}\n",sheenGlossPS:"\n#ifdef MAPFLOAT\nuniform float material_sheenGloss;\n#endif\nvoid getSheenGlossiness() {\n\tfloat sheenGlossiness = 1.0;\n\t#ifdef MAPFLOAT\n\tsheenGlossiness *= material_sheenGloss;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tsheenGlossiness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tsheenGlossiness *= saturate(vVertexColor.$VC);\n\t#endif\n\t#ifdef MAPINVERT\n\tsheenGlossiness = 1.0 - sheenGlossiness;\n\t#endif\n\tsheenGlossiness += 0.0000001;\n\tsGlossiness = sheenGlossiness;\n}\n",parallaxPS:"\nuniform float material_heightMapFactor;\nvoid getParallax() {\n\tfloat parallaxScale = material_heightMapFactor;\n\tfloat height = texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\theight = height * parallaxScale - parallaxScale*0.5;\n\tvec3 viewDirT = dViewDirW * dTBN;\n\tviewDirT.z += 0.42;\n\tdUvOffset = height * (viewDirT.xy / viewDirT.z);\n}\n",particlePS:"\nvarying vec4 texCoordsAlphaLife;\nuniform sampler2D colorMap;\nuniform sampler2D colorParam;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nuniform float softening;\nuniform float colorMult;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\tfloat depth = dot(rgbaDepth, bitShift);\n\treturn depth;\n}\n#endif\nvoid main(void) {\n\tvec4 tex = gammaCorrectInput(texture2D(colorMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)));\n\tvec4 ramp = gammaCorrectInput(texture2D(colorParam, vec2(texCoordsAlphaLife.w, 0.0)));\n\tramp.rgb *= colorMult;\n\tramp.a += texCoordsAlphaLife.z;\n\tvec3 rgb = tex.rgb * ramp.rgb;\n\tfloat a = tex.a * ramp.a;\n",particleVS:"\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc) {\n\treturn mix( texture2D(tex,tc), texture2D(tex,tc + graphSampleSize), fract(tc.x*graphNumSamples) );\n}\nvec4 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex,tc);\n\tvec4 b = texture2D(tex,tc + graphSampleSize);\n\tfloat c = fract(tc.x*graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a, b, c);\n}\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix) {\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY) {\n\t#ifdef SCREEN_SPACE\n\t\tvec3 pos = vec3(-1, 0, 0) * quadXY.x + vec3(0, -1, 0) * quadXY.y;\n\t#else\n\t\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\t#endif\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY) {\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvec2 safeNormalize(vec2 v) {\n\tfloat l = length(v);\n\treturn (l > 1e-06) ? v / l : v;\n}\nvoid main(void) {\n\tvec3 meshLocalPos = particle_vertexData.xyz;\n\tfloat id = floor(particle_vertexData.w);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n\tfloat uv = id / numParticlesPot;\n\treadInput(uv);\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = safeNormalize((mat3(matrix_view) * inVel).xy);\n\tfloat particleLifetime = lifetime;\n\tif (inLife <= 0.0 || inLife > particleLifetime || !inShow) meshLocalPos = vec3(0.0);\n\tvec2 quadXY = meshLocalPos.xy;\n\tfloat nlife = clamp(inLife / particleLifetime, 0.0, 1.0);\n\tvec3 paramDiv;\n\tvec4 params = tex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat scale = params.y;\n\tfloat scaleDiv = paramDiv.x;\n\tfloat alphaDiv = paramDiv.z;\n\tscale += (scaleDiv * 2.0 - 1.0) * scaleDivMult * fract(rndFactor*10000.0);\n#ifndef USE_MESH\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#else\n\ttexCoordsAlphaLife = vec4(particle_uv, (alphaDiv * 2.0 - 1.0) * alphaDivMult * fract(rndFactor*1000.0), nlife);\n#endif\n\tvec3 particlePos = inPos;\n\tvec3 particlePosMoved = vec3(0.0);\n\tmat2 rotMatrix;\n",particleAnimFrameClampVS:"\n\tfloat animFrame = min(floor(texCoordsAlphaLife.w * animTexParams.y) + animTexParams.x, animTexParams.z);\n",particleAnimFrameLoopVS:"\n\tfloat animFrame = floor(mod(texCoordsAlphaLife.w * animTexParams.y + animTexParams.x, animTexParams.z + 1.0));\n",particleAnimTexVS:"\n\tfloat animationIndex;\n\tif (animTexIndexParams.y == 1.0) {\n\t\tanimationIndex = floor((animTexParams.w + 1.0) * rndFactor3.z) * (animTexParams.z + 1.0);\n\t} else {\n\t\tanimationIndex = animTexIndexParams.x * (animTexParams.z + 1.0);\n\t}\n\tfloat atlasX = (animationIndex + animFrame) * animTexTilesParams.x;\n\tfloat atlasY = 1.0 - floor(atlasX + 1.0) * animTexTilesParams.y;\n\tatlasX = fract(atlasX);\n\ttexCoordsAlphaLife.xy *= animTexTilesParams.xy;\n\ttexCoordsAlphaLife.xy += vec2(atlasX, atlasY);\n",particleInputFloatPS:"\nvoid readInput(float uv) {\n\tvec4 tex = texture2D(particleTexIN, vec2(uv, 0.25));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.75));\n\tinPos = tex.xyz;\n\tinVel = tex2.xyz;\n\tinAngle = (tex.w < 0.0? -tex.w : tex.w) - 1000.0;\n\tinShow = tex.w >= 0.0;\n\tinLife = tex2.w;\n}\n",particleInputRgba8PS:"\n#define PI2 6.283185307179586\nuniform vec3 inBoundsSize;\nuniform vec3 inBoundsCenter;\nuniform float maxVel;\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat decodeFloatRGBA( vec4 rgba ) {\n return dot( rgba, vec4(1.0, 1.0/255.0, 1.0/65025.0, 1.0/160581375.0) );\n}\nvoid readInput(float uv) {\n\tvec4 tex0 = texture2D(particleTexIN, vec2(uv, 0.125));\n\tvec4 tex1 = texture2D(particleTexIN, vec2(uv, 0.375));\n\tvec4 tex2 = texture2D(particleTexIN, vec2(uv, 0.625));\n\tvec4 tex3 = texture2D(particleTexIN, vec2(uv, 0.875));\n\tinPos = vec3(decodeFloatRG(tex0.rg), decodeFloatRG(tex0.ba), decodeFloatRG(tex1.rg));\n\tinPos = (inPos - vec3(0.5)) * inBoundsSize + inBoundsCenter;\n\tinVel = tex2.xyz;\n\tinVel = (inVel - vec3(0.5)) * maxVel;\n\tinAngle = decodeFloatRG(tex1.ba) * PI2;\n\tinShow = tex2.a > 0.5;\n\tinLife = decodeFloatRGBA(tex3);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\tinLife = inLife * (maxNegLife + maxPosLife) - maxNegLife;\n}\n",particleOutputFloatPS:"\nvoid writeOutput() {\n\tif (gl_FragCoord.y<1.0) {\n\t\tgl_FragColor = vec4(outPos, (outAngle + 1000.0) * visMode);\n\t} else {\n\t\tgl_FragColor = vec4(outVel, outLife);\n\t}\n}\n",particleOutputRgba8PS:"\nuniform vec3 outBoundsMul;\nuniform vec3 outBoundsAdd;\nvec2 encodeFloatRG( float v ) {\n\tvec2 enc = vec2(1.0, 255.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yy * vec2(1.0/255.0, 1.0/255.0);\n\treturn enc;\n}\nvec4 encodeFloatRGBA( float v ) {\n\tvec4 enc = vec4(1.0, 255.0, 65025.0, 160581375.0) * v;\n\tenc = fract(enc);\n\tenc -= enc.yzww * vec4(1.0/255.0,1.0/255.0,1.0/255.0,0.0);\n\treturn enc;\n}\nvoid writeOutput() {\n\toutPos = outPos * outBoundsMul + outBoundsAdd;\n\toutAngle = fract(outAngle / PI2);\n\toutVel = (outVel / maxVel) + vec3(0.5);\n\tfloat maxNegLife = max(lifetime, (numParticles - 1.0) * (rate+rateDiv));\n\tfloat maxPosLife = lifetime+1.0;\n\toutLife = (outLife + maxNegLife) / (maxNegLife + maxPosLife);\n\tif (gl_FragCoord.y < 1.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.x), encodeFloatRG(outPos.y));\n\t} else if (gl_FragCoord.y < 2.0) {\n\t\tgl_FragColor = vec4(encodeFloatRG(outPos.z), encodeFloatRG(outAngle));\n\t} else if (gl_FragCoord.y < 3.0) {\n\t\tgl_FragColor = vec4(outVel, visMode*0.5+0.5);\n\t} else {\n\t\tgl_FragColor = encodeFloatRGBA(outLife);\n\t}\n}\n",particleUpdaterAABBPS:"\nuniform mat3 spawnBounds;\nuniform vec3 spawnPosInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tvec3 pos = inBounds - vec3(0.5);\n\tvec3 posAbs = abs(pos);\n\tvec3 maxPos = vec3(max(posAbs.x, max(posAbs.y, posAbs.z)));\n\tvec3 edge = maxPos + (vec3(0.5) - maxPos) * spawnPosInnerRatio;\n\tpos.x = edge.x * (maxPos.x == posAbs.x ? sign(pos.x) : 2.0 * pos.x);\n\tpos.y = edge.y * (maxPos.y == posAbs.y ? sign(pos.y) : 2.0 * pos.y);\n\tpos.z = edge.z * (maxPos.z == posAbs.z ? sign(pos.z) : 2.0 * pos.z);\n#ifndef LOCAL_SPACE\n\treturn emitterPos + spawnBounds * pos;\n#else\n\treturn spawnBounds * pos;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity -= vec3(0, 0, initialVelocity);\n}\n",particleUpdaterEndPS:"\n\twriteOutput();\n}\n",particleUpdaterInitPS:"\nvarying vec2 vUv0;\nuniform highp sampler2D particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform highp sampler2D internalTex3;\nuniform mat3 emitterMatrix, emitterMatrixInv;\nuniform vec3 emitterScale;\nuniform vec3 emitterPos, frameRandom, localVelocityDivMult, velocityDivMult;\nuniform float delta, rate, rateDiv, lifetime, numParticles, rotSpeedDivMult, radialSpeedDivMult, seed;\nuniform float startAngle, startAngle2;\nuniform float initialVelocity;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\nfloat visMode;\nvec3 outPos;\nvec3 outVel;\nfloat outAngle;\nbool outShow;\nfloat outLife;\n",particleUpdaterNoRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = -1.0;\n\t}\n",particleUpdaterOnStopPS:"\n\tvisMode = outLife < 0.0? -1.0: visMode;\n",particleUpdaterRespawnPS:"\n\tif (outLife >= lifetime) {\n\t\toutLife -= max(lifetime, (numParticles - 1.0) * particleRate);\n\t\tvisMode = 1.0;\n\t}\n\tvisMode = outLife < 0.0? 1.0: visMode;\n",particleUpdaterSpherePS:"\nuniform float spawnBoundsSphere;\nuniform float spawnBoundsSphereInnerRatio;\nvec3 calcSpawnPosition(vec3 inBounds, float rndFactor) {\n\tfloat rnd4 = fract(rndFactor * 1000.0);\n\tvec3 norm = normalize(inBounds.xyz - vec3(0.5));\n\tfloat r = rnd4 * (1.0 - spawnBoundsSphereInnerRatio) + spawnBoundsSphereInnerRatio;\n#ifndef LOCAL_SPACE\n\treturn emitterPos + norm * r * spawnBoundsSphere;\n#else\n\treturn norm * r * spawnBoundsSphere;\n#endif\n}\nvoid addInitialVelocity(inout vec3 localVelocity, vec3 inBounds) {\n\tlocalVelocity += normalize(inBounds - vec3(0.5)) * initialVelocity;\n}\n",particleUpdaterStartPS:"\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec3 unpack3NFloats(float src) {\n\tfloat r = fract(src);\n\tfloat g = fract(src * 256.0);\n\tfloat b = fract(src * 65536.0);\n\treturn vec3(r, g, b);\n}\nvec3 tex1Dlod_lerp(highp sampler2D tex, vec2 tc, out vec3 w) {\n\tvec4 a = texture2D(tex, tc);\n\tvec4 b = texture2D(tex, tc + graphSampleSize);\n\tfloat c = fract(tc.x * graphNumSamples);\n\tvec3 unpackedA = unpack3NFloats(a.w);\n\tvec3 unpackedB = unpack3NFloats(b.w);\n\tw = mix(unpackedA, unpackedB, c);\n\treturn mix(a.xyz, b.xyz, c);\n}\n#define HASHSCALE4 vec4(1031, .1030, .0973, .1099)\nvec4 hash41(float p) {\n\tvec4 p4 = fract(vec4(p) * HASHSCALE4);\n\tp4 += dot(p4, p4.wzxy+19.19);\n\treturn fract(vec4((p4.x + p4.y)*p4.z, (p4.x + p4.z)*p4.y, (p4.y + p4.z)*p4.w, (p4.z + p4.w)*p4.x));\n}\nvoid main(void) {\n\tif (gl_FragCoord.x > numParticles) discard;\n\treadInput(vUv0.x);\n\tvisMode = inShow? 1.0 : -1.0;\n\tvec4 rndFactor = hash41(gl_FragCoord.x + seed);\n\tfloat particleRate = rate + rateDiv * rndFactor.x;\n\toutLife = inLife + delta;\n\tfloat nlife = clamp(outLife / lifetime, 0.0, 1.0);\n\tvec3 localVelocityDiv;\n\tvec3 velocityDiv;\n\tvec3 paramDiv;\n\tvec3 localVelocity = tex1Dlod_lerp(internalTex0, vec2(nlife, 0), localVelocityDiv);\n\tvec3 velocity =\t tex1Dlod_lerp(internalTex1, vec2(nlife, 0), velocityDiv);\n\tvec3 params =\t\ttex1Dlod_lerp(internalTex2, vec2(nlife, 0), paramDiv);\n\tfloat rotSpeed = params.x;\n\tfloat rotSpeedDiv = paramDiv.y;\n\tvec3 radialParams = tex1Dlod_lerp(internalTex3, vec2(nlife, 0), paramDiv);\n\tfloat radialSpeed = radialParams.x;\n\tfloat radialSpeedDiv = radialParams.y;\n\tbool respawn = inLife <= 0.0 || outLife >= lifetime;\n\tinPos = respawn ? calcSpawnPosition(rndFactor.xyz, rndFactor.x) : inPos;\n\tinAngle = respawn ? mix(startAngle, startAngle2, rndFactor.x) : inAngle;\n#ifndef LOCAL_SPACE\n\tvec3 radialVel = inPos - emitterPos;\n#else\n\tvec3 radialVel = inPos;\n#endif\n\tradialVel = (dot(radialVel, radialVel) > 1.0E-8) ? radialSpeed * normalize(radialVel) : vec3(0.0);\n\tradialVel += (radialSpeedDiv * vec3(2.0) - vec3(1.0)) * radialSpeedDivMult * rndFactor.xyz;\n\tlocalVelocity +=\t(localVelocityDiv * vec3(2.0) - vec3(1.0)) * localVelocityDivMult * rndFactor.xyz;\n\tvelocity +=\t\t (velocityDiv * vec3(2.0) - vec3(1.0)) * velocityDivMult * rndFactor.xyz;\n\trotSpeed +=\t\t (rotSpeedDiv * 2.0 - 1.0) * rotSpeedDivMult * rndFactor.y;\n\taddInitialVelocity(localVelocity, rndFactor.xyz);\n#ifndef LOCAL_SPACE\n\toutVel = emitterMatrix * localVelocity + (radialVel + velocity) * emitterScale;\n#else\n\toutVel = (localVelocity + radialVel) / emitterScale + emitterMatrixInv * velocity;\n#endif\n\toutPos = inPos + outVel * delta;\n\toutAngle = inAngle + rotSpeed * delta;\n",particle_billboardVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = billboard(particlePos, quadXY);\n",particle_blendAddPS:"\n\tdBlendModeFogFactor = 0.0;\n\trgb *= saturate(gammaCorrectInput(max(a, 0.0)));\n\tif ((rgb.r + rgb.g + rgb.b) < 0.000001) discard;\n",particle_blendMultiplyPS:"\n\trgb = mix(vec3(1.0), rgb, vec3(a));\n\tif (rgb.r + rgb.g + rgb.b > 2.99) discard;\n",particle_blendNormalPS:"\n\tif (a < 0.01) discard;\n",particle_cpuVS:"\nattribute vec4 particle_vertexData;\nattribute vec4 particle_vertexData2;\nattribute vec4 particle_vertexData3;\nattribute float particle_vertexData4;\n#ifndef USE_MESH\nattribute vec2 particle_vertexData5;\n#else\nattribute vec4 particle_vertexData5;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\nuniform float numParticles;\nuniform float lifetime;\nuniform float stretch;\nuniform float seed;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale;\nuniform vec3 faceTangent;\nuniform vec3 faceBinorm;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\nuniform vec3 emitterPos;\nvarying vec4 texCoordsAlphaLife;\nvec2 rotate(vec2 quadXY, float pRotation, out mat2 rotMatrix)\n{\n\tfloat c = cos(pRotation);\n\tfloat s = sin(pRotation);\n\tmat2 m = mat2(c, -s, s, c);\n\trotMatrix = m;\n\treturn m * quadXY;\n}\nvec3 billboard(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = -matrix_viewInverse[0].xyz * quadXY.x + -matrix_viewInverse[1].xyz * quadXY.y;\n\treturn pos;\n}\nvec3 customFace(vec3 InstanceCoords, vec2 quadXY)\n{\n\tvec3 pos = faceTangent * quadXY.x + faceBinorm * quadXY.y;\n\treturn pos;\n}\nvoid main(void)\n{\n\tvec3 particlePos = particle_vertexData.xyz;\n\tvec3 inPos = particlePos;\n\tvec3 vertPos = particle_vertexData3.xyz;\n\tvec3 inVel = vec3(particle_vertexData2.w, particle_vertexData3.w, particle_vertexData5.x);\n\tfloat id = floor(particle_vertexData4);\n\tfloat rndFactor = fract(sin(id + 1.0 + seed));\n\tvec3 rndFactor3 = vec3(rndFactor, fract(rndFactor*10.0), fract(rndFactor*100.0));\n#ifdef LOCAL_SPACE\n\tinVel = mat3(matrix_model) * inVel;\n#endif\n\tvec2 velocityV = normalize((mat3(matrix_view) * inVel).xy);\n\tvec2 quadXY = vertPos.xy;\n#ifdef USE_MESH\n\ttexCoordsAlphaLife = vec4(particle_vertexData5.zw, particle_vertexData2.z, particle_vertexData.w);\n#else\n\ttexCoordsAlphaLife = vec4(quadXY * -0.5 + 0.5, particle_vertexData2.z, particle_vertexData.w);\n#endif\n\tmat2 rotMatrix;\n\tfloat inAngle = particle_vertexData2.x;\n\tvec3 particlePosMoved = vec3(0.0);\n\tvec3 meshLocalPos = particle_vertexData3.xyz;\n",particle_cpu_endVS:"\n\tlocalPos *= particle_vertexData2.y * emitterScale;\n\tlocalPos += particlePos;\n\tgl_Position = matrix_viewProjection * vec4(localPos, 1.0);\n",particle_customFaceVS:"\n\tquadXY = rotate(quadXY, inAngle, rotMatrix);\n\tvec3 localPos = customFace(particlePos, quadXY);\n",particle_endPS:"\n\trgb = addFog(rgb);\n\trgb = toneMap(rgb);\n\trgb = gammaCorrectOutput(rgb);\n\tgl_FragColor = vec4(rgb, a);\n}\n",particle_endVS:"\n\tlocalPos *= scale * emitterScale;\n\tlocalPos += particlePos;\n\t#ifdef SCREEN_SPACE\n\tgl_Position = vec4(localPos.x, localPos.y, 0.0, 1.0);\n\t#else\n\tgl_Position = matrix_viewProjection * vec4(localPos.xyz, 1.0);\n\t#endif\n",particle_halflambertPS:"\n\tvec3 negNormal = normal*0.5+0.5;\n\tvec3 posNormal = -normal*0.5+0.5;\n\tnegNormal *= negNormal;\n\tposNormal *= posNormal;\n",particle_initVS:"\nattribute vec4 particle_vertexData;\n#ifdef USE_MESH\nattribute vec2 particle_uv;\n#endif\nuniform mat4 matrix_viewProjection;\nuniform mat4 matrix_model;\nuniform mat3 matrix_normal;\nuniform mat4 matrix_viewInverse;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform float numParticles, numParticlesPot;\nuniform float graphSampleSize;\nuniform float graphNumSamples;\nuniform float stretch;\nuniform vec3 wrapBounds;\nuniform vec3 emitterScale, emitterPos, faceTangent, faceBinorm;\nuniform float rate, rateDiv, lifetime, deltaRandomnessStatic, scaleDivMult, alphaDivMult, seed, delta;\nuniform sampler2D particleTexOUT, particleTexIN;\nuniform highp sampler2D internalTex0;\nuniform highp sampler2D internalTex1;\nuniform highp sampler2D internalTex2;\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\nvarying vec4 texCoordsAlphaLife;\nvec3 inPos;\nvec3 inVel;\nfloat inAngle;\nbool inShow;\nfloat inLife;\n",particle_lambertPS:"\n\tvec3 negNormal = max(normal, vec3(0.0));\n\tvec3 posNormal = max(-normal, vec3(0.0));\n",particle_lightingPS:"\n\tvec3 light = negNormal.x*lightCube[0] + posNormal.x*lightCube[1] +\n\t\t\t\t\t\tnegNormal.y*lightCube[2] + posNormal.y*lightCube[3] +\n\t\t\t\t\t\tnegNormal.z*lightCube[4] + posNormal.z*lightCube[5];\n\trgb *= light;\n",particle_localShiftVS:"\n\tparticlePos = (matrix_model * vec4(particlePos, 1.0)).xyz;\n",particle_meshVS:"\n\tvec3 localPos = meshLocalPos;\n\tlocalPos.xy = rotate(localPos.xy, inAngle, rotMatrix);\n\tlocalPos.yz = rotate(localPos.yz, inAngle, rotMatrix);\n\tbillboard(particlePos, quadXY);\n",particle_normalVS:"\n\tNormal = normalize(localPos + matrix_viewInverse[2].xyz);\n",particle_normalMapPS:"\n\tvec3 normalMap = normalize(texture2D(normalMap, vec2(texCoordsAlphaLife.x, 1.0 - texCoordsAlphaLife.y)).xyz * 2.0 - 1.0);\n\tvec3 normal = ParticleMat * normalMap;\n",particle_pointAlongVS:"\n\tinAngle = atan(velocityV.x, velocityV.y);\n",particle_softPS:"\n\tfloat depth = getLinearScreenDepth();\n\tfloat particleDepth = vDepth;\n\tfloat depthDiff = saturate(abs(particleDepth - depth) * softening);\n\ta *= depthDiff;\n",particle_softVS:"\n\tvDepth = getLinearDepth(localPos);\n",particle_stretchVS:"\n\tvec3 moveDir = inVel * stretch;\n\tvec3 posPrev = particlePos - moveDir;\n\tposPrev += particlePosMoved;\n\tvec2 centerToVertexV = normalize((mat3(matrix_view) * localPos).xy);\n\tfloat interpolation = dot(-velocityV, centerToVertexV) * 0.5 + 0.5;\n\tparticlePos = mix(particlePos, posPrev, interpolation);\n",particle_TBNVS:"\n\tmat3 rot3 = mat3(rotMatrix[0][0], rotMatrix[0][1], 0.0, rotMatrix[1][0], rotMatrix[1][1], 0.0, 0.0, 0.0, 1.0);\n\tParticleMat = mat3(-matrix_viewInverse[0].xyz, -matrix_viewInverse[1].xyz, matrix_viewInverse[2].xyz) * rot3;\n",particle_wrapVS:"\n\tvec3 origParticlePos = particlePos;\n\tparticlePos -= matrix_model[3].xyz;\n\tparticlePos = mod(particlePos, wrapBounds) - wrapBounds * 0.5;\n\tparticlePos += matrix_model[3].xyz;\n\tparticlePosMoved = particlePos - origParticlePos;\n",reflDirPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tdReflDirW = normalize(-reflect(viewDir, worldNormal));\n}\n",reflDirAnisoPS:"\nvoid getReflDir(vec3 worldNormal, vec3 viewDir, float gloss, mat3 tbn) {\n\tfloat roughness = sqrt(1.0 - min(gloss, 1.0));\n\tfloat anisotropy = material_anisotropy * roughness;\n\tvec3 anisotropicDirection = anisotropy >= 0.0 ? tbn[1] : tbn[0];\n\tvec3 anisotropicTangent = cross(anisotropicDirection, viewDir);\n\tvec3 anisotropicNormal = cross(anisotropicTangent, anisotropicDirection);\n\tvec3 bentNormal = normalize(mix(normalize(worldNormal), normalize(anisotropicNormal), anisotropy));\n\tdReflDirW = reflect(-viewDir, bentNormal);\n}\n",reflectionCCPS:"\n#ifdef LIT_CLEARCOAT\nvoid addReflectionCC(vec3 reflDir, float gloss) {\n\tccReflection += calcReflection(reflDir, gloss);\n}\n#endif\n",reflectionCubePS:"\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 lookupVec = fixSeams(cubeMapProject(reflDir));\n\tlookupVec.x *= -1.0;\n\treturn $DECODE(textureCube(texture_cubeMap, lookupVec));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvHQPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform samplerCube texture_cubeMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat flevel = level - ilevel;\n\tvec3 sharp = $DECODE_CUBEMAP(textureCube(texture_cubeMap, fixSeams(dir)));\n\tvec3 roughA = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel)));\n\tvec3 roughB = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(sharp, mix(roughA, roughB, flevel), min(level, 1.0)));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionEnvPS:"\n#ifndef ENV_ATLAS\n#define ENV_ATLAS\nuniform sampler2D texture_envAtlas;\n#endif\nuniform float material_reflectivity;\nfloat shinyMipLevel(vec2 uv) {\n\tvec2 dx = dFdx(uv);\n\tvec2 dy = dFdy(uv);\n\tvec2 uv2 = vec2(fract(uv.x + 0.5), uv.y);\n\tvec2 dx2 = dFdx(uv2);\n\tvec2 dy2 = dFdy(uv2);\n\tfloat maxd = min(max(dot(dx, dx), dot(dy, dy)), max(dot(dx2, dx2), dot(dy2, dy2)));\n\treturn clamp(0.5 * log2(maxd) - 1.0 + textureBias, 0.0, 5.0);\n}\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 dir = cubeMapProject(reflDir) * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(dir);\n\tfloat level = saturate(1.0 - gloss) * 5.0;\n\tfloat ilevel = floor(level);\n\tfloat level2 = shinyMipLevel(uv * atlasSize);\n\tfloat ilevel2 = floor(level2);\n\tvec2 uv0, uv1;\n\tfloat weight;\n\tif (ilevel == 0.0) {\n\t\tuv0 = mapShinyUv(uv, ilevel2);\n\t\tuv1 = mapShinyUv(uv, ilevel2 + 1.0);\n\t\tweight = level2 - ilevel2;\n\t} else {\n\t\tuv0 = uv1 = mapRoughnessUv(uv, ilevel);\n\t\tweight = 0.0;\n\t}\n\tvec3 linearA = $DECODE(texture2D(texture_envAtlas, uv0));\n\tvec3 linearB = $DECODE(texture2D(texture_envAtlas, uv1));\n\tvec3 linear0 = mix(linearA, linearB, weight);\n\tvec3 linear1 = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, ilevel + 1.0)));\n\treturn processEnvironment(mix(linear0, linear1, level - ilevel));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSpherePS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = (mat3(matrix_view) * reflDir).xyz;\n\tfloat m = 2.0 * sqrt( dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z+1.0)*(reflDirV.z+1.0) );\n\tvec2 sphereMapUv = reflDirV.xy / m + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSphereLowPS:"\nuniform sampler2D texture_sphereMap;\nuniform float material_reflectivity;\nvec3 calcReflection(vec3 reflDir, float gloss) {\n\tvec3 reflDirV = vNormalV;\n\tvec2 sphereMapUv = reflDirV.xy * 0.5 + 0.5;\n\treturn $DECODE(texture2D(texture_sphereMap, sphereMapUv));\n}\nvoid addReflection(vec3 reflDir, float gloss) { \n\tdReflection += vec4(calcReflection(reflDir, gloss), material_reflectivity);\n}\n",reflectionSheenPS:"\nvoid addReflectionSheen(vec3 worldNormal, vec3 viewDir, float gloss) {\n\tfloat NoV = dot(worldNormal, viewDir);\n\tfloat alphaG = gloss * gloss;\n\tfloat a = gloss < 0.25 ? -339.2 * alphaG + 161.4 * gloss - 25.9 : -8.48 * alphaG + 14.3 * gloss - 9.95;\n\tfloat b = gloss < 0.25 ? 44.0 * alphaG - 23.7 * gloss + 3.26 : 1.97 * alphaG - 3.27 * gloss + 0.72;\n\tfloat DG = exp( a * NoV + b ) + ( gloss < 0.25 ? 0.0 : 0.1 * ( gloss - 0.25 ) );\n\tsReflection += calcReflection(worldNormal, 0.0) * saturate(DG);\n}\n",refractionCubePS:"\nvec3 refract2(vec3 viewVec, vec3 normal, float IOR) {\n\tfloat vn = dot(viewVec, normal);\n\tfloat k = 1.0 - IOR * IOR * (1.0 - vn * vn);\n\tvec3 refrVec = IOR * viewVec - (IOR * vn + sqrt(k)) * normal;\n\treturn refrVec;\n}\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif \n) {\n\tvec4 tmpRefl = dReflection;\n\tvec3 reflectionDir = refract2(-viewDir, worldNormal, refractionIndex);\n\tdReflection = vec4(0);\n\taddReflection(reflectionDir, gloss);\n\tdDiffuseLight = mix(dDiffuseLight, dReflection.rgb * albedo, transmission);\n\tdReflection = tmpRefl;\n}\n",refractionDynamicPS:"\nuniform float material_invAttenuationDistance;\nuniform vec3 material_attenuation;\nvoid addRefraction(\n\tvec3 worldNormal, \n\tvec3 viewDir, \n\tfloat thickness, \n\tfloat gloss, \n\tvec3 specularity, \n\tvec3 albedo, \n\tfloat transmission,\n\tfloat refractionIndex\n#if defined(LIT_IRIDESCENCE)\n\t, vec3 iridescenceFresnel,\n\tfloat iridescenceIntensity\n#endif\n) {\n\tvec3 modelScale;\n\tmodelScale.x = length(vec3(matrix_model[0].xyz));\n\tmodelScale.y = length(vec3(matrix_model[1].xyz));\n\tmodelScale.z = length(vec3(matrix_model[2].xyz));\n\tvec3 refractionVector = normalize(refract(-viewDir, worldNormal, refractionIndex)) * thickness * modelScale;\n\tvec4 pointOfRefraction = vec4(vPositionW + refractionVector, 1.0);\n\tvec4 projectionPoint = matrix_viewProjection * pointOfRefraction;\n\tvec2 uv = getGrabScreenPos(projectionPoint);\n\t#ifdef SUPPORTS_TEXLOD\n\t\tfloat iorToRoughness = (1.0 - gloss) * clamp((1.0 / refractionIndex) * 2.0 - 2.0, 0.0, 1.0);\n\t\tfloat refractionLod = log2(uScreenSize.x) * iorToRoughness;\n\t\tvec3 refraction = texture2DLodEXT(uSceneColorMap, uv, refractionLod).rgb;\n\t#else\n\t\tvec3 refraction = texture2D(uSceneColorMap, uv).rgb;\n\t#endif\n\tvec3 transmittance;\n\tif (material_invAttenuationDistance != 0.0)\n\t{\n\t\tvec3 attenuation = -log(material_attenuation) * material_invAttenuationDistance;\n\t\ttransmittance = exp(-attenuation * length(refractionVector));\n\t}\n\telse\n\t{\n\t\ttransmittance = refraction;\n\t}\n\tvec3 fresnel = vec3(1.0) - \n\t\tgetFresnel(\n\t\t\tdot(viewDir, worldNormal), \n\t\t\tgloss, \n\t\t\tspecularity\n\t\t#if defined(LIT_IRIDESCENCE)\n\t\t\t, iridescenceFresnel,\n\t\t\tiridescenceIntensity\n\t\t#endif\n\t\t);\n\tdDiffuseLight = mix(dDiffuseLight, refraction * transmittance * fresnel, transmission);\n}\n",reprojectPS:"\nvarying vec2 vUv0;\n#ifdef CUBEMAP_SOURCE\n\tuniform samplerCube sourceCube;\n#else\n\tuniform sampler2D sourceTex;\n#endif\n#ifdef USE_SAMPLES_TEX\n\tuniform sampler2D samplesTex;\n\tuniform vec2 samplesTexInverseSize;\n#endif\nuniform vec4 params;\nuniform vec2 params2;\nfloat targetFace() { return params.x; }\nfloat specularPower() { return params.y; }\nfloat sourceCubeSeamScale() { return params.z; }\nfloat targetCubeSeamScale() { return params.w; }\nfloat targetTotalPixels() { return params2.x; }\nfloat sourceTotalPixels() { return params2.y; }\nfloat PI = 3.141592653589793;\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\n"+So+"\n"+bo+"\nvec3 modifySeams(vec3 dir, float scale) {\n\tvec3 adir = abs(dir);\n\tfloat M = max(max(adir.x, adir.y), adir.z);\n\treturn dir / M * vec3(\n\t\tadir.x == M ? 1.0 : scale,\n\t\tadir.y == M ? 1.0 : scale,\n\t\tadir.z == M ? 1.0 : scale\n\t);\n}\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec3 fromSpherical(vec2 uv) {\n\treturn vec3(cos(uv.y) * sin(uv.x),\n\t\t\t\tsin(uv.y),\n\t\t\t\tcos(uv.y) * cos(uv.x));\n}\nvec3 getDirectionEquirect() {\n\treturn fromSpherical((vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0) * vec2(PI, PI * 0.5));\n}\nfloat signNotZero(float k){\n\treturn(k >= 0.0) ? 1.0 : -1.0;\n}\nvec2 signNotZero(vec2 v) {\n\treturn vec2(signNotZero(v.x), signNotZero(v.y));\n}\nvec3 octDecode(vec2 o) {\n\tvec3 v = vec3(o.x, 1.0 - abs(o.x) - abs(o.y), o.y);\n\tif (v.y < 0.0) {\n\t\tv.xz = (1.0 - abs(v.zx)) * signNotZero(v.xz);\n\t}\n\treturn normalize(v);\n}\nvec3 getDirectionOctahedral() {\n\treturn octDecode(vec2(vUv0.x, 1.0 - vUv0.y) * 2.0 - 1.0);\n}\nvec2 octEncode(in vec3 v) {\n\tfloat l1norm = abs(v.x) + abs(v.y) + abs(v.z);\n\tvec2 result = v.xz * (1.0 / l1norm);\n\tif (v.y < 0.0) {\n\t\tresult = (1.0 - abs(result.yx)) * signNotZero(result.xy);\n\t}\n\treturn result;\n}\n#ifdef CUBEMAP_SOURCE\n\tvec4 sampleCubemap(vec3 dir) {\n\t\treturn textureCube(sourceCube, modifySeams(dir, 1.0 - sourceCubeSeamScale()));\n\t}\n\tvec4 sampleCubemap(vec2 sph) {\n\treturn sampleCubemap(fromSpherical(sph));\n}\n\tvec4 sampleCubemap(vec3 dir, float mipLevel) {\n\t\treturn textureCubeLodEXT(sourceCube, modifySeams(dir, 1.0 - exp2(mipLevel) * sourceCubeSeamScale()), mipLevel);\n\t}\n\tvec4 sampleCubemap(vec2 sph, float mipLevel) {\n\t\treturn sampleCubemap(fromSpherical(sph), mipLevel);\n\t}\n#else\n\tvec4 sampleEquirect(vec2 sph) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleEquirect(vec3 dir) {\n\t\treturn sampleEquirect(toSpherical(dir));\n\t}\n\tvec4 sampleEquirect(vec2 sph, float mipLevel) {\n\t\tvec2 uv = sph / vec2(PI * 2.0, PI) + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleEquirect(vec3 dir, float mipLevel) {\n\t\treturn sampleEquirect(toSpherical(dir), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec3 dir) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2D(sourceTex, vec2(uv.x, 1.0 - uv.y));\n\t}\n\tvec4 sampleOctahedral(vec2 sph) {\n\t\treturn sampleOctahedral(fromSpherical(sph));\n\t}\n\tvec4 sampleOctahedral(vec3 dir, float mipLevel) {\n\t\tvec2 uv = octEncode(dir) * 0.5 + 0.5;\n\t\treturn texture2DLodEXT(sourceTex, vec2(uv.x, 1.0 - uv.y), mipLevel);\n\t}\n\tvec4 sampleOctahedral(vec2 sph, float mipLevel) {\n\t\treturn sampleOctahedral(fromSpherical(sph), mipLevel);\n\t}\n#endif\nvec3 getDirectionCubemap() {\n\tvec2 st = vUv0 * 2.0 - 1.0;\n\tfloat face = targetFace();\n\tvec3 vec;\n\tif (face == 0.0) {\n\t\tvec = vec3(1, -st.y, -st.x);\n\t} else if (face == 1.0) {\n\t\tvec = vec3(-1, -st.y, st.x);\n\t} else if (face == 2.0) {\n\t\tvec = vec3(st.x, 1, st.y);\n\t} else if (face == 3.0) {\n\t\tvec = vec3(st.x, -1, -st.y);\n\t} else if (face == 4.0) {\n\t\tvec = vec3(st.x, -st.y, 1);\n\t} else {\n\t\tvec = vec3(-st.x, -st.y, -1);\n\t}\n\treturn normalize(modifySeams(vec, 1.0 / (1.0 - targetCubeSeamScale())));\n}\nmat3 matrixFromVector(vec3 n) {\n\tfloat a = 1.0 / (1.0 + n.z);\n\tfloat b = -n.x * n.y * a;\n\tvec3 b1 = vec3(1.0 - n.x * n.x * a, b, -n.x);\n\tvec3 b2 = vec3(b, 1.0 - n.y * n.y * a, -n.y);\n\treturn mat3(b1, b2, n);\n}\nmat3 matrixFromVectorSlow(vec3 n) {\n\tvec3 up = (1.0 - abs(n.y) <= 0.0000001) ? vec3(0.0, 0.0, n.y > 0.0 ? 1.0 : -1.0) : vec3(0.0, 1.0, 0.0);\n\tvec3 x = normalize(cross(up, n));\n\tvec3 y = cross(n, x);\n\treturn mat3(x, y, n);\n}\nvec4 reproject() {\n\tif (NUM_SAMPLES <= 1) {\n\t\treturn ENCODE_FUNC(DECODE_FUNC(SOURCE_FUNC(TARGET_FUNC())));\n\t} else {\n\t\tvec3 t = TARGET_FUNC();\n\t\tvec3 tu = dFdx(t);\n\t\tvec3 tv = dFdy(t);\n\t\tvec3 result = vec3(0.0);\n\t\tfor (float u = 0.0; u < NUM_SAMPLES_SQRT; ++u) {\n\t\t\tfor (float v = 0.0; v < NUM_SAMPLES_SQRT; ++v) {\n\t\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(normalize(t +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttu * (u / NUM_SAMPLES_SQRT - 0.5) +\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttv * (v / NUM_SAMPLES_SQRT - 0.5))));\n\t\t\t}\n\t\t}\n\t\treturn ENCODE_FUNC(result / (NUM_SAMPLES_SQRT * NUM_SAMPLES_SQRT));\n\t}\n}\nvec4 unpackFloat = vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0);\n#ifdef USE_SAMPLES_TEX\n\tvoid unpackSample(int i, out vec3 L, out float mipLevel) {\n\t\tfloat u = (float(i * 4) + 0.5) * samplesTexInverseSize.x;\n\t\tfloat v = (floor(u) + 0.5) * samplesTexInverseSize.y;\n\t\tvec4 raw;\n\t\traw.x = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.y = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.z = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat); u += samplesTexInverseSize.x;\n\t\traw.w = dot(texture2D(samplesTex, vec2(u, v)), unpackFloat);\n\t\tL.xyz = raw.xyz * 2.0 - 1.0;\n\t\tmipLevel = raw.w * 8.0;\n\t}\n\tvec4 prefilterSamples() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel)) * L.z;\n\t\t\ttotalWeight += L.z;\n\t\t}\n\t\treturn ENCODE_FUNC(result / totalWeight);\n\t}\n\tvec4 prefilterSamplesUnweighted() {\n\t\tmat3 vecSpace = matrixFromVectorSlow(TARGET_FUNC());\n\t\tvec3 L;\n\t\tfloat mipLevel;\n\t\tvec3 result = vec3(0.0);\n\t\tfloat totalWeight = 0.0;\n\t\tfor (int i = 0; i < NUM_SAMPLES; ++i) {\n\t\t\tunpackSample(i, L, mipLevel);\n\t\t\tresult += DECODE_FUNC(SOURCE_FUNC(vecSpace * L, mipLevel));\n\t\t}\n\t\treturn ENCODE_FUNC(result / float(NUM_SAMPLES));\n\t}\n#endif\nvoid main(void) {\n\tgl_FragColor = PROCESS_FUNC();\n}\n",screenDepthPS:"\nuniform highp sampler2D uSceneDepthMap;\n#ifndef SCREENSIZE\n#define SCREENSIZE\nuniform vec4 uScreenSize;\n#endif\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\n#ifndef LINEARIZE_DEPTH\n#ifndef CAMERAPLANES\n#define CAMERAPLANES\nuniform vec4 camera_params;\n#endif\n#define LINEARIZE_DEPTH\n#ifdef GL2\nfloat linearizeDepth(float z) {\n\tif (camera_params.w == 0.0)\n\t\treturn (camera_params.z * camera_params.y) / (camera_params.y + z * (camera_params.z - camera_params.y));\n\telse\n\t\treturn camera_params.z + z * (camera_params.y - camera_params.z);\n}\n#else\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\n#endif\n#endif\nfloat getLinearScreenDepth(vec2 uv) {\n\t#ifdef GL2\n\t\treturn linearizeDepth(texture2D(uSceneDepthMap, uv).r);\n\t#else\n\t\treturn unpackFloat(texture2D(uSceneDepthMap, uv)) * camera_params.y;\n\t#endif\n}\n#ifndef VERTEXSHADER\nfloat getLinearScreenDepth() {\n\tvec2 uv = gl_FragCoord.xy * uScreenSize.zw;\n\treturn getLinearScreenDepth(uv);\n}\n#endif\nfloat getLinearDepth(vec3 pos) {\n\treturn -(matrix_view * vec4(pos, 1.0)).z;\n}\n",shadowCascadesPS:"\nconst float maxCascades = 4.0;\nmat4 cascadeShadowMat;\nvoid getShadowCascadeMatrix(mat4 shadowMatrixPalette[4], float shadowCascadeDistances[4], float shadowCascadeCount) {\n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tfloat cascadeIndex = 0.0;\n\tfor (float i = 0.0; i < maxCascades; i++) {\n\t\tif (depth < shadowCascadeDistances[int(i)]) {\n\t\t\tcascadeIndex = i;\n\t\t\tbreak;\n\t\t}\n\t}\n\tcascadeIndex = min(cascadeIndex, shadowCascadeCount - 1.0);\n\t#ifdef GL2\n\t\tcascadeShadowMat = shadowMatrixPalette[int(cascadeIndex)];\n\t#else\n\t\tif (cascadeIndex == 0.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[0];\n\t\t}\n\t\telse if (cascadeIndex == 1.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[1];\n\t\t}\n\t\telse if (cascadeIndex == 2.0) {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[2];\n\t\t}\n\t\telse {\n\t\t\tcascadeShadowMat = shadowMatrixPalette[3];\n\t\t}\n\t#endif\n}\nvoid fadeShadow(float shadowCascadeDistances[4]) {\t\t\t\t \n\tfloat depth = 1.0 / gl_FragCoord.w;\n\tif (depth > shadowCascadeDistances[int(maxCascades - 1.0)]) {\n\t\tdShadowCoord.z = -9999999.0;\n\t}\n}\n",shadowEVSMPS:"\nfloat VSM$(sampler2D tex, vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec3 moments = texture2D(tex, texCoords).xyz;\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(shadowMap, shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowEVSMnPS:"\nfloat VSM$(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tfloat pixelSize = 1.0 / resolution;\n\ttexCoords -= vec2(pixelSize);\n\tvec3 s00 = texture2D(tex, texCoords).xyz;\n\tvec3 s10 = texture2D(tex, texCoords + vec2(pixelSize, 0)).xyz;\n\tvec3 s01 = texture2D(tex, texCoords + vec2(0, pixelSize)).xyz;\n\tvec3 s11 = texture2D(tex, texCoords + vec2(pixelSize)).xyz;\n\tvec2 fr = fract(texCoords * resolution);\n\tvec3 h0 = mix(s00, s10, fr.x);\n\tvec3 h1 = mix(s01, s11, fr.x);\n\tvec3 moments = mix(h0, h1, fr.y);\n\treturn calculateEVSM(moments, Z, vsmBias, exponent);\n}\nfloat getShadowVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, exponent);\n}\nfloat getShadowSpotVSM$(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM$(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, exponent);\n}\n",shadowPCSSPS:"\n#define PCSS_SAMPLE_COUNT 16\nuniform float pcssDiskSamples[PCSS_SAMPLE_COUNT];\nuniform float pcssSphereSamples[PCSS_SAMPLE_COUNT];\nvec2 vogelDisk(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat sine = sin(theta);\n\tfloat cosine = cos(theta);\n\treturn vec2(r * cosine, r * sine);\n}\nvec3 vogelSphere(int sampleIndex, float count, float phi, float r) {\n\tconst float GoldenAngle = 2.4;\n\tfloat theta = float(sampleIndex) * GoldenAngle + phi;\n\tfloat weight = float(sampleIndex) / count;\n\treturn vec3(cos(theta) * r, weight, sin(theta) * r);\n}\nfloat noise(vec2 screenPos) {\n\tconst float PHI = 1.61803398874989484820459;\n\treturn fract(sin(dot(screenPos * PHI, screenPos)) * screenPos.x);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\nfloat unpackFloat(vec4 rgbaDepth) {\n\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\treturn dot(rgbaDepth, bitShift);\n}\n#endif\nfloat viewSpaceDepth(float depth, mat4 invProjection) {\n\tfloat z = depth * 2.0 - 1.0;\n\tvec4 clipSpace = vec4(0.0, 0.0, z, 1.0);\n\tvec4 viewSpace = invProjection * clipSpace;\n\treturn viewSpace.z;\n}\nfloat PCSSBlockerDistance(TEXTURE_ACCEPT(shadowMap), vec2 sampleCoords[PCSS_SAMPLE_COUNT], vec2 shadowCoords, vec2 searchSize, float z) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec2 offset = sampleCoords[i] * searchSize;\n\t\tvec2 sampleUV = shadowCoords + offset;\n\t#ifdef GL2\n\t\tfloat blocker = textureLod(shadowMap, sampleUV, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(texture2D(shadowMap, sampleUV));\n\t#endif\t\t\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= blockers;\n\treturn -1.0;\n}\nfloat PCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoords, vec4 cameraParams, vec2 shadowSearchArea) {\n\tfloat receiverDepth = shadowCoords.z;\n#ifndef GL2\n\treceiverDepth *= 1.0 / (cameraParams.y - cameraParams.z);\n#endif\n\tvec2 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat pcssPresample = pcssDiskSamples[i];\n\t\tsamplePoints[i] = vogelDisk(i, float(PCSS_SAMPLE_COUNT), noise, pcssPresample);\n\t}\n\tfloat averageBlocker = PCSSBlockerDistance(TEXTURE_PASS(shadowMap), samplePoints, shadowCoords.xy, shadowSearchArea, receiverDepth);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tvec2 filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea * cameraParams.x;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i ++)\n\t\t{\n\t\t\tvec2 sampleUV = samplePoints[i] * filterRadius;\n\t\t\tsampleUV = shadowCoords.xy + sampleUV;\n\t\t#ifdef GL2\n\t\t\tfloat depth = textureLod(shadowMap, sampleUV, 0.0).r;\n\t\t#else\n\t\t\tfloat depth = unpackFloat(texture2D(shadowMap, sampleUV));\n\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t} \n}\nfloat PCSSCubeBlockerDistance(samplerCube shadowMap, vec3 lightDirNorm, vec3 samplePoints[PCSS_SAMPLE_COUNT], float z, float shadowSearchArea) {\n\tfloat blockers = 0.0;\n\tfloat averageBlocker = 0.0;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tvec3 sampleDir = lightDirNorm + samplePoints[i] * shadowSearchArea;\n\t\tsampleDir = normalize(sampleDir);\n\t#ifdef GL2\n\t\tfloat blocker = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t#else\n\t\tfloat blocker = unpackFloat(textureCube(shadowMap, sampleDir));\n\t#endif\n\t\tfloat isBlocking = step(blocker, z);\n\t\tblockers += isBlocking;\n\t\taverageBlocker += blocker * isBlocking;\n\t}\n\tif (blockers > 0.0)\n\t\treturn averageBlocker /= float(blockers);\n\treturn -1.0;\n}\nfloat PCSSCube(samplerCube shadowMap, vec4 shadowParams, vec3 shadowCoords, vec4 cameraParams, float shadowSearchArea, vec3 lightDir) {\n\t\n\tvec3 samplePoints[PCSS_SAMPLE_COUNT];\n\tfloat noise = noise( gl_FragCoord.xy ) * 2.0 * PI;\n\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++) {\n\t\tfloat r = pcssSphereSamples[i];\n\t\tsamplePoints[i] = vogelSphere(i, float(PCSS_SAMPLE_COUNT), noise, r);\n\t}\n\tfloat receiverDepth = length(lightDir) * shadowParams.w + shadowParams.z;\n\tvec3 lightDirNorm = normalize(lightDir);\n\t\n\tfloat averageBlocker = PCSSCubeBlockerDistance(shadowMap, lightDirNorm, samplePoints, receiverDepth, shadowSearchArea);\n\tif (averageBlocker == -1.0) {\n\t\treturn 1.0;\n\t} else {\n\t\tfloat filterRadius = ((receiverDepth - averageBlocker) / averageBlocker) * shadowSearchArea;\n\t\tfloat shadow = 0.0;\n\t\tfor (int i = 0; i < PCSS_SAMPLE_COUNT; i++)\n\t\t{\n\t\t\tvec3 offset = samplePoints[i] * filterRadius;\n\t\t\tvec3 sampleDir = lightDirNorm + offset;\n\t\t\tsampleDir = normalize(sampleDir);\n\t\t\t#ifdef GL2\n\t\t\t\tfloat depth = textureCubeLodEXT(shadowMap, sampleDir, 0.0).r;\n\t\t\t#else\n\t\t\t\tfloat depth = unpackFloat(textureCube(shadowMap, sampleDir));\n\t\t\t#endif\n\t\t\tshadow += step(receiverDepth, depth);\n\t\t}\n\t\treturn shadow / float(PCSS_SAMPLE_COUNT);\n\t}\n}\nfloat getShadowPointPCSS(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSSCube(shadowMap, shadowParams, shadowCoord, cameraParams, shadowSearchArea.x, lightDir);\n}\nfloat getShadowSpotPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\nfloat getShadowPCSS(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, vec4 cameraParams, vec2 shadowSearchArea, vec3 lightDir) {\n\treturn PCSS(TEXTURE_PASS(shadowMap), shadowCoord, cameraParams, shadowSearchArea);\n}\n",shadowSampleCoordPS:"\nvec3 getShadowSampleCoord$LIGHT(mat4 shadowTransform, vec4 shadowParams, vec3 worldPosition, vec3 lightPos, inout vec3 lightDir, vec3 lightDirNorm, vec3 normal) {\n\tvec3 surfacePosition = worldPosition;\n#ifdef SHADOW_SAMPLE_POINT\n\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\tfloat distScale = length(lightDir);\n\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\tlightDir = surfacePosition - lightPos;\n\t\treturn lightDir;\n\t#endif\n#else\n\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y;\n\t\t#endif\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_NORMAL_OFFSET\n\t\t\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\t\t\tfloat distScale = 1.0;\n\t\t\t#else\n\t\t\t\tfloat distScale = abs(dot(vPositionW - lightPos, lightDirNorm));\n\t\t\t#endif\n\t\t\tsurfacePosition = worldPosition + normal * shadowParams.y * clamp(1.0 - dot(normal, -lightDirNorm), 0.0, 1.0) * distScale;\n\t\t#endif\n\t#endif\n\tvec4 positionInShadowSpace = shadowTransform * vec4(surfacePosition, 1.0);\n\t#ifdef SHADOW_SAMPLE_ORTHO\n\t\tpositionInShadowSpace.z = saturate(positionInShadowSpace.z) - 0.0001;\n\t#else\n\t\t#ifdef SHADOW_SAMPLE_SOURCE_ZBUFFER\n\t\t\tpositionInShadowSpace.xyz /= positionInShadowSpace.w;\n\t\t#else\n\t\t\tpositionInShadowSpace.xy /= positionInShadowSpace.w;\n\t\t\tpositionInShadowSpace.z = length(lightDir) * shadowParams.w;\n\t\t#endif\n\t#endif\n\t#ifdef SHADOW_SAMPLE_Z_BIAS\n\t\tpositionInShadowSpace.z += getShadowBias(shadowParams.x, shadowParams.z);\n\t#endif\n\tsurfacePosition = positionInShadowSpace.xyz;\n#endif\n\treturn surfacePosition;\n}\n",shadowStandardPS:"\nvec3 lessThan2(vec3 a, vec3 b) {\n\treturn clamp((b - a)*1000.0, 0.0, 1.0);\n}\n#ifndef UNPACKFLOAT\n#define UNPACKFLOAT\n\tfloat unpackFloat(vec4 rgbaDepth) {\n\t\tconst vec4 bitShift = vec4(1.0 / (256.0 * 256.0 * 256.0), 1.0 / (256.0 * 256.0), 1.0 / 256.0, 1.0);\n\t\treturn dot(rgbaDepth, bitShift);\n\t}\n#endif\n#ifdef GL2\nfloat _getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat sum = 0.0;\n\tfloat uw0 = (3.0 - 2.0 * s);\n\tfloat uw1 = (1.0 + 2.0 * s);\n\tfloat u0 = (2.0 - s) / uw0 - 1.0;\n\tfloat u1 = s / uw1 + 1.0;\n\tfloat vw0 = (3.0 - 2.0 * t);\n\tfloat vw1 = (1.0 + 2.0 * t);\n\tfloat v0 = (2.0 - t) / vw0 - 1.0;\n\tfloat v1 = t / vw1 + 1.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum *= 1.0f / 16.0;\n\treturn sum;\n}\nfloat getShadowPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn textureShadow(shadowMap, shadowCoord);\n}\n#else\nfloat _xgetShadowPCF3x3(mat3 depthKernel, vec3 shadowCoord, sampler2D shadowMap, vec3 shadowParams) {\n\tmat3 shadowKernel;\n\tvec3 shadowZ = vec3(shadowCoord.z);\n\tshadowKernel[0] = vec3(greaterThan(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(greaterThan(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(greaterThan(depthKernel[2], shadowZ));\n\tvec2 fractionalCoord = fract( shadowCoord.xy * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat _getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec3 shadowParams) {\n\tfloat xoffset = 1.0 / shadowParams.x;\n\tfloat dx0 = -xoffset;\n\tfloat dx1 = xoffset;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx0)));\n\tdepthKernel[0][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, 0.0)));\n\tdepthKernel[0][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx0, dx1)));\n\tdepthKernel[1][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx0)));\n\tdepthKernel[1][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\tdepthKernel[1][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(0.0, dx1)));\n\tdepthKernel[2][0] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx0)));\n\tdepthKernel[2][1] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, 0.0)));\n\tdepthKernel[2][2] = unpackFloat(textureShadow(shadowMap, shadowCoord.xy + vec2(dx1, dx1)));\n\treturn _xgetShadowPCF3x3(depthKernel, shadowCoord, shadowMap, shadowParams);\n}\nfloat getShadowPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF3x3(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF3x3(shadowMap, shadowCoord, shadowParams.xyz);\n}\nfloat _getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord) {\n\tfloat shadowSample = unpackFloat(textureShadow(shadowMap, shadowCoord.xy));\n\treturn shadowSample > shadowCoord.z ? 1.0 : 0.0;\n}\nfloat getShadowPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\nfloat getShadowSpotPCF1x1(sampler2D shadowMap, vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF1x1(shadowMap, shadowCoord);\n}\n#endif\n#ifndef WEBGPU\nfloat _getShadowPoint(samplerCube shadowMap, vec4 shadowParams, vec3 dir) {\n\tvec3 tc = normalize(dir);\n\tvec3 tcAbs = abs(tc);\n\tvec4 dirX = vec4(1,0,0, tc.x);\n\tvec4 dirY = vec4(0,1,0, tc.y);\n\tfloat majorAxisLength = tc.z;\n\tif ((tcAbs.x > tcAbs.y) && (tcAbs.x > tcAbs.z)) {\n\t\tdirX = vec4(0,0,1, tc.z);\n\t\tdirY = vec4(0,1,0, tc.y);\n\t\tmajorAxisLength = tc.x;\n\t} else if ((tcAbs.y > tcAbs.x) && (tcAbs.y > tcAbs.z)) {\n\t\tdirX = vec4(1,0,0, tc.x);\n\t\tdirY = vec4(0,0,1, tc.z);\n\t\tmajorAxisLength = tc.y;\n\t}\n\tfloat shadowParamsInFaceSpace = ((1.0/shadowParams.x) * 2.0) * abs(majorAxisLength);\n\tvec3 xoffset = (dirX.xyz * shadowParamsInFaceSpace);\n\tvec3 yoffset = (dirY.xyz * shadowParamsInFaceSpace);\n\tvec3 dx0 = -xoffset;\n\tvec3 dy0 = -yoffset;\n\tvec3 dx1 = xoffset;\n\tvec3 dy1 = yoffset;\n\tmat3 shadowKernel;\n\tmat3 depthKernel;\n\tdepthKernel[0][0] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy0));\n\tdepthKernel[0][1] = unpackFloat(textureCube(shadowMap, tc + dx0));\n\tdepthKernel[0][2] = unpackFloat(textureCube(shadowMap, tc + dx0 + dy1));\n\tdepthKernel[1][0] = unpackFloat(textureCube(shadowMap, tc + dy0));\n\tdepthKernel[1][1] = unpackFloat(textureCube(shadowMap, tc));\n\tdepthKernel[1][2] = unpackFloat(textureCube(shadowMap, tc + dy1));\n\tdepthKernel[2][0] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy0));\n\tdepthKernel[2][1] = unpackFloat(textureCube(shadowMap, tc + dx1));\n\tdepthKernel[2][2] = unpackFloat(textureCube(shadowMap, tc + dx1 + dy1));\n\tvec3 shadowZ = vec3(length(dir) * shadowParams.w + shadowParams.z);\n\tshadowKernel[0] = vec3(lessThan2(depthKernel[0], shadowZ));\n\tshadowKernel[1] = vec3(lessThan2(depthKernel[1], shadowZ));\n\tshadowKernel[2] = vec3(lessThan2(depthKernel[2], shadowZ));\n\tvec2 uv = (vec2(dirX.w, dirY.w) / abs(majorAxisLength)) * 0.5;\n\tvec2 fractionalCoord = fract( uv * shadowParams.x );\n\tshadowKernel[0] = mix(shadowKernel[0], shadowKernel[1], fractionalCoord.x);\n\tshadowKernel[1] = mix(shadowKernel[1], shadowKernel[2], fractionalCoord.x);\n\tvec4 shadowValues;\n\tshadowValues.x = mix(shadowKernel[0][0], shadowKernel[0][1], fractionalCoord.y);\n\tshadowValues.y = mix(shadowKernel[0][1], shadowKernel[0][2], fractionalCoord.y);\n\tshadowValues.z = mix(shadowKernel[1][0], shadowKernel[1][1], fractionalCoord.y);\n\tshadowValues.w = mix(shadowKernel[1][1], shadowKernel[1][2], fractionalCoord.y);\n\treturn 1.0 - dot( shadowValues, vec4( 1.0 ) ) * 0.25;\n}\nfloat getShadowPointPCF3x3(samplerCube shadowMap, vec3 shadowCoord, vec4 shadowParams, vec3 lightDir) {\n\treturn _getShadowPoint(shadowMap, shadowParams, lightDir);\n}\n#endif\n",shadowStandardGL2PS:"\nfloat _getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec3 shadowParams) {\n\tfloat z = shadowCoord.z;\n\tvec2 uv = shadowCoord.xy * shadowParams.x;\n\tfloat shadowMapSizeInv = 1.0 / shadowParams.x;\n\tvec2 base_uv = floor(uv + 0.5);\n\tfloat s = (uv.x + 0.5 - base_uv.x);\n\tfloat t = (uv.y + 0.5 - base_uv.y);\n\tbase_uv -= vec2(0.5);\n\tbase_uv *= shadowMapSizeInv;\n\tfloat uw0 = (4.0 - 3.0 * s);\n\tfloat uw1 = 7.0;\n\tfloat uw2 = (1.0 + 3.0 * s);\n\tfloat u0 = (3.0 - 2.0 * s) / uw0 - 2.0;\n\tfloat u1 = (3.0 + s) / uw1;\n\tfloat u2 = s / uw2 + 2.0;\n\tfloat vw0 = (4.0 - 3.0 * t);\n\tfloat vw1 = 7.0;\n\tfloat vw2 = (1.0 + 3.0 * t);\n\tfloat v0 = (3.0 - 2.0 * t) / vw0 - 2.0;\n\tfloat v1 = (3.0 + t) / vw1;\n\tfloat v2 = t / vw2 + 2.0;\n\tfloat sum = 0.0;\n\tu0 = u0 * shadowMapSizeInv + base_uv.x;\n\tv0 = v0 * shadowMapSizeInv + base_uv.y;\n\tu1 = u1 * shadowMapSizeInv + base_uv.x;\n\tv1 = v1 * shadowMapSizeInv + base_uv.y;\n\tu2 = u2 * shadowMapSizeInv + base_uv.x;\n\tv2 = v2 * shadowMapSizeInv + base_uv.y;\n\tsum += uw0 * vw0 * textureShadow(shadowMap, vec3(u0, v0, z));\n\tsum += uw1 * vw0 * textureShadow(shadowMap, vec3(u1, v0, z));\n\tsum += uw2 * vw0 * textureShadow(shadowMap, vec3(u2, v0, z));\n\tsum += uw0 * vw1 * textureShadow(shadowMap, vec3(u0, v1, z));\n\tsum += uw1 * vw1 * textureShadow(shadowMap, vec3(u1, v1, z));\n\tsum += uw2 * vw1 * textureShadow(shadowMap, vec3(u2, v1, z));\n\tsum += uw0 * vw2 * textureShadow(shadowMap, vec3(u0, v2, z));\n\tsum += uw1 * vw2 * textureShadow(shadowMap, vec3(u1, v2, z));\n\tsum += uw2 * vw2 * textureShadow(shadowMap, vec3(u2, v2, z));\n\tsum *= 1.0f / 144.0;\n\tsum = saturate(sum);\n\treturn sum;\n}\nfloat getShadowPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\nfloat getShadowSpotPCF5x5(SHADOWMAP_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams) {\n\treturn _getShadowPCF5x5(SHADOWMAP_PASS(shadowMap), shadowCoord, shadowParams.xyz);\n}\n",shadowVSM8PS:"\nfloat calculateVSM8(vec3 moments, float Z, float vsmBias) {\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * Z;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, Z, minVariance1, 0.1);\n}\nfloat decodeFloatRG(vec2 rg) {\n\treturn rg.y*(1.0/255.0) + rg.x;\n}\nfloat VSM8(TEXTURE_ACCEPT(tex), vec2 texCoords, float resolution, float Z, float vsmBias, float exponent) {\n\tvec4 c = texture2D(tex, texCoords);\n\tvec3 moments = vec3(decodeFloatRG(c.xy), decodeFloatRG(c.zw), 0.0);\n\treturn calculateVSM8(moments, Z, vsmBias);\n}\nfloat getShadowVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, shadowCoord.z, shadowParams.y, 0.0);\n}\nfloat getShadowSpotVSM8(TEXTURE_ACCEPT(shadowMap), vec3 shadowCoord, vec4 shadowParams, float exponent, vec3 lightDir) {\n\treturn VSM8(TEXTURE_PASS(shadowMap), shadowCoord.xy, shadowParams.x, length(lightDir) * shadowParams.w + shadowParams.z, shadowParams.y, 0.0);\n}\n",shadowVSM_commonPS:"\nfloat linstep(float a, float b, float v) {\n\treturn saturate((v - a) / (b - a));\n}\nfloat reduceLightBleeding(float pMax, float amount) {\n return linstep(amount, 1.0, pMax);\n}\nfloat chebyshevUpperBound(vec2 moments, float mean, float minVariance, float lightBleedingReduction) {\n\tfloat variance = moments.y - (moments.x * moments.x);\n\tvariance = max(variance, minVariance);\n\tfloat d = mean - moments.x;\n\tfloat pMax = variance / (variance + (d * d));\n\tpMax = reduceLightBleeding(pMax, lightBleedingReduction);\n\treturn (mean <= moments.x ? 1.0 : pMax);\n}\nfloat calculateEVSM(vec3 moments, float Z, float vsmBias, float exponent) {\n\tZ = 2.0 * Z - 1.0;\n\tfloat warpedDepth = exp(exponent * Z);\n\tmoments.xy += vec2(warpedDepth, warpedDepth*warpedDepth) * (1.0 - moments.z);\n\tfloat VSMBias = vsmBias;\n\tfloat depthScale = VSMBias * exponent * warpedDepth;\n\tfloat minVariance1 = depthScale * depthScale;\n\treturn chebyshevUpperBound(moments.xy, warpedDepth, minVariance1, 0.1);\n}\n",skinBatchConstVS:"\nattribute float vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nmat4 getBoneMatrix(const in float i) {\n\tvec4 v1 = matrix_pose[int(3.0 * i)];\n\tvec4 v2 = matrix_pose[int(3.0 * i + 1.0)];\n\tvec4 v3 = matrix_pose[int(3.0 * i + 2.0)];\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinBatchTexVS:"\nattribute float vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nmat4 getBoneMatrix(const in float i) {\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tvec4 v1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tvec4 v2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tvec4 v3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, 1\n\t);\n}\n",skinConstVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform vec4 matrix_pose[BONE_LIMIT * 3];\nvoid getBoneMatrix(const in float i, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tv1 = matrix_pose[int(3.0 * i)];\n\tv2 = matrix_pose[int(3.0 * i + 1.0)];\n\tv3 = matrix_pose[int(3.0 * i + 2.0)];\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skinTexVS:"\nattribute vec4 vertex_boneWeights;\nattribute vec4 vertex_boneIndices;\nuniform highp sampler2D texture_poseMap;\nuniform vec4 texture_poseMapSize;\nvoid getBoneMatrix(const in float index, out vec4 v1, out vec4 v2, out vec4 v3) {\n\tfloat i = float(index);\n\tfloat j = i * 3.0;\n\tfloat dx = texture_poseMapSize.z;\n\tfloat dy = texture_poseMapSize.w;\n\t\n\tfloat y = floor(j * dx);\n\tfloat x = j - (y * texture_poseMapSize.x);\n\ty = dy * (y + 0.5);\n\tv1 = texture2D(texture_poseMap, vec2(dx * (x + 0.5), y));\n\tv2 = texture2D(texture_poseMap, vec2(dx * (x + 1.5), y));\n\tv3 = texture2D(texture_poseMap, vec2(dx * (x + 2.5), y));\n}\nmat4 getSkinMatrix(const in vec4 indices, const in vec4 weights) {\n\tvec4 a1, a2, a3;\n\tgetBoneMatrix(indices.x, a1, a2, a3);\n\tvec4 b1, b2, b3;\n\tgetBoneMatrix(indices.y, b1, b2, b3);\n\tvec4 c1, c2, c3;\n\tgetBoneMatrix(indices.z, c1, c2, c3);\n\tvec4 d1, d2, d3;\n\tgetBoneMatrix(indices.w, d1, d2, d3);\n\tvec4 v1 = a1 * weights.x + b1 * weights.y + c1 * weights.z + d1 * weights.w;\n\tvec4 v2 = a2 * weights.x + b2 * weights.y + c2 * weights.z + d2 * weights.w;\n\tvec4 v3 = a3 * weights.x + b3 * weights.y + c3 * weights.z + d3 * weights.w;\n\tfloat one = dot(weights, vec4(1.0));\n\treturn mat4(\n\t\tv1.x, v2.x, v3.x, 0,\n\t\tv1.y, v2.y, v3.y, 0,\n\t\tv1.z, v2.z, v3.z, 0,\n\t\tv1.w, v2.w, v3.w, one\n\t);\n}\n",skyboxEnvPS:"\nvarying vec3 vViewDir;\nuniform sampler2D texture_envAtlas;\nuniform float mipLevel;\nvoid main(void) {\n\tvec3 dir = vViewDir * vec3(-1.0, 1.0, 1.0);\n\tvec2 uv = toSphericalUv(normalize(dir));\n\tvec3 linear = $DECODE(texture2D(texture_envAtlas, mapRoughnessUv(uv, mipLevel)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxHDRPS:"\nvarying vec3 vViewDir;\nuniform samplerCube texture_cubeMap;\nvoid main(void) {\n\tvec3 dir=vViewDir;\n\tdir.x *= -1.0;\n\tvec3 linear = $DECODE(textureCube(texture_cubeMap, fixSeamsStatic(dir, $FIXCONST)));\n\tgl_FragColor = vec4(gammaCorrectOutput(toneMap(processEnvironment(linear))), 1.0);\n}\n",skyboxVS:"\nattribute vec3 aPosition;\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nuniform mat4 matrix_projectionSkybox;\nuniform mat3 cubeMapRotationMatrix;\nvarying vec3 vViewDir;\nvoid main(void) {\n\tmat4 view = matrix_view;\n\tview[3][0] = view[3][1] = view[3][2] = 0.0;\n\tgl_Position = matrix_projectionSkybox * view * vec4(aPosition, 1.0);\n\tgl_Position.z = gl_Position.w - 0.00001;\n\tvViewDir = aPosition * cubeMapRotationMatrix;\n}\n",specularPS:"\n#ifdef MAPCOLOR\nuniform vec3 material_specular;\n#endif\nvoid getSpecularity() {\n\tvec3 specularColor = vec3(1,1,1);\n\t#ifdef MAPCOLOR\n\tspecularColor *= material_specular;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularColor *= $DECODE(texture2DBias($SAMPLER, $UV, textureBias)).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularColor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularity = specularColor;\n}\n",sphericalPS:"\nconst float PI = 3.141592653589793;\nvec2 toSpherical(vec3 dir) {\n\treturn vec2(dir.xz == vec2(0.0) ? 0.0 : atan(dir.x, dir.z), asin(dir.y));\n}\nvec2 toSphericalUv(vec3 dir) {\n\tvec2 uv = toSpherical(dir) / vec2(PI * 2.0, PI) + 0.5;\n\treturn vec2(uv.x, 1.0 - uv.y);\n}\n",specularityFactorPS:"\n#ifdef MAPFLOAT\nuniform float material_specularityFactor;\n#endif\nvoid getSpecularityFactor() {\n\tfloat specularityFactor = 1.0;\n\t#ifdef MAPFLOAT\n\tspecularityFactor *= material_specularityFactor;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tspecularityFactor *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tspecularityFactor *= saturate(vVertexColor.$VC);\n\t#endif\n\tdSpecularityFactor = specularityFactor;\n}\n",spotPS:"\nfloat getSpotEffect(vec3 lightSpotDir, float lightInnerConeAngle, float lightOuterConeAngle, vec3 lightDirNorm) {\n\tfloat cosAngle = dot(lightDirNorm, lightSpotDir);\n\treturn smoothstep(lightOuterConeAngle, lightInnerConeAngle, cosAngle);\n}\n",startPS:"\nvoid main(void) {\n\tdReflection = vec4(0);\n\t#ifdef LIT_CLEARCOAT\n\tccSpecularLight = vec3(0);\n\tccReflection = vec3(0);\n\t#endif\n",startVS:"\nvoid main(void) {\n\tgl_Position = getPosition();\n",startNineSlicedPS:"\n\tnineSlicedUv = vUv0;\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n",startNineSlicedTiledPS:"\n\tvec2 tileMask = step(vMask, vec2(0.99999));\n\tvec2 tileSize = 0.5 * (innerOffset.xy + innerOffset.zw);\n\tvec2 tileScale = vec2(1.0) / (vec2(1.0) - tileSize);\n\tvec2 clampedUv = mix(innerOffset.xy * 0.5, vec2(1.0) - innerOffset.zw * 0.5, fract((vTiledUv - tileSize) * tileScale));\n\tclampedUv = clampedUv * atlasRect.zw + atlasRect.xy;\n\tnineSlicedUv = vUv0 * tileMask + clampedUv * (vec2(1.0) - tileMask);\n\tnineSlicedUv.y = 1.0 - nineSlicedUv.y;\n\t\n",storeEVSMPS:"\nfloat exponent = VSM_EXPONENT;\ndepth = 2.0 * depth - 1.0;\ndepth = exp(exponent * depth);\ngl_FragColor = vec4(depth, depth*depth, 1.0, 1.0);\n",tangentBinormalVS:"\nvec3 getTangent() {\n\treturn normalize(dNormalMatrix * vertex_tangent.xyz);\n}\nvec3 getBinormal() {\n\treturn cross(vNormalW, vTangentW) * vertex_tangent.w;\n}\n",TBNPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(normalize(tangent), normalize(binormal), normalize(normal));\n}\n",TBNderivativePS:"\nuniform float tbnBasis;\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec2 uv = $UV;\n\tvec3 dp1 = dFdx( vPositionW );\n\tvec3 dp2 = dFdy( vPositionW );\n\tvec2 duv1 = dFdx( uv );\n\tvec2 duv2 = dFdy( uv );\n\tvec3 dp2perp = cross( dp2, normal );\n\tvec3 dp1perp = cross( normal, dp1 );\n\tvec3 T = dp2perp * duv1.x + dp1perp * duv2.x;\n\tvec3 B = dp2perp * duv1.y + dp1perp * duv2.y;\n\tfloat denom = max( dot(T,T), dot(B,B) );\n\tfloat invmax = (denom == 0.0) ? 0.0 : tbnBasis / sqrt( denom );\n\tdTBN = mat3(T * invmax, -B * invmax, normal );\n}\n",TBNfastPS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tdTBN = mat3(tangent, binormal, normal);\n}\n",TBNObjectSpacePS:"\nvoid getTBN(vec3 tangent, vec3 binormal, vec3 normal) {\n\tvec3 B = cross(normal, vObjectSpaceUpW);\n\tvec3 T = cross(normal, B);\n\tif (dot(B,B)==0.0)\n\t{\n\t\tfloat major=max(max(normal.x, normal.y), normal.z);\n\t\tif (normal.x == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,1,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.y == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(0,0,1));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t\telse if (normal.z == major)\n\t\t{\n\t\t\tB=cross(normal, vec3(1,0,0));\n\t\t\tT=cross(normal, B);\n\t\t}\n\t}\n\tdTBN = mat3(normalize(T), normalize(B), normalize(normal));\n}\n",textureSamplePS:"\nvec4 texture2DSRGB(sampler2D tex, vec2 uv) {\n\treturn gammaCorrectInput(texture2D(tex, uv));\n}\nvec4 texture2DSRGB(sampler2D tex, vec2 uv, float bias) {\n\treturn gammaCorrectInput(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBM(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv) {\n\treturn decodeRGBM(texture2D(tex, uv));\n}\nvec3 texture2DRGBE(sampler2D tex, vec2 uv, float bias) {\n\treturn decodeRGBM(texture2D(tex, uv, bias));\n}\n",thicknessPS:"\n#ifdef MAPFLOAT\nuniform float material_thickness;\n#endif\nvoid getThickness() {\n\tdThickness = 1.0;\n\t#ifdef MAPFLOAT\n\tdThickness *= material_thickness;\n\t#endif\n\t#ifdef MAPTEXTURE\n\tdThickness *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\tdThickness *= saturate(vVertexColor.$VC);\n\t#endif\n}\n",tonemappingAcesPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tfloat tA = 2.51;\n\tfloat tB = 0.03;\n\tfloat tC = 2.43;\n\tfloat tD = 0.59;\n\tfloat tE = 0.14;\n\tvec3 x = color * exposure;\n\treturn (x*(tA*x+tB))/(x*(tC*x+tD)+tE);\n}\n",tonemappingAces2PS:"\nuniform float exposure;\nconst mat3 ACESInputMat = mat3(\n\t0.59719, 0.35458, 0.04823,\n\t0.07600, 0.90834, 0.01566,\n\t0.02840, 0.13383, 0.83777\n);\nconst mat3 ACESOutputMat = mat3(\n\t 1.60475, -0.53108, -0.07367,\n\t-0.10208, 1.10813, -0.00605,\n\t-0.00327, -0.07276, 1.07602\n);\nvec3 RRTAndODTFit(vec3 v) {\n\tvec3 a = v * (v + 0.0245786) - 0.000090537;\n\tvec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n\treturn a / b;\n}\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure / 0.6;\n\tcolor = color * ACESInputMat;\n\tcolor = RRTAndODTFit(color);\n\tcolor = color * ACESOutputMat;\n\tcolor = clamp(color, 0.0, 1.0);\n\treturn color;\n}\n",tonemappingFilmicPS:"\nconst float A = 0.15;\nconst float B = 0.50;\nconst float C = 0.10;\nconst float D = 0.20;\nconst float E = 0.02;\nconst float F = 0.30;\nconst float W = 11.2;\nuniform float exposure;\nvec3 uncharted2Tonemap(vec3 x) {\n return ((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\n}\nvec3 toneMap(vec3 color) {\n\tcolor = uncharted2Tonemap(color * exposure);\n\tvec3 whiteScale = 1.0 / uncharted2Tonemap(vec3(W,W,W));\n\tcolor = color * whiteScale;\n\treturn color;\n}\n",tonemappingHejlPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\tcolor *= exposure;\n\tconst float A = 0.22, B = 0.3, C = .1, D = 0.2, E = .01, F = 0.3;\n\tconst float Scl = 1.25;\n\tvec3 h = max( vec3(0.0), color - vec3(0.004) );\n\treturn (h*((Scl*A)*h+Scl*vec3(C*B,C*B,C*B))+Scl*vec3(D*E,D*E,D*E)) / (h*(A*h+vec3(B,B,B))+vec3(D*F,D*F,D*F)) - Scl*vec3(E/F,E/F,E/F);\n}\n",tonemappingLinearPS:"\nuniform float exposure;\nvec3 toneMap(vec3 color) {\n\treturn color * exposure;\n}\n",tonemappingNonePS:"\nvec3 toneMap(vec3 color) {\n\treturn color;\n}\n",transformVS:"\n#ifdef PIXELSNAP\nuniform vec4 uScreenSize;\n#endif\n#ifdef SCREENSPACE\nuniform float projectionFlipY;\n#endif\n#ifdef MORPHING\nuniform vec4 morph_weights_a;\nuniform vec4 morph_weights_b;\n#endif\n#ifdef MORPHING_TEXTURE_BASED\n\tuniform vec4 morph_tex_params;\n\t#ifdef WEBGPU\n\t\tivec2 getTextureMorphCoords() {\n\t\t\tivec2 textureSize = ivec2(morph_tex_params.xy);\n\t\t\tint morphGridV = int(morph_vertex_id / textureSize.x);\n\t\t\tint morphGridU = int(morph_vertex_id - (morphGridV * textureSize.x));\n\t\t\tmorphGridV = textureSize.y - morphGridV - 1;\n\t\t\treturn ivec2(morphGridU, morphGridV);\n\t\t}\n\t#else\n\t\tvec2 getTextureMorphCoords() {\n\t\t\tvec2 textureSize = morph_tex_params.xy;\n\t\t\tvec2 invTextureSize = morph_tex_params.zw;\n\t\t\tfloat morphGridV = floor(morph_vertex_id * invTextureSize.x);\n\t\t\tfloat morphGridU = morph_vertex_id - (morphGridV * textureSize.x);\n\t\t\treturn vec2(morphGridU, morphGridV) * invTextureSize + (0.5 * invTextureSize);\n\t\t}\n\t#endif\n#endif\n#ifdef MORPHING_TEXTURE_BASED_POSITION\nuniform highp sampler2D morphPositionTex;\n#endif\nmat4 getModelMatrix() {\n\t#ifdef DYNAMICBATCH\n\treturn getBoneMatrix(vertex_boneIndices);\n\t#elif defined(SKIN)\n\treturn matrix_model * getSkinMatrix(vertex_boneIndices, vertex_boneWeights);\n\t#elif defined(INSTANCING)\n\treturn mat4(instance_line1, instance_line2, instance_line3, instance_line4);\n\t#else\n\treturn matrix_model;\n\t#endif\n}\nvec4 getPosition() {\n\tdModelMatrix = getModelMatrix();\n\tvec3 localPos = vertex_position;\n\t#ifdef NINESLICED\n\tlocalPos.xz *= outerScale;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tlocalPos.xz += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tvTiledUv = (localPos.xz - outerScale + innerOffset.xy) * -0.5 + 1.0;\n\tlocalPos.xz *= -0.5;\n\tlocalPos = localPos.xzy;\n\t#endif\n\t#ifdef MORPHING\n\t#ifdef MORPHING_POS03\n\tlocalPos.xyz += morph_weights_a[0] * morph_pos0;\n\tlocalPos.xyz += morph_weights_a[1] * morph_pos1;\n\tlocalPos.xyz += morph_weights_a[2] * morph_pos2;\n\tlocalPos.xyz += morph_weights_a[3] * morph_pos3;\n\t#endif\n\t#ifdef MORPHING_POS47\n\tlocalPos.xyz += morph_weights_b[0] * morph_pos4;\n\tlocalPos.xyz += morph_weights_b[1] * morph_pos5;\n\tlocalPos.xyz += morph_weights_b[2] * morph_pos6;\n\tlocalPos.xyz += morph_weights_b[3] * morph_pos7;\n\t#endif\n\t#endif\n\t#ifdef MORPHING_TEXTURE_BASED_POSITION\n\t\t#ifdef WEBGPU\n\t\t\tivec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texelFetch(morphPositionTex, ivec2(morphUV), 0).xyz;\n\t\t#else\n\t\t\tvec2 morphUV = getTextureMorphCoords();\n\t\t\tvec3 morphPos = texture2D(morphPositionTex, morphUV).xyz;\n\t\t#endif\n\t\tlocalPos += morphPos;\n\t#endif\n\tvec4 posW = dModelMatrix * vec4(localPos, 1.0);\n\t#ifdef SCREENSPACE\n\tposW.zw = vec2(0.0, 1.0);\n\t#endif\n\tdPositionW = posW.xyz;\n\tvec4 screenPos;\n\t#ifdef UV1LAYOUT\n\tscreenPos = vec4(vertex_texCoord1.xy * 2.0 - 1.0, 0.5, 1);\n\t#else\n\t#ifdef SCREENSPACE\n\tscreenPos = posW;\n\tscreenPos.y *= projectionFlipY;\n\t#else\n\tscreenPos = matrix_viewProjection * posW;\n\t#endif\n\t#ifdef PIXELSNAP\n\tscreenPos.xy = (screenPos.xy * 0.5) + 0.5;\n\tscreenPos.xy *= uScreenSize.xy;\n\tscreenPos.xy = floor(screenPos.xy);\n\tscreenPos.xy *= uScreenSize.zw;\n\tscreenPos.xy = (screenPos.xy * 2.0) - 1.0;\n\t#endif\n\t#endif\n\treturn screenPos;\n}\nvec3 getWorldPosition() {\n\treturn dPositionW;\n}\n",transformDeclVS:"\nattribute vec3 vertex_position;\nuniform mat4 matrix_model;\nuniform mat4 matrix_viewProjection;\nvec3 dPositionW;\nmat4 dModelMatrix;\n",transmissionPS:"\n#ifdef MAPFLOAT\nuniform float material_refraction;\n#endif\nvoid getRefraction() {\n\tfloat refraction = 1.0;\n\t#ifdef MAPFLOAT\n\trefraction = material_refraction;\n\t#endif\n\t#ifdef MAPTEXTURE\n\trefraction *= texture2DBias($SAMPLER, $UV, textureBias).$CH;\n\t#endif\n\t#ifdef MAPVERTEX\n\trefraction *= saturate(vVertexColor.$VC);\n\t#endif\n\tdTransmission = refraction;\n}\n",uv0VS:"\n#ifdef NINESLICED\nvec2 getUv0() {\n\tvec2 uv = vertex_position.xz;\n\tvec2 positiveUnitOffset = clamp(vertex_position.xz, vec2(0.0), vec2(1.0));\n\tvec2 negativeUnitOffset = clamp(-vertex_position.xz, vec2(0.0), vec2(1.0));\n\tuv += (-positiveUnitOffset * innerOffset.xy + negativeUnitOffset * innerOffset.zw) * vertex_texCoord0.xy;\n\tuv = uv * -0.5 + 0.5;\n\tuv = uv * atlasRect.zw + atlasRect.xy;\n\tvMask = vertex_texCoord0.xy;\n\treturn uv;\n}\n#else\nvec2 getUv0() {\n\treturn vertex_texCoord0;\n}\n#endif\n",uv1VS:"\nvec2 getUv1() {\n\treturn vertex_texCoord1;\n}\n",viewDirPS:"\nvoid getViewDir() {\n\tdViewDirW = normalize(view_position - vPositionW);\n}\n",viewNormalVS:"\n#ifndef VIEWMATRIX\n#define VIEWMATRIX\nuniform mat4 matrix_view;\n#endif\nvec3 getViewNormal() {\n\treturn mat3(matrix_view) * vNormalW;\n}\n",webgpuPS:sr,webgpuVS:rr},To=new Hs;function Ao(t){return To.get(t)}function Co(t,e){To.get(t,(function(){return e}))}var Eo=function(){function t(){}return t.begin=function(){return"void main(void)\n{\n"},t.end=function(){return"}\n"},t.skinCode=function(t,e){return e||(e=wo),t.supportsBoneTextures?e.skinTexVS:"#define BONE_LIMIT "+t.getBoneLimit()+"\n"+e.skinConstVS},t.fogCode=function(t,e){return e||(e=wo),"linear"===t?e.fogLinearPS?e.fogLinearPS:wo.fogLinearPS:"exp"===t?e.fogExpPS?e.fogExpPS:wo.fogExpPS:"exp2"===t?e.fogExp2PS?e.fogExp2PS:wo.fogExp2PS:e.fogNonePS?e.fogNonePS:wo.fogNonePS},t.gammaCode=function(t,e){return e||(e=wo),1===t||2===t?e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS:3===t?"#define HDR\n"+(e.gamma2_2PS?e.gamma2_2PS:wo.gamma2_2PS):e.gamma1_0PS?e.gamma1_0PS:wo.gamma1_0PS},t.tonemapCode=function(t,e){return e||(e=wo),1===t?e.tonemappingFilmicPS?e.tonemappingFilmicPS:wo.tonemappingFilmicPS:0===t?e.tonemappingLinearPS?e.tonemappingLinearPS:wo.tonemappingLinearPS:2===t?e.tonemappingHejlPS?e.tonemappingHejlPS:wo.tonemappingHejlPS:3===t?e.tonemappingAcesPS?e.tonemappingAcesPS:wo.tonemappingAcesPS:4===t?e.tonemappingAces2PS?e.tonemappingAces2PS:wo.tonemappingAces2PS:e.tonemapingNonePS?e.tonemapingNonePS:wo.tonemappingNonePS},t}();function Mo(t,e,i,n){return void 0===n&&(n=!1),new vs(t,hr.createDefinition(t,{name:e+"_"+i,vertexCode:wo[e],fragmentCode:wo[i],useTransformFeedback:n}))}function Po(t,e,i,n,s,r){void 0===r&&(r=!1);var a=Ao(t),o=a.getCachedShader(n);return o||(o=new vs(t,hr.createDefinition(t,{name:n,vertexCode:e,fragmentCode:i,attributes:s,useTransformFeedback:r})),a.setCachedShader(n,o)),o}var Ro=function(t){function e(e,i){var n;return(n=t.call(this)||this).key=e,n.shaderDefinition=i,n}S(e,t);var i=e.prototype;return i.generateKey=function(t){return this.key},i.createShaderDefinition=function(t,e){return this.shaderDefinition},e}(Eo);function Io(t,e){var i,n=t.definition,s=(null!=(i=n.name)?i:"shader")+"-id-"+t.id,r=new Ro(s,n),a="shader",o=Ao(t.device);o.register(a,r);var h=o.getProgram(a,{},e);return o.unregister(a),h}wo.createShader=Mo,wo.createShaderFromCode=Po;var Lo={type:Ce,base:0,count:4,indexed:!1},Do=new Dt,Oo=new Dt,ko=function(){function t(t){this.uniformBuffer=void 0,this.bindGroup=void 0;var e=t.device;if(this.shader=t,e.supportsUniformBuffers){var i=new xo;this.shader=Io(t,i);var n=this.shader.meshUniformBufferFormat;n&&(this.uniformBuffer=new As(e,n,!1));var s=this.shader.meshBindGroupFormat;this.bindGroup=new xs(e,s,this.uniformBuffer)}}var e=t.prototype;return e.destroy=function(){var t,e;null==(t=this.uniformBuffer)||t.destroy(),this.uniformBuffer=null,null==(e=this.bindGroup)||e.destroy(),this.bindGroup=null},e.render=function(t,e){var i,n=this.shader.device;t&&(Do.set(n.vx,n.vy,n.vw,n.vh),Oo.set(n.sx,n.sy,n.sw,n.sh),e=null!=(i=e)?i:t,n.setViewport(t.x,t.y,t.z,t.w),n.setScissor(e.x,e.y,e.z,e.w));n.setVertexBuffer(n.quadVertexBuffer,0);var s=this.shader;if(n.setShader(s),n.supportsUniformBuffers){var r,a=this.bindGroup;null==(r=a.defaultUniformBuffer)||r.update(),a.update(),n.setBindGroup(0,a)}n.draw(Lo),t&&(n.setViewport(Do.x,Do.y,Do.z,Do.w),n.setScissor(Oo.x,Oo.y,Oo.z,Oo.w))},t}(),Fo=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).quad=i,r.rect=n,r.scissorRect=s,r}return S(e,t),e.prototype.execute=function(){var t=this.device;t.setCullMode(he),t.setDepthState(Hi.NODEPTH),t.setStencilState(null,null),this.quad.render(this.rect,this.scissorRect)},e}(Er),Bo=new Dt;function Uo(t,e,i,n,s){var r=new ko(i);n||((n=Bo).x=0,n.y=0,n.z=e?e.width:t.width,n.w=e?e.height:t.height);var a=new Fo(t,r,n,s);a.init(e),a.colorOps.clear=!1,a.depthStencilOps.clearDepth=!1,t.isWebGPU&&null===e&&t.samples>1&&(a.colorOps.store=!0),a.render(),r.destroy()}var No=new Hs,zo=function(){function t(t,e,i){void 0===i&&(i={}),this.index=void 0,this.name=void 0,this.shaderDefine=void 0,this.name=t,this.index=e,Object.assign(this,i),this.initShaderDefines()}return t.prototype.initShaderDefines=function(){var t;this.isShadow?t="SHADOW":this.isForward?t="FORWARD":2===this.index?t="DEPTH":3===this.index&&(t="PICK");var e=t?"#define "+t+"_PASS\n":"",i="#define "+this.name.toUpperCase()+"_PASS\n";this.shaderDefines=e+i},t}(),Vo=function(){function t(){var t=this;this.passesNamed=new Map,this.passesIndexed=[],this.nextIndex=0;var e=function(e,i,n){t.allocate(e,n)};e("forward",0,{isForward:!0}),e("forward_hdr",0,{isForward:!0}),e("depth"),e("pick"),e("shadow")}t.get=function(e){return No.get(e,(function(){return new t}))};var e=t.prototype;return e.allocate=function(t,e){var i=this.passesNamed.get(t);return void 0===i&&(i=new zo(t,this.nextIndex,e),this.passesNamed.set(i.name,i),this.passesIndexed[i.index]=i,this.nextIndex++),i},e.getByIndex=function(t){return this.passesIndexed[t]},e.getByName=function(t){return this.passesNamed.get(t)},t}(),Go=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){var e="basic";return t.fog&&(e+="_fog"),t.alphaTest&&(e+="_atst"),t.vertexColors&&(e+="_vcol"),t.diffuseMap&&(e+="_diff"),t.skin&&(e+="_skin"),t.screenSpace&&(e+="_ss"),t.useInstancing&&(e+="_inst"),t.useMorphPosition&&(e+="_morphp"),t.useMorphNormal&&(e+="_morphn"),t.useMorphTextureBased&&(e+="_morpht"),e+="_"+t.pass},i.createShaderDefinition=function(t,e){var i={vertex_position:Ee};e.skin&&(i.vertex_boneWeights=Re,i.vertex_boneIndices=Ie),e.vertexColors&&(i.vertex_color=Le),e.diffuseMap&&(i.vertex_texCoord0=Oe);var n=Vo.get(t).getByIndex(e.pass).shaderDefines,s=n;s+=wo.transformDeclVS,e.skin?(s+=Eo.skinCode(t),s+=wo.transformSkinnedVS):s+=wo.transformVS,e.vertexColors&&(s+="attribute vec4 vertex_color;\n",s+="varying vec4 vColor;\n"),e.diffuseMap&&(s+="attribute vec2 vertex_texCoord0;\n",s+="varying vec2 vUv0;\n"),2===e.pass&&(s+="varying float vDepth;\n",s+="#ifndef VIEWMATRIX\n",s+="#define VIEWMATRIX\n",s+="uniform mat4 matrix_view;\n",s+="#endif\n",s+="#ifndef CAMERAPLANES\n",s+="#define CAMERAPLANES\n",s+="uniform vec4 camera_params;\n\n",s+="#endif\n"),s+=Eo.begin(),s+=" gl_Position = getPosition();\n",2===e.pass&&(s+=" vDepth = -(matrix_view * vec4(getWorldPosition(),1.0)).z * camera_params.x;\n"),e.vertexColors&&(s+=" vColor = vertex_color;\n"),e.diffuseMap&&(s+=" vUv0 = vertex_texCoord0;\n"),s+=Eo.end();var r=n;return e.vertexColors?r+="varying vec4 vColor;\n":r+="uniform vec4 uColor;\n",e.diffuseMap&&(r+="varying vec2 vUv0;\n",r+="uniform sampler2D texture_diffuseMap;\n"),e.fog&&(r+=Eo.fogCode(e.fog)),e.alphaTest&&(r+=wo.alphaTestPS),2===e.pass&&(r+="varying float vDepth;\n",r+=wo.packDepthPS),r+=Eo.begin(),e.vertexColors?r+=" gl_FragColor = vColor;\n":r+=" gl_FragColor = uColor;\n",e.diffuseMap&&(r+=" gl_FragColor *= texture2D(texture_diffuseMap, vUv0);\n"),e.alphaTest&&(r+=" alphaTest(gl_FragColor.a);\n"),3!==e.pass&&(2===e.pass?r+=" gl_FragColor = packFloat(vDepth);\n":e.fog&&(r+=" glFragColor.rgb = addFog(gl_FragColor.rgb);\n")),r+=Eo.end(),hr.createDefinition(t,{name:"BasicShader",attributes:i,vertexCode:s,fragmentCode:r})},e}(Eo),Ho=new Go,Wo=new Hs;function Xo(t){return Wo.get(t)}var qo=[];qo[0]={src:1,dst:1,op:2},qo[3]={src:1,dst:0,op:0},qo[2]={src:6,dst:8,op:0},qo[4]={src:1,dst:8,op:0},qo[1]={src:1,dst:1,op:0},qo[6]={src:6,dst:1,op:0},qo[7]={src:4,dst:2,op:0},qo[8]={src:5,dst:1,op:0},qo[5]={src:4,dst:0,op:0},qo[9]={src:1,dst:1,op:3},qo[10]={src:1,dst:1,op:4};var jo=0,Yo=function(){function t(){this._shader=null,this.meshInstances=[],this.name="Untitled",this.userId="",this.id=jo++,this.variants=new Map,this.parameters={},this.alphaTest=0,this.alphaToCoverage=!1,this._blendState=new Gi,this._depthState=new Hi,this.cull=1,this.stencilFront=null,this.stencilBack=null,this.depthBias=0,this.slopeDepthBias=0,this._shaderVersion=0,this._scene=null,this.dirty=!0}var e=t.prototype;return e._updateTransparency=function(){for(var t=this.transparent,e=this.meshInstances,i=0;i0,vertexColors:this.vertexColors,diffuseMap:!!this.colorMap,pass:s},c=new xo(a,o,h),u=Ao(t);return u.register("basic",Ho),u.getProgram("basic",l,c,this.userId)},e}(Yo),Zo=function(){function t(t,e,i){this._aabb=new jt,this.origMeshInstances=void 0,this.meshInstance=null,this.dynamic=void 0,this.batchGroupId=void 0,this.origMeshInstances=t,this.dynamic=e,this.batchGroupId=i}var e=t.prototype;return e.destroy=function(t,e){this.meshInstance&&(this.removeFromLayers(t,e),this.meshInstance.destroy(),this.meshInstance=null)},e.addToLayers=function(t,e){for(var i=0;i=0;i--)this.matrices[i].mulAffine2($o,this.bones[i].getWorldTransform()),this.matrices[i].mulAffine2(this.matrices[i],this.skin.inverseBindPose[i])}},e.updateMatrices=function(t,e){this._updateBeforeCull&&this._updateMatrices(t,e)},e.updateMatrixPalette=function(t,e){this._updateMatrices(t,e);for(var i=this.matrixPalette,n=this.bones.length,s=0;s=0?t.insertChild(this,e):t.addChild(this))},i.setLocalEulerAngles=function(t,e,i){this.localRotation.setFromEulerAngles(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalPosition=function(t,e,i){t instanceof Et?this.localPosition.copy(t):this.localPosition.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i.setLocalRotation=function(t,e,i,n){t instanceof Vt?this.localRotation.copy(t):this.localRotation.set(t,e,i,n),this._dirtyLocal||this._dirtifyLocal()},i.setLocalScale=function(t,e,i){t instanceof Et?this.localScale.copy(t):this.localScale.set(t,e,i),this._dirtyLocal||this._dirtifyLocal()},i._dirtifyLocal=function(){this._dirtyLocal||(this._dirtyLocal=!0,this._dirtyWorld||this._dirtifyWorld())},i._unfreezeParentToRoot=function(){for(var t=this._parent;t;)t._frozen=!1,t=t._parent},i._dirtifyWorld=function(){this._dirtyWorld||this._unfreezeParentToRoot(),this._dirtifyWorldInternal()},i._dirtifyWorldInternal=function(){if(!this._dirtyWorld){this._frozen=!1,this._dirtyWorld=!0;for(var t=0;t>16},set:function(t){var e=65535&this._shaderDefs;this._updateShaderDefs(e|t<<16)}},{key:"instancingCount",get:function(){return this.instancingData?this.instancingData.count:0},set:function(t){this.instancingData&&(this.instancingData.count=t)}}]),t}();function Mh(t,e){if(t&&!e)return!1;if(!t&&e)return!1;if((t=t.data)===(e=e.data))return!0;if(t instanceof Float32Array&&e instanceof Float32Array){if(t.length!==e.length)return!1;for(var i=0;i=0&&(n._obj[t].splice(s,1),this.markGroupDirty(e))}},e._extractRender=function(t,e,i,n){return t.render&&(e=n[t.render.batchGroupId]=e.concat(t.render.meshInstances),t.render.removeFromLayers()),e},e._extractModel=function(t,e,i,n){return t.model&&t.model.model&&(e=n[t.model.batchGroupId]=e.concat(t.model.meshInstances),t.model.removeModelFromLayers()),e},e._extractElement=function(t,e,i){if(t.element){var n=!1;t.element._text&&t.element._text._model.meshInstances.length>0?(e.push(t.element._text._model.meshInstances[0]),t.element.removeModelFromLayers(t.element._text._model),n=!0):t.element._image&&(e.push(t.element._image._renderable.meshInstance),t.element.removeModelFromLayers(t.element._image._renderable.model),t.element._image._renderable.unmaskMeshInstance&&(e.push(t.element._image._renderable.unmaskMeshInstance),t.element._image._renderable.unmaskMeshInstance.stencilFront&&t.element._image._renderable.unmaskMeshInstance.stencilBack||(t.element._dirtifyMask(),t.element._onPrerender())),n=!0),n&&(i._ui=!0)}},e._collectAndRemoveMeshInstances=function(t,e){for(var i=0;i0;){u[d]=[p[0]],f=[];var _=p[0].material,g=p[0].layer,v=p[0]._shaderDefs,y=p[0].parameters,x=p[0].stencilFront,S=p[0].mesh.vertexBuffer.getNumVertices(),b=p[0].drawOrder;h.copy(p[0].aabb);var w=Dh(p[0]),T=p[0].mesh.vertexBuffer.format.batchingHash,A=p[0].mesh.primitive[0].indexed;c=null;for(var C=1;C=a){f=f.concat(p.slice(C));break}_!==E.material||g!==E.layer||T!==E.mesh.vertexBuffer.format.batchingHash||A!==E.mesh.primitive[0].indexed||v!==E._shaderDefs||S+E.mesh.vertexBuffer.getNumVertices()>o?m(E):(l.copy(h),l.add(E.aabb),l.halfExtents.x>r||l.halfExtents.y>r||l.halfExtents.z>r?m(E):(!x||(s=E.stencilFront)&&x.func===s.func&&x.zpass===s.zpass)&&w===Dh(E)&&Ph(y,E.parameters)?n&&c&&c.intersects(E.aabb)&&E.drawOrder!==b?m(E):(h.add(E.aabb),S+=E.mesh.vertexBuffer.getNumVertices(),u[d].push(E)):m(E))}d++,p=f}return u},e.collectBatchedMeshData=function(t,e){for(var i=null,n=0,s=0,r=null,a=0;a=3)if(s===Ee)for(var A=0;A0&&r.setIndices(S),r.update(4,!1),e&&((p=p.clone()).chunks.transformVS=this.transformVS,p.chunks.skinTexVS=this.skinTexVS,p.chunks.skinConstVS=this.skinConstVS,p.update());var I=new Eh(r,p,this.rootNode);I.castShadow=h.origMeshInstances[0].castShadow,I.parameters=h.origMeshInstances[0].parameters,I.layer=h.origMeshInstances[0].layer,I._shaderDefs=h.origMeshInstances[0]._shaderDefs,I.cull=h.origMeshInstances[0].cull;var L=this._batchGroups[i];if(L&&L._ui&&(I.cull=!1),e){for(var D=[],O=0;O0&&this.generate(this._dirtyGroups);for(var t=0;t1&&(h=pe,o=!1));var l=null!=(t=null==(e=r.renderTarget)?void 0:e.depthBuffer)?t:null==(i=r.renderTarget)?void 0:i.colorBuffer;this.shouldReallocate(this.depthRenderTarget,l)&&(this.releaseRenderTarget(this.depthRenderTarget),this.depthRenderTarget=this.allocateRenderTarget(this.depthRenderTarget,r.renderTarget,a,h,o));var c=o?this.depthRenderTarget.depthBuffer:this.depthRenderTarget.colorBuffer;Uh.forEach((function(t){return a.scope.resolve(t).setValue(c)}))},i.execute=function(){var t=this.device;if(t.isWebGL2&&t.renderTarget.samples>1){var e=t.renderTarget.impl._glFrameBuffer,i=this.depthRenderTarget;t.renderTarget=i,t.updateBegin(),this.depthRenderTarget.impl.internalResolve(t,e,i.impl._glFrameBuffer,this.depthRenderTarget,t.gl.DEPTH_BUFFER_BIT)}else t.copyRenderTarget(t.renderTarget,this.depthRenderTarget,!1,!0)},e}(Er),zh=new gt(254/255,254/255,254/255,254/255),Vh=[],Gh=[[],[],[]],Hh=["uSceneDepthMap","uDepthMap"],Wh=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).renderer=i,s.camera=n,s}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.releaseRenderTarget(this.renderTarget)},i.update=function(t){this.scene=t},i.shouldReallocate=function(t,e){var i=e.width,n=e.height;return!t||i!==t.width||n!==t.height},i.allocateRenderTarget=function(t,e,i){var n,s,r=new Us(i,{name:Hh[0],format:7,width:null!=(n=null==e?void 0:e.width)?n:this.device.width,height:null!=(s=null==e?void 0:e.height)?s:this.device.height,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1});return t?(t.destroyFrameBuffers(),t._colorBuffer=r,t._colorBuffers=[r]):t=new ln({name:Hh[0]+"RT}",colorBuffer:r,depth:!0,stencil:!1}),t},i.releaseRenderTarget=function(t){t&&(t.destroyTextureBuffers(),t.destroy())},i.before=function(){var t,e=this.camera,i=this.device,n=null!=(t=e.renderTarget)?t:i.backBuffer;if(this.shouldReallocate(this.renderTarget,n)){var s;null==(s=this.renderTarget)||s.destroyTextureBuffers();var r=this.allocateRenderTarget(this.renderTarget,e.renderTarget,i);this.renderTarget?this.renderTarget=r:(this.init(r),this.setClearColor(zh),this.setClearDepth(1))}var a=this.renderTarget.colorBuffer;Hh.forEach((function(t){return i.scope.resolve(t).setValue(a)}))},i.execute=function(){for(var t=this.device,e=this.renderer,i=this.camera,n=this.scene,s=this.renderTarget,r=n.layers.layerList,a=n.layers.subLayerEnabled,o=n.layers.subLayerList,h=0;h0,t.blendType=e.blendType,t.screenSpace=n&&0!=(n&qa),t.skin=n&&0!=(2&n),t.useInstancing=n&&0!=(n&Wa),t.useMorphPosition=n&&0!=(n&Ya),t.useMorphNormal=n&&0!=(n&Ka),t.useMorphTextureBased=n&&0!=(n&Za),t.hasTangents=n&&0!=(n&ja),t.nineSlicedMode=e.nineSlicedMode||0,e.useLighting&&i.clusteredLightingEnabled?(t.clusteredLightingEnabled=!0,t.clusteredLightingCookiesEnabled=i.lighting.cookiesEnabled,t.clusteredLightingShadowsEnabled=i.lighting.shadowsEnabled,t.clusteredLightingShadowType=i.lighting.shadowType,t.clusteredLightingAreaLightsEnabled=i.lighting.areaLightsEnabled):(t.clusteredLightingEnabled=!1,t.clusteredLightingCookiesEnabled=!1,t.clusteredLightingShadowsEnabled=!1,t.clusteredLightingAreaLightsEnabled=!1)},t.updateMaterialOptions=function(t,e){t.useAmbientTint=!1,t.separateAmbient=!1,t.customFragmentShader=null,t.pixelSnap=e.pixelSnap,t.shadingModel=e.shadingModel,t.ambientSH=e.ambientSH,t.fastTbn=e.fastTbn,t.twoSidedLighting=e.twoSidedLighting,t.occludeDirect=e.occludeDirect,t.occludeSpecular=e.occludeSpecular,t.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.useMsdf=!1,t.msdfTextAttribute=!1,t.alphaToCoverage=e.alphaToCoverage,t.opacityFadesSpecular=e.opacityFadesSpecular,t.cubeMapProjection=0,t.conserveEnergy=e.conserveEnergy&&1===e.shadingModel,t.useSpecular=e.hasSpecular,t.useSpecularityFactor=e.hasSpecularityFactor,t.enableGGXSpecular=e.ggxSpecular,t.fresnelModel=e.fresnelModel,t.useRefraction=e.hasRefraction,t.useClearCoat=e.hasClearCoat,t.useSheen=e.hasSheen,t.useIridescence=e.hasIrridescence,t.useMetalness=e.hasMetalness,t.useDynamicRefraction=e.dynamicRefraction,t.vertexColors=!1,t.lightMapEnabled=e.hasLighting,t.dirLightMapEnabled=e.dirLightMap,t.useHeights=e.hasHeights,t.useNormals=e.hasNormals,t.useClearCoatNormals=e.hasClearCoatNormals,t.useAo=e.hasAo,t.diffuseMapEnabled=e.hasDiffuseMap},t.updateEnvOptions=function(t,e,i){t.fog=e.useFog?i.fog:"none",t.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.fixSeams=!1,e.useSkybox&&i.envAtlas&&i.skybox?(t.reflectionSource="envAtlasHQ",t.reflectionEncoding=i.envAtlas.encoding,t.reflectionCubemapEncoding=i.skybox.encoding):e.useSkybox&&i.envAtlas?(t.reflectionSource="envAtlas",t.reflectionEncoding=i.envAtlas.encoding):e.useSkybox&&i.skybox?(t.reflectionSource="cubeMap",t.reflectionEncoding=i.skybox.encoding):(t.reflectionSource=null,t.reflectionEncoding=null),e.ambientSH?(t.ambientSource="ambientSH",t.ambientEncoding=null):t.reflectionSource&&i.envAtlas?(t.ambientSource="envAtlas",t.ambientEncoding=i.envAtlas.encoding):(t.ambientSource="constant",t.ambientEncoding=null);var n=!!t.reflectionSource;t.skyboxIntensity=n&&(1!==i.skyboxIntensity||i.physicalUnits),t.useCubeMapRotation=n&&i._skyboxRotationShaderInclude},t.updateLightingOptions=function(e,i,n,s){if(e.lightMapWithoutAmbient=!1,i.useLighting){var r=[],a=n?n>>16:1;e.lightMaskDynamic=!!(1&a),e.lightMapWithoutAmbient=!1,s&&(t.collectLights(0,s[0],r,a),t.collectLights(1,s[1],r,a),t.collectLights(2,s[2],r,a)),e.lights=r}else e.lights=[];0!==e.lights.length&&0==(1&n)||(e.noShadow=!0)},t.collectLights=function(t,e,i,n){for(var s=0;s8?t.FORMAT_FLOAT:t.FORMAT_8BIT,t.useTexelFetch=e.supportsTextureFetch,t.initShaderDefines()},t.createTexture=function(t,e,i,n,s){return new Us(t,{name:s,width:e,height:i,mipmaps:!1,format:n,addressU:1,addressV:1,type:ri,magFilter:0,minFilter:0,anisotropy:1})};var e=t.prototype;return e.destroy=function(){this.lightsTexture8&&(this.lightsTexture8.destroy(),this.lightsTexture8=null),this.lightsTextureFloat&&(this.lightsTextureFloat.destroy(),this.lightsTextureFloat=null)},e.setCompressionRanges=function(t,e){this.invMaxColorValue=1/e,this.invMaxAttenuation=1/t},e.setBounds=function(t,e){this.boundsMin.copy(t),this.boundsDelta.copy(e)},e.uploadTextures=function(){this.lightsTextureFloat&&(this.lightsTextureFloat.lock().set(this.lightsFloat),this.lightsTextureFloat.unlock()),this.lightsTexture8.lock().set(this.lights8),this.lightsTexture8.unlock()},e.updateUniforms=function(){this._lightsTexture8Id.setValue(this.lightsTexture8),t.lightTextureFormat===t.FORMAT_FLOAT&&this._lightsTextureFloatId.setValue(this.lightsTextureFloat),this._lightsTextureInvSizeId.setValue(this._lightsTextureInvSizeData)},e.getSpotDirection=function(t,e){e._node.getWorldTransform().getY(t).mulScalar(-1),t.normalize()},e.getLightAreaSizes=function(t){var e=t._node.getWorldTransform();return e.transformVector(ll,ol),hl[0]=ol.x,hl[1]=ol.y,hl[2]=ol.z,e.transformVector(cl,ol),hl[3]=ol.x,hl[4]=ol.y,hl[5]=ol.z,hl},e.addLightDataFlags=function(t,e,i,n,s,r){t[e+0]=n?255:0,t[e+1]=64*i._shape,t[e+2]=255*i._falloffMode,t[e+3]=s?255*r:0},e.addLightDataColor=function(t,e,i,n,s){var r=this.invMaxColorValue,a=n?i._linearFinalColor:i._finalColor;Ct.float2Bytes(a[0]*r,t,e+0,2),Ct.float2Bytes(a[1]*r,t,e+2,2),Ct.float2Bytes(a[2]*r,t,e+4,2),t[e+6]=s?255:0;var o=!!(1&i.mask),h=!!(2&i.mask);t[e+7]=o&&h?127:h?255:0},e.addLightDataSpotAngles=function(t,e,i){Ct.float2Bytes(.499999*i._innerConeAngleCos+.5,t,e+0,2),Ct.float2Bytes(.499999*i._outerConeAngleCos+.5,t,e+2,2)},e.addLightDataShadowBias=function(t,e,i){var n=i.getRenderData(null,0),s=i._getUniformBiasValues(n);Ct.float2BytesRange(s.bias,t,e,-1,20,2),Ct.float2Bytes(s.normalBias,t,e+2,2)},e.addLightDataPositionRange=function(t,e,i,n){var s=ol.sub2(n,this.boundsMin).div(this.boundsDelta);Ct.float2Bytes(s.x,t,e+0,4),Ct.float2Bytes(s.y,t,e+4,4),Ct.float2Bytes(s.z,t,e+8,4),Ct.float2Bytes(i.attenuationEnd*this.invMaxAttenuation,t,e+12,4)},e.addLightDataSpotDirection=function(t,e,i){this.getSpotDirection(ol,i),Ct.float2Bytes(.499999*ol.x+.5,t,e+0,4),Ct.float2Bytes(.499999*ol.y+.5,t,e+4,4),Ct.float2Bytes(.499999*ol.z+.5,t,e+8,4)},e.addLightDataLightProjMatrix=function(t,e,i){for(var n=i.data,s=0;s<12;s++)Ct.float2BytesRange(n[s],t,e+4*s,-2,2,4);for(var r=12;r<16;r++)Ct.float2MantissaExponent(n[r],t,e+4*r,4)},e.addLightDataCookies=function(t,e,i){var n="rgb"===i._cookieChannel;if(t[e+0]=Math.floor(255*i.cookieIntensity),t[e+1]=n?255:0,!n){var s=i._cookieChannel;t[e+4]="rrr"===s?255:0,t[e+5]="ggg"===s?255:0,t[e+6]="bbb"===s?255:0,t[e+7]="aaa"===s?255:0}},e.addLightAtlasViewport=function(t,e,i){Ct.float2Bytes(i.x,t,e+0,2),Ct.float2Bytes(i.y,t,e+2,2),Ct.float2Bytes(i.z/3,t,e+4,2)},e.addLightAreaSizes=function(t,e,i){for(var n=this.getLightAreaSizes(i),s=0;s<6;s++)Ct.float2MantissaExponent(n[s],t,e+4*s,4)},e.addLightData=function(e,i,n){var s=2===e._type,r=e.atlasViewportAllocated,a=this.cookiesEnabled&&!!e._cookie&&r,o=this.areaLightsEnabled&&0!==e.shape,h=this.shadowsEnabled&&e.castShadows&&r,l=e._node.getPosition(),c=null,u=null;s?h?c=e.getRenderData(null,0).shadowMatrix:a&&(c=al.evalSpotCookieMatrix(e)):(h||a)&&(u=e.atlasViewport);var d=this.lights8,f=i*this.lightsTexture8.width*4;if(this.addLightDataFlags(d,f+4*ul.FLAGS,e,s,h,e.shadowIntensity),this.addLightDataColor(d,f+4*ul.COLOR_A,e,n,a),s&&this.addLightDataSpotAngles(d,f+4*ul.SPOT_ANGLES,e),e.castShadows&&this.addLightDataShadowBias(d,f+4*ul.SHADOW_BIAS,e),a&&this.addLightDataCookies(d,f+4*ul.COOKIE_A,e),t.lightTextureFormat===t.FORMAT_FLOAT){var p=this.lightsFloat,m=i*this.lightsTextureFloat.width*4;if(p[m+4*dl.POSITION_RANGE+0]=l.x,p[m+4*dl.POSITION_RANGE+1]=l.y,p[m+4*dl.POSITION_RANGE+2]=l.z,p[m+4*dl.POSITION_RANGE+3]=e.attenuationEnd,s&&(this.getSpotDirection(ol,e),p[m+4*dl.SPOT_DIRECTION+0]=ol.x,p[m+4*dl.SPOT_DIRECTION+1]=ol.y,p[m+4*dl.SPOT_DIRECTION+2]=ol.z),c)for(var _=c.data,g=0;g<16;g++)p[m+4*dl.PROJ_MAT_0+g]=_[g];if(u&&(p[m+4*dl.ATLAS_VIEWPORT+0]=u.x,p[m+4*dl.ATLAS_VIEWPORT+1]=u.y,p[m+4*dl.ATLAS_VIEWPORT+2]=u.z/3),o){var v=this.getLightAreaSizes(e);p[m+4*dl.AREA_DATA_WIDTH+0]=v[0],p[m+4*dl.AREA_DATA_WIDTH+1]=v[1],p[m+4*dl.AREA_DATA_WIDTH+2]=v[2],p[m+4*dl.AREA_DATA_HEIGHT+0]=v[3],p[m+4*dl.AREA_DATA_HEIGHT+1]=v[4],p[m+4*dl.AREA_DATA_HEIGHT+2]=v[5]}}else this.addLightDataPositionRange(d,f+4*ul.POSITION_X,e,l),s&&this.addLightDataSpotDirection(d,f+4*ul.SPOT_DIRECTION_X,e),c&&this.addLightDataLightProjMatrix(d,f+4*ul.PROJ_MAT_00,c),u&&this.addLightAtlasViewport(d,f+4*ul.ATLAS_VIEWPORT_A,u),o&&this.addLightAreaSizes(d,f+4*ul.AREA_DATA_WIDTH_X,e)},t}();Oh=fl,fl.FORMAT_FLOAT=0,fl.FORMAT_8BIT=1,fl.lightTextureFormat=Oh.FORMAT_8BIT,fl.useTexelFetch=!1,fl.shaderDefines="";var pl={vertex_normal:Me,vertex_tangent:Pe,vertex_texCoord0:Oe,vertex_texCoord1:ke,vertex_color:Le,vertex_boneWeights:Re,vertex_boneIndices:Ie},ml={vVertexColor:"vec4",vPositionW:"vec3",vNormalV:"vec3",vNormalW:"vec3",vTangentW:"vec3",vBinormalW:"vec3",vObjectSpaceUpW:"vec3",vUv0:"vec2",vUv1:"vec2"},_l=function(){function t(t,e){if(this.device=t,this.options=e,this.attributes={vertex_position:Ee},e.userAttributes)for(var i=0,n=Object.entries(e.userAttributes);i=0&&(this.attributes[c]=pl[c]);this.chunks[h]=l}}else this.chunks=wo;this.shaderPassInfo=Vo.get(this.device).getByIndex(e.pass),this.shadowPass=this.shaderPassInfo.isShadow,this.lighting=e.lights.length>0||e.dirLightMapEnabled||e.clusteredLightingEnabled,this.reflections=!!e.reflectionSource,this.needsNormal=this.lighting||this.reflections||e.useSpecular||e.ambientSH||e.useHeights||e.enableGGXSpecular||e.clusteredLightingEnabled&&!this.shadowPass||e.useClearCoatNormals,this.needsNormal=this.needsNormal&&!this.shadowPass,this.needsSceneColor=e.useDynamicRefraction,this.needsScreenSize=e.useDynamicRefraction,this.needsTransforms=e.useDynamicRefraction,this.varyings="",this.varyingDefines="",this.vshader=null,this.frontendDecl=null,this.frontendCode=null,this.frontendFunc=null,this.lightingUv=null,this.defines=[],this.fshader=null}var e=t.prototype;return e._vsAddBaseCode=function(t,e,i){return t+=e.baseVS,1!==i.nineSlicedMode&&2!==i.nineSlicedMode||(t+=e.baseNineSlicedVS),t},e._vsAddTransformCode=function(t,e,i,n){return t+=this.chunks.transformVS},e._setMapTransform=function(t,e,i,n){var s=i+100*n;if(!t[3][s]){var r="texture_"+e+"MapTransform";t[0]+="uniform vec3 "+r+"0;\n",t[0]+="uniform vec3 "+r+"1;\n",t[1]+="varying vec2 vUV"+n+"_"+i+";\n",t[2]+=" vUV"+n+"_"+i+" = vec2(dot(vec3(uv"+n+", 1), "+r+"0), dot(vec3(uv"+n+", 1), "+r+"1));\n",t[3][s]=!0}return t},e._fsGetBaseCode=function(){var t=this.options,e=this.chunks,i=this.chunks.basePS;return 1===t.nineSlicedMode?i+=e.baseNineSlicedPS:2===t.nineSlicedMode&&(i+=e.baseNineSlicedTiledPS),i},e._fsGetStartCode=function(t,e,i,n){var s=i.startPS;return 1===n.nineSlicedMode?s+=i.startNineSlicedPS:2===n.nineSlicedMode&&(s+=i.startNineSlicedTiledPS),s},e._getLightSourceShapeString=function(t){switch(t){case 1:return"Rect";case 2:return"Disk";case 3:return"Sphere";default:return""}},e.generateVertexShader=function(t,e,i){var n=this,s=this.device,r=this.options,a=this.chunks,o="",h="";o=this._vsAddBaseCode(o,a,r),h+=" vPositionW = getWorldPosition();\n",2===this.options.pass&&(o+="varying float vDepth;\n",o+="#ifndef VIEWMATRIX\n",o+="#define VIEWMATRIX\n",o+="uniform mat4 matrix_view;\n",o+="#endif\n",o+="#ifndef CAMERAPLANES\n",o+="#define CAMERAPLANES\n",o+="uniform vec4 camera_params;\n\n",o+="#endif\n",h+=" vDepth = -(matrix_view * vec4(vPositionW,1.0)).z * camera_params.x;\n"),this.options.useInstancing&&(this.attributes.instance_line1=ei,this.attributes.instance_line2=ii,this.attributes.instance_line3=ni,this.attributes.instance_line4=si,o+=a.instancingVS),this.needsNormal&&(this.attributes.vertex_normal=Me,h+=" vNormalW = getNormal();\n","sphereMap"===r.reflectionSource&&s.fragmentUniformsCount<=16&&(o+=a.viewNormalVS,h+=" vNormalV = getViewNormal();\n"),r.hasTangents&&(r.useHeights||r.useNormals||r.enableGGXSpecular)?(this.attributes.vertex_tangent=Pe,o+=a.tangentBinormalVS,h+=" vTangentW = getTangent();\n",h+=" vBinormalW = getBinormal();\n"):!r.enableGGXSpecular&&s.extStandardDerivatives||(h+=" vObjectSpaceUpW = normalize(dNormalMatrix * vec3(0, 1, 0));\n"));for(var l=0;l<2;l++)t[l]&&(this.attributes["vertex_texCoord"+l]="TEXCOORD"+l,o+=a["uv"+l+"VS"],h+=" vec2 uv"+l+" = getUv"+l+"();\n"),e[l]&&(h+=" vUv"+l+" = uv"+l+";\n");var c=[o,this.varyings,h,[]];if(i.forEach((function(t){n._setMapTransform(c,t.name,t.id,t.uv)})),o=c[0],this.varyings=c[1],h=c[2],r.vertexColors&&(this.attributes.vertex_color=Le,h+=" vVertexColor = vertex_color;\n"),r.useMsdf&&r.msdfTextAttribute&&(this.attributes.vertex_outlineParameters=Qe,this.attributes.vertex_shadowParameters=$e,h+=" unpackMsdfParams();\n",o+=a.msdfVS),r.useMorphPosition||r.useMorphNormal)if(r.useMorphTextureBased){o+="#define MORPHING_TEXTURE_BASED\n",r.useMorphPosition&&(o+="#define MORPHING_TEXTURE_BASED_POSITION\n"),r.useMorphNormal&&(o+="#define MORPHING_TEXTURE_BASED_NORMAL\n"),this.attributes.morph_vertex_id=si;var u=s.isWebGPU?"uint":"float";o+="attribute "+u+" morph_vertex_id;\n"}else o+="#define MORPHING\n",r.useMorphPosition?(this.attributes.morph_pos0=Qe,this.attributes.morph_pos1=$e,this.attributes.morph_pos2=Je,this.attributes.morph_pos3=ti,o+="#define MORPHING_POS03\n",o+="attribute vec3 morph_pos0;\n",o+="attribute vec3 morph_pos1;\n",o+="attribute vec3 morph_pos2;\n",o+="attribute vec3 morph_pos3;\n"):r.useMorphNormal&&(this.attributes.morph_nrm0=Qe,this.attributes.morph_nrm1=$e,this.attributes.morph_nrm2=Je,this.attributes.morph_nrm3=ti,o+="#define MORPHING_NRM03\n",o+="attribute vec3 morph_nrm0;\n",o+="attribute vec3 morph_nrm1;\n",o+="attribute vec3 morph_nrm2;\n",o+="attribute vec3 morph_nrm3;\n"),r.useMorphNormal?(this.attributes.morph_nrm4=ei,this.attributes.morph_nrm5=ii,this.attributes.morph_nrm6=ni,this.attributes.morph_nrm7=si,o+="#define MORPHING_NRM47\n",o+="attribute vec3 morph_nrm4;\n",o+="attribute vec3 morph_nrm5;\n",o+="attribute vec3 morph_nrm6;\n",o+="attribute vec3 morph_nrm7;\n"):(this.attributes.morph_pos4=ei,this.attributes.morph_pos5=ii,this.attributes.morph_pos6=ni,this.attributes.morph_pos7=si,o+="#define MORPHING_POS47\n",o+="attribute vec3 morph_pos4;\n",o+="attribute vec3 morph_pos5;\n",o+="attribute vec3 morph_pos6;\n",o+="attribute vec3 morph_pos7;\n");r.skin?(this.attributes.vertex_boneWeights=Re,this.attributes.vertex_boneIndices=Ie,o+=Eo.skinCode(s,a),o+="#define SKIN\n"):r.useInstancing&&(o+="#define INSTANCING\n"),r.screenSpace&&(o+="#define SCREENSPACE\n"),r.pixelSnap&&(o+="#define PIXELSNAP\n"),o=this._vsAddTransformCode(o,s,a,r),this.needsNormal&&(o+=a.normalVS),o+="\n",o+=a.startVS,o+=h,o+=a.endVS,o+="}",Object.keys(ml).forEach((function(t){o.indexOf(t)>=0&&(n.varyings+="varying "+ml[t]+" "+t+";\n",n.varyingDefines+="#define VARYING_"+t.toUpperCase()+"\n")}));var d=this.shaderPassInfo.shaderDefines;this.vshader=d+this.varyings+o},e._fsGetBeginCode=function(){for(var t=this.shaderPassInfo.shaderDefines,e=0;e0&&this.defines.push("LIT_SPECULAR_FRESNEL"),e.conserveEnergy&&this.defines.push("LIT_CONSERVE_ENERGY"),e.useSheen&&this.defines.push("LIT_SHEEN"),e.useIridescence&&this.defines.push("LIT_IRIDESCENCE"));var o=[],h=0,l=!1,c=!1,u=!1,d=e.lights.some((function(t){return t._shape&&0!==t._shape}));e.clusteredLightingEnabled&&e.clusteredLightingAreaLightsEnabled&&(d=!0);var f="highp";7===t.areaLightLutFormat&&(n.append("#define AREA_R8_G8_B8_A8_LUTS"),f="lowp"),(d||e.clusteredLightingEnabled)&&(n.append("#define AREA_LIGHTS"),n.append("uniform "+f+" sampler2D areaLightsLutTex1;"),n.append("uniform "+f+" sampler2D areaLightsLutTex2;"));for(var p=0;p0?i.cubeMapProjectBoxPS:i.cubeMapProjectNonePS),s.append(e.skyboxIntensity?i.envMultiplyPS:i.envConstPS)),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&s.append(i.metalnessModulatePS),2===e.fresnelModel&&s.append(i.fresnelSchlickPS),e.useIridescence&&s.append(i.iridescenceDiffractionPS)),e.useAo)switch(s.append(i.aoDiffuseOccPS),e.occludeSpecular){case 1:s.append(e.occludeSpecularFloat?i.aoSpecOccSimplePS:i.aoSpecOccConstSimplePS);break;case 2:s.append(e.occludeSpecularFloat?i.aoSpecOccPS:i.aoSpecOccConstPS)}if("envAtlasHQ"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.envAtlasPS),s.append(i.reflectionEnvHQPS.replace(/\$DECODE_CUBEMAP/g,il.decodeFunc(e.reflectionCubemapEncoding)).replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("envAtlas"===e.reflectionSource)s.append(i.envAtlasPS),s.append(i.reflectionEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("cubeMap"===e.reflectionSource)s.append(e.fixSeams?i.fixCubemapSeamsStretchPS:i.fixCubemapSeamsNonePS),s.append(i.reflectionCubePS.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)));else if("sphereMap"===e.reflectionSource){var y=t.fragmentUniformsCount>16?i.reflectionSpherePS:i.reflectionSphereLowPS;s.append(y.replace(/\$DECODE/g,il.decodeFunc(e.reflectionEncoding)))}this.reflections&&(e.useClearCoat&&s.append(i.reflectionCCPS),e.useSheen&&s.append(i.reflectionSheenPS)),e.useRefraction&&(e.useDynamicRefraction?s.append(i.refractionDynamicPS):this.reflections&&s.append(i.refractionCubePS)),e.useSheen&&s.append(i.lightSheenPS),e.clusteredLightingEnabled&&(s.append(i.clusteredLightUtilsPS),e.clusteredLightingCookiesEnabled&&s.append(i.clusteredLightCookiesPS),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(o[0]=!0,o[4]=!0,o[6]=!0)),(h>0||e.clusteredLightingEnabled)&&(l&&s.append(i.shadowCascadesPS),(o[5]||o[0])&&s.append(i.shadowStandardPS),o[4]&&!t.isWebGL1&&s.append(i.shadowStandardGL2PS),c&&(s.append(i.shadowVSM_commonPS),o[1]&&s.append(i.shadowVSM8PS),o[2]&&s.append(t.extTextureHalfFloatLinear?i.shadowEVSMPS.replace(/\$/g,"16"):i.shadowEVSMnPS.replace(/\$/g,"16")),o[3]&&s.append(t.extTextureFloatLinear?i.shadowEVSMPS.replace(/\$/g,"32"):i.shadowEVSMnPS.replace(/\$/g,"32"))),u&&(s.append(i.linearizeDepthPS),s.append(i.shadowPCSSPS)),t.isWebGL2||t.isWebGPU||t.extStandardDerivatives||s.append(i.biasConstPS)),e.enableGGXSpecular&&s.append("uniform float material_anisotropy;"),this.lighting&&(s.append(i.lightDiffuseLambertPS),(d||e.clusteredLightingAreaLightsEnabled)&&s.append(i.ltcPS));var x=!1;e.useSpecular&&(this.lighting&&s.append(0===e.shadingModel?i.lightSpecularPhongPS:e.enableGGXSpecular?i.lightSpecularAnisoGGXPS:i.lightSpecularBlinnPS),e.fresnelModel||this.reflections||e.diffuseMapEnabled||(n.append("uniform vec3 material_ambient;"),n.append("#define LIT_OLD_AMBIENT"),x=!0)),s.append(i.combinePS),e.lightMapEnabled&&s.append(e.useSpecular&&e.dirLightMapEnabled?i.lightmapDirAddPS:i.lightmapAddPS);var S=!e.lightMapEnabled||e.lightMapWithoutAmbient;S&&("ambientSH"===e.ambientSource?s.append(i.ambientSHPS):"envAtlas"===e.ambientSource?("envAtlas"!==e.reflectionSource&&"envAtlasHQ"!==e.reflectionSource&&s.append(i.envAtlasPS),s.append(i.ambientEnvPS.replace(/\$DECODE/g,il.decodeFunc(e.ambientEncoding)))):s.append(i.ambientConstantPS)),e.useAmbientTint&&!x&&n.append("uniform vec3 material_ambient;"),e.useMsdf&&(e.msdfTextAttribute||n.append("#define UNIFORM_TEXT_PARAMETERS"),s.append(i.msdfPS)),this.needsNormal&&(s.append(i.viewDirPS),e.useSpecular&&s.append(e.enableGGXSpecular?i.reflDirAnisoPS:i.reflDirPS));var b,w=!1,T=!1,A=!1,C=!1,E=!1;if(e.clusteredLightingEnabled&&this.lighting&&(C=!0,w=!0,T=!0,E=!0,s.append(i.floatUnpackingPS),e.lightMaskDynamic&&n.append("#define CLUSTER_MESH_DYNAMIC_LIGHTS"),e.clusteredLightingCookiesEnabled&&n.append("#define CLUSTER_COOKIES"),e.clusteredLightingShadowsEnabled&&!e.noShadow&&(n.append("#define CLUSTER_SHADOWS"),n.append("#define CLUSTER_SHADOW_TYPE_"+Ga[e.clusteredLightingShadowType])),e.clusteredLightingAreaLightsEnabled&&n.append("#define CLUSTER_AREALIGHTS"),n.append(fl.shaderDefines),e.clusteredLightingShadowsEnabled&&!e.noShadow&&s.append(i.clusteredLightShadowsPS),s.append(i.clusteredLightPS)),e.twoSidedLighting&&n.append("uniform float twoSidedLightingNegScaleFactor;"),a.append(this._fsGetStartCode(a,t,i,e)),this.needsNormal&&(e.twoSidedLighting?a.append(" dVertexNormalW = normalize(gl_FrontFacing ? vNormalW * twoSidedLightingNegScaleFactor : -vNormalW * twoSidedLightingNegScaleFactor);"):a.append(" dVertexNormalW = normalize(vNormalW);"),(e.useHeights||e.useNormals)&&e.hasTangents&&(e.twoSidedLighting?(a.append(" dTangentW = gl_FrontFacing ? vTangentW * twoSidedLightingNegScaleFactor : -vTangentW * twoSidedLightingNegScaleFactor;"),a.append(" dBinormalW = gl_FrontFacing ? vBinormalW * twoSidedLightingNegScaleFactor : -vBinormalW * twoSidedLightingNegScaleFactor;")):(a.append(" dTangentW = vTangentW;"),a.append(" dBinormalW = vBinormalW;"))),a.append(" getViewDir();"),v&&a.append(" getTBN(dTangentW, dBinormalW, dVertexNormalW);")),a.append(this.frontendFunc),this.needsNormal&&(e.useSpecular&&r.append(" getReflDir(litArgs_worldNormal, dViewDirW, litArgs_gloss, dTBN);"),e.useClearCoat&&r.append(" ccReflDirW = normalize(-reflect(dViewDirW, litArgs_clearcoat_worldNormal));")),(this.lighting&&e.useSpecular||this.reflections)&&(e.useMetalness&&(r.append(" float f0 = 1.0 / litArgs_ior; f0 = (f0 - 1.0) / (f0 + 1.0); f0 *= f0;"),r.append(" litArgs_specularity = getSpecularModulate(litArgs_specularity, litArgs_albedo, litArgs_metalness, f0);"),r.append(" litArgs_albedo = getAlbedoModulate(litArgs_albedo, litArgs_metalness);")),e.useIridescence&&r.append(" vec3 iridescenceFresnel = getIridescence(saturate(dot(dViewDirW, litArgs_worldNormal)), litArgs_specularity, litArgs_iridescence_thickness);")),S&&(r.append(" addAmbient(litArgs_worldNormal);"),e.conserveEnergy&&e.useSpecular&&r.append(" dDiffuseLight = dDiffuseLight * (1.0 - litArgs_specularity);"),e.separateAmbient&&r.append("\n vec3 dAmbientLight = dDiffuseLight;\n dDiffuseLight = vec3(0);\n ")),e.useAmbientTint&&!x&&r.append(" dDiffuseLight *= material_ambient;"),e.useAo&&!e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),e.lightMapEnabled&&r.append(" addLightMap(\n litArgs_lightmap, \n litArgs_lightmapDir, \n litArgs_worldNormal, \n dViewDirW, \n dReflDirW, \n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW,\n dTBN\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"),this.lighting||this.reflections){this.reflections&&(e.useClearCoat&&(r.append(" addReflectionCC(ccReflDirW, litArgs_clearcoat_gloss);"),e.fresnelModel>0?(r.append(" ccFresnel = getFresnelCC(dot(dViewDirW, litArgs_clearcoat_worldNormal));"),r.append(" ccReflection.rgb *= ccFresnel;")):r.append(" ccFresnel = 0.0;")),e.useSpecularityFactor&&r.append(" ccReflection.rgb *= litArgs_specularityFactor;"),e.useSheen&&r.append(" addReflectionSheen(litArgs_worldNormal, dViewDirW, litArgs_sheen_gloss);"),r.append(" addReflection(dReflDirW, litArgs_gloss);"),e.fresnelModel>0?r.append(" dReflection.rgb *= \n getFresnel(\n dot(dViewDirW, litArgs_worldNormal), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel,\n litArgs_iridescence_intensity\n #endif\n );"):r.append(" dReflection.rgb *= litArgs_specularity;"),e.useSpecularityFactor&&r.append(" dReflection.rgb *= litArgs_specularityFactor;")),d&&(r.append(" dSpecularLight *= litArgs_specularity;"),e.useSpecular&&r.append(" calcLTCLightValues(litArgs_gloss, litArgs_worldNormal, dViewDirW, litArgs_specularity, litArgs_clearcoat_gloss, litArgs_clearcoat_worldNormal, litArgs_clearcoat_specularity);"));for(var M=0;M 0.00001) {"),2===R&&(b&&!P._cookieFalloff||(r.append(" dAtten *= getSpotEffect(light"+M+"_direction, light"+M+"_innerConeAngle, light"+M+"_outerConeAngle, dLightDirNormW);"),C=!0))),0!==I?0===R?r.append(" dAttenD = getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"):r.append(" dAttenD = get"+L+"LightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW) * 16.0;"):r.append(" dAtten *= getLightDiffuse(litArgs_worldNormal, dViewDirW, dLightDirW, dLightDirNormW);"),P.castShadows&&!e.noShadow){var D=6===P._shadowType,O=1===P._shadowType||2===P._shadowType||3===P._shadowType,k=5===P._shadowType||0===P._shadowType||4===P._shadowType,F=null,B=void 0;switch(P._shadowType){case 1:F="VSM8",B="0.0";break;case 2:F="VSM16",B="5.54";break;case 3:F="VSM32",B=t.textureFloatHighPrecision?"15.0":"5.54";break;case 5:F="PCF1x1";break;case 4:F="PCF5x5";break;case 6:F="PCSS";break;default:F="PCF3x3"}if(null!==F){P._normalOffsetBias&&!P._isVsm&&s.append("#define SHADOW_SAMPLE_NORMAL_OFFSET"),0===R&&s.append("#define SHADOW_SAMPLE_ORTHO"),((k||D)&&t.isWebGL2||t.isWebGPU||t.extStandardDerivatives)&&s.append("#define SHADOW_SAMPLE_SOURCE_ZBUFFER"),1===R&&s.append("#define SHADOW_SAMPLE_POINT");var U=i.shadowSampleCoordPS;s.append(U.replace("$LIGHT",M)),s.append("#undef SHADOW_SAMPLE_NORMAL_OFFSET"),s.append("#undef SHADOW_SAMPLE_ORTHO"),s.append("#undef SHADOW_SAMPLE_SOURCE_ZBUFFER"),s.append("#undef SHADOW_SAMPLE_POINT");var N="light"+M+"_shadowMatrix";0===R&&P.numCascades>1&&(r.append(" getShadowCascadeMatrix(light"+M+"_shadowMatrixPalette, light"+M+"_shadowCascadeDistances, light"+M+"_shadowCascadeCount);"),N="cascadeShadowMat"),r.append(" dShadowCoord = getShadowSampleCoord"+M+"("+N+", light"+M+"_shadowParams, vPositionW, dLightPosW, dLightDirW, dLightDirNormW, dVertexNormalW);"),0===R&&r.append(" fadeShadow(light"+M+"_shadowCascadeDistances);");var z="SHADOWMAP_PASS(light"+M+"_shadowMap), dShadowCoord, light"+M+"_shadowParams";if(O)z=z+", "+B+", dLightDirW";else if(D){var V="vec2(light"+M+"_shadowSearchArea)";0!==I&&(V="vec2(length(light"+M+"_halfWidth), length(light"+M+"_halfHeight)) * light"+M+"_shadowSearchArea"),z=z+", light"+M+"_cameraParams, "+V+", dLightDirW"}1===R?(F="Point"+F,D||(z+=", dLightDirW")):2===R&&(F="Spot"+F),r.append(" float shadow"+M+" = getShadow"+F+"("+z+");"),r.append(" dAtten *= mix(1.0, shadow"+M+", light"+M+"_shadowIntensity);")}}if(0!==I?e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += ((dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - dLTCSpecFres);"):r.append(" dDiffuseLight += (dAttenD * dAtten) * light"+M+"_color"+(b?" * dAtten3":"")+";"):d&&e.conserveEnergy&&e.useSpecular?r.append(" dDiffuseLight += (dAtten * light"+M+"_color"+(b?" * dAtten3":"")+") * (1.0 - litArgs_specularity);"):r.append(" dDiffuseLight += dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dHalfDirW = normalize(-dLightDirNormW + dViewDirW);"),P.affectSpecularity)if(0!==I)e.useClearCoat&&r.append(" ccSpecularLight += ccLTCSpecFres * get"+L+"LightSpecular(litArgs_clearcoat_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";"),e.useSpecular&&r.append(" dSpecularLight += dLTCSpecFres * get"+L+"LightSpecular(litArgs_worldNormal, dViewDirW) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+";");else{var G=!1;0===R&&e.fresnelModel>0&&(G=!0),e.useClearCoat&&r.append(" ccSpecularLight += getLightSpecular(dHalfDirW, ccReflDirW, litArgs_clearcoat_worldNormal, dViewDirW, dLightDirNormW, litArgs_clearcoat_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" * getFresnelCC(dot(dViewDirW, dHalfDirW));":";")),e.useSheen&&r.append(" sSpecularLight += getLightSpecularSheen(dHalfDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_sheen_gloss) * dAtten * light"+M+"_color"+(b?" * dAtten3;":";")),e.useSpecular&&r.append(" dSpecularLight += getLightSpecular(dHalfDirW, dReflDirW, litArgs_worldNormal, dViewDirW, dLightDirNormW, litArgs_gloss, dTBN) * dAtten * light"+M+"_color"+(b?" * dAtten3":"")+(G?" \n * getFresnel(\n dot(dViewDirW, dHalfDirW), \n litArgs_gloss, \n litArgs_specularity\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );":"* litArgs_specularity;"))}0!==R&&r.append(" }")}}e.clusteredLightingEnabled&&this.lighting&&(T=!0,A=!0,w=!0,r.append(" addClusteredLights(\n litArgs_worldNormal, \n dViewDirW, \n dReflDirW,\n #if defined(LIT_CLEARCOAT)\n ccReflDirW,\n #endif\n litArgs_gloss, \n litArgs_specularity, \n dVertexNormalW, \n dTBN, \n #if defined(LIT_IRIDESCENCE)\n iridescenceFresnel,\n #endif\n litArgs_clearcoat_worldNormal, \n litArgs_clearcoat_gloss,\n litArgs_sheen_gloss,\n litArgs_iridescence_intensity\n );")),d&&(e.useClearCoat&&r.append(" litArgs_clearcoat_specularity = 1.0;"),e.useSpecular&&r.append(" litArgs_specularity = vec3(1);")),e.useRefraction&&r.append(" addRefraction(\n litArgs_worldNormal, \n dViewDirW, \n litArgs_thickness, \n litArgs_gloss, \n litArgs_specularity, \n litArgs_albedo, \n litArgs_transmission,\n litArgs_ior\n #if defined(LIT_IRIDESCENCE)\n , iridescenceFresnel, \n litArgs_iridescence_intensity\n #endif\n );")}e.useAo&&(e.occludeDirect&&r.append(" occludeDiffuse(litArgs_ao);"),1!==e.occludeSpecular&&2!==e.occludeSpecular||r.append(" occludeSpecular(litArgs_gloss, litArgs_ao, litArgs_worldNormal, dViewDirW);")),e.useSpecularityFactor&&r.append(" dSpecularLight *= litArgs_specularityFactor;"),!1===e.opacityFadesSpecular&&(2!==e.blendType&&4!==e.blendType||(r.append("float specLum = dot((dSpecularLight + dReflection.rgb * dReflection.a), vec3( 0.2126, 0.7152, 0.0722 ));"),r.append("#ifdef LIT_CLEARCOAT\n specLum += dot(ccSpecularLight * litArgs_clearcoat_specularity + ccReflection.rgb * litArgs_clearcoat_specularity, vec3( 0.2126, 0.7152, 0.0722 ));\n#endif"),r.append("litArgs_opacity = clamp(litArgs_opacity + gammaCorrectInput(specLum), 0.0, 1.0);")),r.append("litArgs_opacity *= material_alphaFade;")),r.append(i.endPS),2===e.blendType||6===e.blendType||e.alphaToCoverage?r.append(i.outputAlphaPS):4===e.blendType?r.append(i.outputAlphaPremulPS):r.append(i.outputAlphaOpaquePS),e.useMsdf&&r.append(" gl_FragColor = applyMsdf(gl_FragColor);"),r.append(i.outputPS),r.append(i.debugOutputPS),w&&s.prepend(i.lightDirPointPS),T&&s.prepend(i.falloffLinearPS),A&&s.prepend(i.falloffInvSquaredPS),C&&s.prepend(i.spotPS),E&&!e.clusteredLightingEnabled&&s.prepend(i.cookiePS);var H="",W="void evaluateBackend() {\n"+r.code+"\n}";s.append(W),a.append(i.debugProcessFrontendPS),a.append(" evaluateBackend();"),a.append(Eo.end());var X=n.code+s.code+a.code;return X.includes("dTBN")&&(H+="mat3 dTBN;\n"),X.includes("dVertexNormalW")&&(H+="vec3 dVertexNormalW;\n"),X.includes("dTangentW")&&(H+="vec3 dTangentW;\n"),X.includes("dBinormalW")&&(H+="vec3 dBinormalW;\n"),X.includes("dViewDirW")&&(H+="vec3 dViewDirW;\n"),X.includes("dReflDirW")&&(H+="vec3 dReflDirW;\n"),X.includes("dHalfDirW")&&(H+="vec3 dHalfDirW;\n"),X.includes("ccReflDirW")&&(H+="vec3 ccReflDirW;\n"),X.includes("dLightDirNormW")&&(H+="vec3 dLightDirNormW;\n"),X.includes("dLightDirW")&&(H+="vec3 dLightDirW;\n"),X.includes("dLightPosW")&&(H+="vec3 dLightPosW;\n"),X.includes("dShadowCoord")&&(H+="vec3 dShadowCoord;\n"),X.includes("dReflection")&&(H+="vec4 dReflection;\n"),X.includes("dDiffuseLight")&&(H+="vec3 dDiffuseLight;\n"),X.includes("dSpecularLight")&&(H+="vec3 dSpecularLight;\n"),X.includes("dAtten")&&(H+="float dAtten;\n"),X.includes("dAttenD")&&(H+="float dAttenD;\n"),X.includes("dAtten3")&&(H+="vec3 dAtten3;\n"),X.includes("dMsdf")&&(H+="vec4 dMsdf;\n"),X.includes("ccFresnel")&&(H+="float ccFresnel;\n"),X.includes("ccReflection")&&(H+="vec3 ccReflection;\n"),X.includes("ccSpecularLight")&&(H+="vec3 ccSpecularLight;\n"),X.includes("ccSpecularityNoFres")&&(H+="float ccSpecularityNoFres;\n"),X.includes("sSpecularLight")&&(H+="vec3 sSpecularLight;\n"),X.includes("sReflection")&&(H+="vec3 sReflection;\n"),this._fsGetBeginCode()+this.varyings+this.varyingDefines+this._fsGetBaseCode()+H+this.frontendDecl+X},e.generateFragmentShader=function(t,e,i,n){var s,r=this.options;this.frontendDecl=t,this.frontendCode=e,this.frontendFunc=i,this.lightingUv=n,3===r.pass?this.fshader=this._fsGetPickPassCode():2===r.pass?this.fshader=this._fsGetDepthPassCode():this.shadowPass?this.fshader=this._fsGetShadowPassCode():r.customFragmentShader?this.fshader=this._fsGetBeginCode()+r.customFragmentShader:this.fshader=this._fsGetLitPassCode(),null==(s=this.handleCompatibility)||s.call(this)},e.getDefinition=function(){var t=hr.createDefinition(this.device,{name:"LitShader",attributes:this.attributes,vertexCode:this.vshader,fragmentCode:this.fshader});return this.shaderPassInfo.isForward&&(t.tag=1),t},t}(),gl={generateKey:function(t){return"lit"+Object.keys(t).sort().map((function(e){return"chunks"===e?gl.generateChunksKey(t):"lights"===e?gl.generateLightsKey(t):e+t[e]})).join("\n")},generateLightsKey:function(t){return"lights:"+t.lights.map((function(e){return t.clusteredLightingEnabled&&0!==e._type?"":e.key+","})).join("")},generateChunksKey:function(t){var e;return"chunks:\n"+Object.keys(null!=(e=t.chunks)?e:{}).sort().map((function(e){return e+t.chunks[e]})).join("")}},vl=[0,1,2,3,4,5,6,7],yl=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.generateKey=function(t){return"lit"+vl.map((function(e,i){return t.usedUvs[i]?"1":"0"})).join("")+t.shaderChunk+gl.generateKey(t.litOptions)},i.createShaderDefinition=function(t,e){var i=new _l(t,e.litOptions),n=new Jh,s=new Jh,r=new Jh;n.append("uniform float textureBias;"),n.append(i.chunks.litShaderArgsPS),s.append(e.shaderChunk),r.code="evaluateFrontend();",r.code="\n"+r.code.split("\n").map((function(t){return" "+t})).join("\n")+"\n\n";var a=e.usedUvs||[!0];return i.generateVertexShader(a,a,[]),i.generateFragmentShader(n.code,s.code,r.code,"vUv0"),i.getDefinition()},e}(Eo),xl=new yl,Sl=new function(){this.usedUvs=void 0,this.shaderChunk=void 0,this.litOptions=new Qh},bl=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),s=0;s1?0:1),this.lightsBuffer.updateUniforms(),this._clusterWorldTextureId.setValue(this.clusterTexture),this._clusterMaxCellsId.setValue(this.maxCellLightCount);var t=this.boundsDelta;this._clusterCellsCountByBoundsSizeData[0]=this._cells.x/t.x,this._clusterCellsCountByBoundsSizeData[1]=this._cells.y/t.y,this._clusterCellsCountByBoundsSizeData[2]=this._cells.z/t.z,this._clusterCellsCountByBoundsSizeId.setValue(this._clusterCellsCountByBoundsSizeData),this._clusterBoundsMinData[0]=this.boundsMin.x,this._clusterBoundsMinData[1]=this.boundsMin.y,this._clusterBoundsMinData[2]=this.boundsMin.z,this._clusterBoundsDeltaData[0]=t.x,this._clusterBoundsDeltaData[1]=t.y,this._clusterBoundsDeltaData[2]=t.z,this._clusterCompressionLimit0Data[0]=this._maxAttenuation,this._clusterCompressionLimit0Data[1]=this._maxColorValue,this._clusterTextureSizeId.setValue(this._clusterTextureSizeData),this._clusterBoundsMinId.setValue(this._clusterBoundsMinData),this._clusterBoundsDeltaId.setValue(this._clusterBoundsDeltaData),this._clusterCellsDotId.setValue(this._clusterCellsDotData),this._clusterCellsMaxId.setValue(this._clusterCellsMaxData),this._clusterCompressionLimit0Id.setValue(this._clusterCompressionLimit0Data)},e.evalLightCellMinMax=function(t,e,i){e.copy(t.min),e.sub(this.boundsMin),e.div(this.boundsDelta),e.mul2(e,this.cells),e.floor(),i.copy(t.max),i.sub(this.boundsMin),i.div(this.boundsDelta),i.mul2(i,this.cells),i.ceil(),e.max(Et.ZERO),i.min(this._cellsLimit)},e.collectLights=function(t){var e=this.lightsBuffer.maxLights,i=this._usedLights,n=1;t.forEach((function(t){var s,r=!!(3&t.mask),a=2===t.type&&0===t._outerConeAngle;t.enabled&&0!==t.type&&t.visibleThisFrame&&t.intensity>0&&r&&!a&&(n1){e.copy(t[1].min),i.copy(t[1].max);for(var n=2;n1)for(var h=1/o,l=0;l1)for(var f=0;f0){for(var n=this.slots,s=0;ss&&(s=a)}return jl.min=n,jl.max=s,jl}var Kl=function(){function t(t,e){this.renderer=void 0,this.shadowRenderer=void 0,this.device=void 0,this.renderer=t,this.shadowRenderer=e,this.device=t.device}var e=t.prototype;return e.cull=function(t,e,i,n){void 0===n&&(n=null),t.visibleThisFrame=!0,t._shadowMap||(t._shadowMap=Rl.create(this.device,t));var s=i._nearClip;this.generateSplitDistances(t,s,Math.min(i._farClip,t.shadowDistance));for(var r=t.shadowUpdateOverrides,a=0;a_&&(_=v)}var y=l.right,x=l.up,S=l.forward,b=.25*t._shadowResolution/_,w=Math.ceil(Wl.dot(x)*b)/b,T=Math.ceil(Wl.dot(y)*b)/b,A=x.mulScalar(w),C=y.mulScalar(T),E=Wl.dot(S),M=S.mulScalar(E);Wl.add2(A,C).add(M),l.setPosition(Wl),l.translateLocal(0,0,1e6),h.nearClip=.01,h.farClip=2e6,h.orthoHeight=_,this.renderer.updateCameraFrustum(h),this.shadowRenderer.cullShadowCasters(e,t,o.visibleCasters,h,n);for(var P=!0,R=o.visibleCasters,I=0;I=1&&e<=3?new gt(0,0,0,0):new gt(1,1,1,1),s.clearDepthBuffer=!0,s.clearStencilBuffer=!1,s},t.setShadowCameraSettings=function(t,e,i,n,s){var r=4===i||(5===i||0===i)&&e.supportsDepthShadow;1!==n||s||(r=!1),t.clearColorBuffer=!r};var e=t.prototype;return e._cullShadowCastersInternal=function(t,e,i){for(var n=t.length,s=0;s1&&(this.renderer.scene.clusteredLightingEnabled&&0!==t._type||this.applyVsmBlur(t,e))},e.getVsmBlurShader=function(t,e,i){var n=(t?this.blurPackedVsmShader:this.blurVsmShader)[e][i];if(!n){this.blurVsmWeights[i]=function(t){for(var e=(t-1)/6,i=.5*(t-1),n=new Array(t),s=0,r=0;r0},i.filter=function(t,e){for(var i=0;i1?this.quadRendererCube:this.quadRenderer2D;a>1&&this.initInvViewProjMatrices(),this.blitTextureId.setValue(r.cookie);for(var h=0;h1){var l=oc.z/3,c=i[h];oc.x+=l*c.x,oc.y+=l*c.y,oc.z=l,oc.w=l,this.invViewProjId.setValue(hc[h].data)}oc.mulScalar(e),o.render(oc)}}n.length=0},y(e,[{key:"quadRenderer2D",get:function(){if(!this._quadRenderer2D){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform sampler2D blitTexture;\n\tvoid main(void) {\n\t\tgl_FragColor = texture2D(blitTexture, uv0);\n\t}","cookieRenderer2d");this._quadRenderer2D=new ko(t)}return this._quadRenderer2D}},{key:"quadRendererCube",get:function(){if(!this._quadRendererCube){var t=Po(this.device,ac,"\n\tvarying vec2 uv0;\n\tuniform samplerCube blitTexture;\n\tuniform mat4 invViewProj;\n\tvoid main(void) {\n\t\tvec4 projPos = vec4(uv0 * 2.0 - 1.0, 0.5, 1.0);\n\t\tvec4 worldPos = invViewProj * projPos;\n\t\tgl_FragColor = textureCube(blitTexture, worldPos.xyz);\n\t}","cookieRendererCube");this._quadRendererCube=new ko(t)}return this._quadRendererCube}}]),e}(Er),cc=function(t){function e(e,i,n){var s;return(s=t.call(this,e)||this).requiresCubemaps=!1,s.shadowRenderer=i,s.shadowRendererLocal=n,s}S(e,t);var i=e.prototype;return i.update=function(t){var e=this.shadowRendererLocal.shadowLights,i=this.shadowRendererLocal.prepareLights(e,t),n=e.length;this.enabled=n>0,n&&this.shadowRenderer.setupRenderPass(this,i,!1)},i.execute=function(){for(var t=this.shadowRendererLocal.shadowLights,e=t.length,i=0;i0)&&this.alphaTestId.setValue(e.alphaTest)},e.updateCpuSkinMatrices=function(t){dc++;var e=t.length;if(0!==e)for(var i=0;i0&&(this._instancedDrawCalls++,t.setVertexBuffer(a.vertexBuffer),t.draw(i.primitive[n],a.count)):t.draw(i.primitive[n])},e.drawInstance2=function(t,e,i,n){var s=e.instancingData;s?s.count>0&&(this._instancedDrawCalls++,t.draw(i.primitive[n],s.count,!0)):t.draw(i.primitive[n],void 0,!0)},e.cull=function(t,e,i){var n=i.opaque;n.length=0;var s=i.transparent;s.length=0;for(var r=t.frustumCulling,a=e.length,o=0;o0}}]),t}(),Lc=2.399963229728653,Dc=function(t,e,i){var n=e*Lc,s=Math.sqrt(e)/Math.sqrt(i);t.x=s*Math.cos(n),t.y=s*Math.sin(n)},Oc=function(t,e,i,n,s){void 0===n&&(n=0),void 0===s&&(s=1),n=1-2*n,s=1-2*s;var r=_t.lerp(n,s,e/i),a=Math.sqrt(1-r*r),o=Lc*e;t.x=Math.cos(o)*a,t.y=r,t.z=Math.sin(o)*a},kc=function(t){var e=(t<<16|t>>>16)>>>0;return 2.3283064365386963e-10*(e=((16711935&(e=((252645135&(e=((858993459&(e=((1431655765&e)<<1|(2863311530&e)>>>1)>>>0))<<2|(3435973836&e)>>>2)>>>0))<<4|(4042322160&e)>>>4)>>>0))<<8|(4278255360&e)>>>8)>>>0)},Fc=function(t){switch(t){case mi:return"Cubemap";case gi:return"Octahedral";default:return"Equirect"}},Bc=function(t,e,i){if(t<=0)e[i+0]=0,e[i+1]=0,e[i+2]=0,e[i+3]=0;else if(t>=1)e[i+0]=255,e[i+1]=0,e[i+2]=0,e[i+3]=0;else{var n=1*t%1,s=255*t%1,r=65025*t%1,a=16581375*t%1;n-=s/255,s-=r/255,r-=a/255,e[i+0]=Math.min(255,Math.floor(256*n)),e[i+1]=Math.min(255,Math.floor(256*s)),e[i+2]=Math.min(255,Math.floor(256*r)),e[i+3]=Math.min(255,Math.floor(256*a))}},Uc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.pow(1-e,1/(n+1)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Nc=function(t,e,i){var n=2*i*Math.PI,s=Math.sqrt(1-e),r=Math.sqrt(e);t.set(Math.cos(n)*r,Math.sin(n)*r,s).normalize()},zc=function(t,e,i,n){var s=2*i*Math.PI,r=Math.sqrt((1-e)/(1+(n*n-1)*e)),a=Math.sqrt(1-r*r);t.set(Math.cos(s)*a,Math.sin(s)*a,r).normalize()},Vc=function(t,e){var i=t*e,n=e/(1-t*t+i*i);return n*n*(1/Math.PI)},Gc={16:{2:26,8:20,32:17,128:16,512:16},32:{2:53,8:40,32:34,128:32,512:32},128:{2:214,8:163,32:139,128:130,512:128},1024:{2:1722,8:1310,32:1114,128:1041,512:1025}},Hc=function(t,e,i){for(var n=i/t,s=1-Math.log2(e)/11,r=s*s,a=new Et,o=new Et,h=new Et(0,0,1),l=[],c=function(t,e){var i=Gc[t];return i&&i[e]||t}(t,e),u=0;u0){var f=Vc(Math.min(1,d),r)/4+.001,p=.5*Math.log2(n/f);l.push(o.x,o.y,o.z,p)}}for(;l.length<4*t;)l.push(0,0,0,0);return l},Wc=function(t,e,i){var n=function(t){for(var e=t.length,i=Math.min(e,512),n=Math.ceil(e/i),s=new Uint8Array(i*n*4),r=0,a=0;a>2*h),rect:r,seamPixels:s}),r.y+=r.w,r.z=Math.max(1,Math.floor(.5*r.z)),r.w=Math.max(1,Math.floor(.5*r.w));return r.set(128*s,384*s,64*s,32*s),Qc(t,n,{numSamples:(null==e?void 0:e.numAmbientSamples)||2048,distribution:"lambert",rect:r,seamPixels:s}),n},t.generatePrefilteredAtlas=function(t,e){for(var i=t[0].device,n=t[0].format,s=t[0].type,r=(null==e?void 0:e.target)||new Us(i,{name:"envPrefilteredAtlas",width:(null==e?void 0:e.size)||512,height:(null==e?void 0:e.size)||512,format:n,type:s,projection:_i,addressU:1,addressV:1,mipmaps:!1}),a=r.width/512,o=new Dt(0,0,512*a,256*a),h=$c(512),l=0;l0){if(i[t]e.length){for(var n=e,s=n.charAt(n.length-1),r=i[t]-n.length,a=0;a0,t.litOptions.blendType=i.blendType,t.litOptions.screenSpace=n&&0!=(n&qa),t.litOptions.skin=n&&0!=(2&n),t.litOptions.useInstancing=n&&0!=(n&Wa),t.litOptions.useMorphPosition=n&&0!=(n&Ya),t.litOptions.useMorphNormal=n&&0!=(n&Ka),t.litOptions.useMorphTextureBased=n&&0!=(n&Za),t.litOptions.nineSlicedMode=i.nineSlicedMode||0,e.clusteredLightingEnabled&&i.useLighting?(t.litOptions.clusteredLightingEnabled=!0,t.litOptions.clusteredLightingCookiesEnabled=e.lighting.cookiesEnabled,t.litOptions.clusteredLightingShadowsEnabled=e.lighting.shadowsEnabled,t.litOptions.clusteredLightingShadowType=e.lighting.shadowType,t.litOptions.clusteredLightingAreaLightsEnabled=e.lighting.areaLightsEnabled):(t.litOptions.clusteredLightingEnabled=!1,t.litOptions.clusteredLightingCookiesEnabled=!1,t.litOptions.clusteredLightingShadowsEnabled=!1,t.litOptions.clusteredLightingAreaLightsEnabled=!1)},e._updateUVOptions=function(t,e,i,n){var s=!1,r=!1,a=!1;i&&(s=0!=(4&i),r=0!=(8&i),a=0!=(16&i)),t.litOptions.vertexColors=!1,this._mapXForms=[];var o={};for(var h in eu)this._updateTexOptions(t,e,h,s,r,a,n,o);this._mapXForms=null,t.litOptions.lightMapEnabled=t.lightMap,t.litOptions.dirLightMapEnabled=t.dirLightMap,t.litOptions.useHeights=t.heightMap,t.litOptions.useNormals=t.normalMap,t.litOptions.useClearCoatNormals=t.clearCoatNormalMap,t.litOptions.useAo=t.aoMap||t.aoVertexColor,t.litOptions.diffuseMapEnabled=t.diffuseMap},e._updateTexOptions=function(t,e,i,n,s,r,a,o){var h="opacity"===i;if(!a||h){var l=i+"Map",c=i+"VertexColor",u=i+"VertexColorChannel",d=l+"Channel",f=l+"Transform",p=l+"Uv",m=l+"Identifier";if("light"!==i&&(t[l]=!1,t[m]=void 0,t[d]="",t[f]=0,t[p]=0),t[c]=!1,t[u]="",h&&3===e.blendType&&0===e.alphaTest&&!e.alphaToCoverage)return;if("height"!==i&&e[c]&&r&&(t[c]=e[c],t[u]=e[u],t.litOptions.vertexColors=!0),e[l]){var _=!0;if(0!==e[p]||n||(_=!1),1!==e[p]||s||(_=!1),_){var g=e[l].id,v=o[g];void 0===v&&(o[g]=i,v=i),t[l]=!!e[l],t[m]=v,t[f]=this._getMapTransformID(e.getUniform(f),e[p]),t[d]=e[d],t[p]=e[p]}}}},e._updateMinOptions=function(t,e){t.opacityTint=1!==e.opacity&&3!==e.blendType,t.litOptions.lights=[]},e._updateMaterialOptions=function(t,e){var i,n,s,r,a,o=(e.diffuseTint||!e.diffuseMap&&!e.diffuseVertexColor)&&au(e.diffuse),h=!!(e.useMetalness||e.specularMap||e.sphereMap||e.cubeMap||(a=e.specular,0!==a.r||0!==a.g||0!==a.b)||e.specularityFactor>0&&e.useMetalness||e.enableGGXSpecular||e.clearCoat>0),l=!e.useMetalness||e.useMetalnessSpecularColor,c=h&&(e.specularTint||!e.specularMap&&!e.specularVertexColor)&&au(e.specular),u=h&&e.useMetalnessSpecularColor&&(e.specularityFactorTint||e.specularityFactor<1&&!e.specularityFactorMap),d=!e.emissiveMap||au(e.emissive)&&e.emissiveTint,f=1!==e.emissiveIntensity,p=!!e.normalMap&&(e.normalMap.format===le||e.normalMap.type===li);t.opacityTint=1!==e.opacity&&3!==e.blendType?1:0,t.ambientTint=e.ambientTint,t.diffuseTint=o?2:0,t.specularTint=c?2:0,t.specularityFactorTint=u?1:0,t.metalnessTint=e.useMetalness&&e.metalness<1?1:0,t.glossTint=1,t.emissiveTint=(d?2:0)+(f?1:0),t.diffuseEncoding=null==(i=e.diffuseMap)?void 0:i.encoding,t.diffuseDetailEncoding=null==(n=e.diffuseDetailMap)?void 0:n.encoding,t.emissiveEncoding=null==(s=e.emissiveMap)?void 0:s.encoding,t.lightMapEncoding=null==(r=e.lightMap)?void 0:r.encoding,t.packedNormal=p,t.refractionTint=1!==e.refraction?1:0,t.refractionIndexTint=e.refractionIndex!==1/1.5?1:0,t.thicknessTint=e.useDynamicRefraction&&1!==e.thickness?1:0,t.specularEncoding=e.specularEncoding||"linear",t.sheenEncoding=e.sheenEncoding||"linear",t.aoMapUv=e.aoUvSet,t.aoDetail=!!e.aoMap,t.diffuseDetail=!!e.diffuseMap,t.normalDetail=!!e.normalMap,t.diffuseDetailMode=e.diffuseDetailMode,t.aoDetailMode=e.aoDetailMode,t.clearCoatTint=1!==e.clearCoat?1:0,t.clearCoatGloss=!!e.clearCoatGloss,t.clearCoatGlossTint=1!==e.clearCoatGloss?1:0,t.iorTint=e.refractionIndex!==1/1.5?1:0,t.iridescenceTint=1!==e.iridescence?1:0,t.sheenTint=e.useSheen&&au(e.sheen)?2:0,t.sheenGlossTint=1,t.glossInvert=e.glossInvert,t.sheenGlossInvert=e.sheenGlossInvert,t.clearCoatGlossInvert=e.clearCoatGlossInvert,t.useSpecularColor=l,t.litOptions.separateAmbient=!1,t.litOptions.useAmbientTint=e.ambientTint,t.litOptions.customFragmentShader=e.customFragmentShader,t.litOptions.pixelSnap=e.pixelSnap,t.litOptions.shadingModel=e.shadingModel,t.litOptions.ambientSH=!!e.ambientSH,t.litOptions.fastTbn=e.fastTbn,t.litOptions.twoSidedLighting=e.twoSidedLighting,t.litOptions.occludeSpecular=e.occludeSpecular,t.litOptions.occludeSpecularFloat=1!==e.occludeSpecularIntensity,t.litOptions.useMsdf=!!e.msdfMap,t.litOptions.msdfTextAttribute=!!e.msdfTextAttribute,t.litOptions.alphaToCoverage=e.alphaToCoverage,t.litOptions.opacityFadesSpecular=e.opacityFadesSpecular,t.litOptions.cubeMapProjection=e.cubeMapProjection,t.litOptions.occludeDirect=e.occludeDirect,t.litOptions.conserveEnergy=e.conserveEnergy&&0!==e.shadingModel,t.litOptions.useSpecular=h,t.litOptions.useSpecularityFactor=(u||!!e.specularityFactorMap)&&e.useMetalnessSpecularColor,t.litOptions.enableGGXSpecular=e.enableGGXSpecular,t.litOptions.fresnelModel=e.fresnelModel,t.litOptions.useRefraction=(e.refraction||!!e.refractionMap)&&(e.useDynamicRefraction||!!t.litOptions.reflectionSource),t.litOptions.useClearCoat=!!e.clearCoat,t.litOptions.useSheen=e.useSheen,t.litOptions.useIridescence=e.useIridescence&&0!==e.iridescence,t.litOptions.useMetalness=e.useMetalness,t.litOptions.useDynamicRefraction=e.useDynamicRefraction},e._updateEnvOptions=function(t,e,i){t.litOptions.fog=e.useFog?i.fog:"none",t.litOptions.gamma=e.useGammaTonemap?i.gammaCorrection:0,t.litOptions.toneMap=e.useGammaTonemap?i.toneMapping:-1,t.litOptions.fixSeams=!!e.cubeMap&&e.cubeMap.fixCubemapSeams;var n=0===e.shadingModel,s=!1;if(e.envAtlas&&e.cubeMap&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=e.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=e.cubeMap.encoding):e.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=e.envAtlas.encoding):e.cubeMap?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=e.cubeMap.encoding):e.sphereMap?(t.litOptions.reflectionSource="sphereMap",t.litOptions.reflectionEncoding=e.sphereMap.encoding):e.useSkybox&&i.envAtlas&&i.skybox&&!n?(t.litOptions.reflectionSource="envAtlasHQ",t.litOptions.reflectionEncoding=i.envAtlas.encoding,t.litOptions.reflectionCubemapEncoding=i.skybox.encoding,s=!0):e.useSkybox&&i.envAtlas&&!n?(t.litOptions.reflectionSource="envAtlas",t.litOptions.reflectionEncoding=i.envAtlas.encoding,s=!0):e.useSkybox&&i.skybox?(t.litOptions.reflectionSource="cubeMap",t.litOptions.reflectionEncoding=i.skybox.encoding,s=!0):(t.litOptions.reflectionSource=null,t.litOptions.reflectionEncoding=null),e.ambientSH&&!n)t.litOptions.ambientSource="ambientSH",t.litOptions.ambientEncoding=null;else{var r=e.envAtlas||(e.useSkybox&&i.envAtlas?i.envAtlas:null);r&&!n?(t.litOptions.ambientSource="envAtlas",t.litOptions.ambientEncoding=r.encoding):(t.litOptions.ambientSource="constant",t.litOptions.ambientEncoding=null)}t.litOptions.skyboxIntensity=s&&(1!==i.skyboxIntensity||i.physicalUnits),t.litOptions.useCubeMapRotation=s&&i._skyboxRotationShaderInclude},e._updateLightOptions=function(t,e,i,n,s){if(t.lightMap=!1,t.lightMapChannel="",t.lightMapUv=0,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!1,t.dirLightMap=!1,n&&(t.litOptions.noShadow=0!=(1&n),0!=(64&n)&&(t.lightMapEncoding=7===e.lightmapPixelFormat?"rgbm":"linear",t.lightMap=!0,t.lightMapChannel="rgb",t.lightMapUv=1,t.lightMapTransform=0,t.litOptions.lightMapWithoutAmbient=!i.lightMap,0!=(n&Xa)&&(t.dirLightMap=!0),0!=(n&Qa)&&(t.litOptions.lightMapWithoutAmbient=!1))),i.useLighting){var r=[],a=n?n>>16:1;t.litOptions.lightMaskDynamic=!!(1&a),s&&($h.collectLights(0,s[0],r,a),$h.collectLights(1,s[1],r,a),$h.collectLights(2,s[2],r,a)),t.litOptions.lights=r}else t.litOptions.lights=[];0===t.litOptions.lights.length&&(t.litOptions.noShadow=!0)},e._getMapTransformID=function(t,e){if(!t)return 0;var i=this._mapXForms[e];i||(i=[],this._mapXForms[e]=i);for(var n=0;n0&&(this._setParameter("material_clearCoat",this.clearCoat),this._setParameter("material_clearCoatGloss",this.clearCoatGloss),this._setParameter("material_clearCoatBumpiness",this.clearCoatBumpiness)),this._setParameter("material_gloss",n("gloss")),this.emissiveMap&&!this.emissiveTint||this._setParameter("material_emissive",n("emissive")),1!==this.emissiveIntensity&&this._setParameter("material_emissiveIntensity",this.emissiveIntensity),this.refraction>0&&this._setParameter("material_refraction",this.refraction),this.useDynamicRefraction&&(this._setParameter("material_thickness",this.thickness),this._setParameter("material_attenuation",n("attenuation")),this._setParameter("material_invAttenuationDistance",0===this.attenuationDistance?0:1/this.attenuationDistance)),this.useIridescence&&(this._setParameter("material_iridescence",this.iridescence),this._setParameter("material_iridescenceRefractionIndex",this.iridescenceRefractionIndex),this._setParameter("material_iridescenceThicknessMin",this.iridescenceThicknessMin),this._setParameter("material_iridescenceThicknessMax",this.iridescenceThicknessMax)),this._setParameter("material_opacity",this.opacity),!1===this.opacityFadesSpecular&&this._setParameter("material_alphaFade",this.alphaFade),this.occludeSpecular&&this._setParameter("material_occludeSpecularIntensity",this.occludeSpecularIntensity),1===this.cubeMapProjection&&this._setParameter(n("cubeMapProjectionBox")),eu)this._updateMap(s);this.ambientSH&&this._setParameter("ambientSH[0]",this.ambientSH),this.normalMap&&this._setParameter("material_bumpiness",this.bumpiness),this.normalMap&&this.normalDetailMap&&this._setParameter("material_normalDetailMapBumpiness",this.normalDetailMapBumpiness),this.heightMap&&this._setParameter("material_heightMapFactor",n("heightMapFactor"));var r=0===this.shadingModel;this.envAtlas&&this.cubeMap&&!r?(this._setParameter("texture_envAtlas",this.envAtlas),this._setParameter("texture_cubeMap",this.cubeMap)):this.envAtlas&&!r?this._setParameter("texture_envAtlas",this.envAtlas):this.cubeMap?this._setParameter("texture_cubeMap",this.cubeMap):this.sphereMap&&this._setParameter("texture_sphereMap",this.sphereMap),this._setParameter("material_reflectivity",this.reflectivity),this._processParameters("_activeParams"),this._dirtyShader&&this.clearVariants()},i.updateEnvUniforms=function(t,e){var i=0===this.shadingModel;!(this.envAtlas&&!i||this.cubeMap||this.sphereMap)&&this.useSkybox&&(e.envAtlas&&e.skybox&&!i?(this._setParameter("texture_envAtlas",e.envAtlas),this._setParameter("texture_cubeMap",e.skybox)):e.envAtlas&&!i?this._setParameter("texture_envAtlas",e.envAtlas):e.skybox&&this._setParameter("texture_cubeMap",e.skybox)),this._processParameters("_activeLightingParams")},i.getShaderVariant=function(t,e,i,n,s,r,a,o,h){this.updateEnvUniforms(t,e);var l=Vo.get(t).getByIndex(s),c=2===s||3===s||l.isShadow,u=c?su.optionsContextMin:su.optionsContext;c?this.shaderOptBuilder.updateMinRef(u,e,this,i,s,r):this.shaderOptBuilder.updateRef(u,e,this,i,s,r),this.onUpdateShader&&(u=this.onUpdateShader(u));var d=new xo(a,o,h),f=Ao(t);f.register("standard",su);var p=f.getProgram("standard",u,d,this.userId);return this._dirtyShader=!1,p},i.destroy=function(){for(var e in this._assetReferences)this._assetReferences[e]._unbind();this._assetReferences=null,t.prototype.destroy.call(this)},y(e,[{key:"shader",get:function(){return null},set:function(t){}},{key:"chunks",get:function(){return this._dirtyShader=!0,this._chunks},set:function(t){this._dirtyShader=!0,this._chunks=t}}]),e}(Yo);vu.TEXTURE_PARAMETERS=cu,vu.CUBEMAP_PARAMETERS=du;var yu=function(t,e){_u[t]=e},xu=function(t,e,i,n){Object.defineProperty(vu.prototype,t,{get:n||function(){return this["_"+t]},set:i}),mu[t]={value:e}},Su=function(t){return t.defaultValue&&t.defaultValue.clone?function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue.clone()}),(function(t){var n=this[e];n.equals(t)||(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=n.copy(t))}),t.getterFunc)}(t):function(t){var e="_"+t.name,i=t.dirtyShaderFunc||function(){return!0};xu(t.name,(function(){return t.defaultValue}),(function(t){var n=this[e];n!==t&&(this._dirtyShader=this._dirtyShader||i(n,t),this[e]=t)}),t.getterFunc)}(t)};function bu(t,e,i,n){void 0===e&&(e="rgb"),void 0===i&&(i=!0),void 0===n&&(n=0),eu[t]=e.length||-1,Su({name:t+"Map",defaultValue:null,dirtyShaderFunc:function(t,e){return!!t!=!!e||t&&(t.type!==e.type||t.fixCubemapSeams!==e.fixCubemapSeams||t.format!==e.format)}}),Su({name:t+"MapTiling",defaultValue:new It(1,1)}),Su({name:t+"MapOffset",defaultValue:new It(0,0)}),Su({name:t+"MapRotation",defaultValue:0}),Su({name:t+"MapUv",defaultValue:n}),e&&(Su({name:t+"MapChannel",defaultValue:e}),i&&(Su({name:t+"VertexColor",defaultValue:!1}),Su({name:t+"VertexColorChannel",defaultValue:e})));var s=t+"MapTiling",r=t+"MapOffset",a=t+"MapRotation",o=t+"MapTransform";yu(o,(function(t,e,i){var n=t[s],h=t[r],l=t[a];if(1===n.x&&1===n.y&&0===h.x&&0===h.y&&0===l)return null;var c=t._allocUniform(o,(function(){return[{name:"texture_"+o+"0",value:new Float32Array(3)},{name:"texture_"+o+"1",value:new Float32Array(3)}]})),u=Math.cos(l*_t.DEG_TO_RAD),d=Math.sin(l*_t.DEG_TO_RAD),f=c[0].value;f[0]=u*n.x,f[1]=-d*n.y,f[2]=h.x;var p=c[1].value;return p[0]=d*n.x,p[1]=u*n.y,p[2]=1-n.y-h.y,c}))}function wu(t,e){Su({name:t,defaultValue:e,getterFunc:function(){return this._dirtyShader=!0,this["_"+t]}}),yu(t,(function(e,i,n){var s=e._allocUniform(t,(function(){return new Float32Array(3)})),r=e[t];return e.useGammaTonemap&&n.gammaCorrection?(s[0]=Math.pow(r.r,2.2),s[1]=Math.pow(r.g,2.2),s[2]=Math.pow(r.b,2.2)):(s[0]=r.r,s[1]=r.g,s[2]=r.b),s}))}function Tu(t,e,i){Su({name:t,defaultValue:e,dirtyShaderFunc:function(t,e){return(0===t||1===t)!=(0===e||1===e)}}),yu(t,i)}function Au(t,e){Su({name:t,defaultValue:null,dirtyShaderFunc:function(t,e){return!!t==!!e}}),yu(t,e)}function Cu(t,e){Su({name:t,defaultValue:e})}!function(){wu("ambient",new gt(.7,.7,.7)),wu("diffuse",new gt(1,1,1)),wu("specular",new gt(0,0,0)),wu("emissive",new gt(0,0,0)),wu("sheen",new gt(1,1,1)),wu("attenuation",new gt(1,1,1)),Tu("emissiveIntensity",1),Tu("specularityFactor",1),Tu("sheenGloss",0),Tu("gloss",.25,(function(t,e,i){return 0===t.shadingModel?Math.pow(2,11*t.gloss):t.gloss})),Tu("heightMapFactor",1,(function(t,e,i){return.025*t.heightMapFactor})),Tu("opacity",1),Tu("alphaFade",1),Tu("alphaTest",0),Tu("bumpiness",1),Tu("normalDetailMapBumpiness",1),Tu("reflectivity",1),Tu("occludeSpecularIntensity",1),Tu("refraction",0),Tu("refractionIndex",1/1.5),Tu("thickness",0),Tu("attenuationDistance",0),Tu("metalness",1),Tu("anisotropy",0),Tu("clearCoat",0),Tu("clearCoatGloss",1),Tu("clearCoatBumpiness",1),Tu("aoUvSet",0,null),Tu("iridescence",0),Tu("iridescenceRefractionIndex",1/1.5),Tu("iridescenceThicknessMin",0),Tu("iridescenceThicknessMax",0),Au("ambientSH"),Au("cubeMapProjectionBox",(function(t,e,i){var n=t._allocUniform("cubeMapProjectionBox",(function(){return[{name:"envBoxMin",value:new Float32Array(3)},{name:"envBoxMax",value:new Float32Array(3)}]})),s=t.cubeMapProjectionBox.getMin(),r=n[0].value;r[0]=s.x,r[1]=s.y,r[2]=s.z;var a=t.cubeMapProjectionBox.getMax(),o=n[1].value;return o[0]=a.x,o[1]=a.y,o[2]=a.z,n})),Cu("ambientTint",!1),Cu("diffuseTint",!1),Cu("specularTint",!1),Cu("specularityFactorTint",!1),Cu("emissiveTint",!1),Cu("fastTbn",!1),Cu("useMetalness",!1),Cu("useMetalnessSpecularColor",!1),Cu("useSheen",!1),Cu("enableGGXSpecular",!1),Cu("occludeDirect",!1),Cu("normalizeNormalMap",!0),Cu("conserveEnergy",!0),Cu("opacityFadesSpecular",!0),Cu("occludeSpecular",1),Cu("shadingModel",1),Cu("fresnelModel",2),Cu("useDynamicRefraction",!1),Cu("cubeMapProjection",0),Cu("customFragmentShader",null),Cu("useFog",!0),Cu("useLighting",!0),Cu("useGammaTonemap",!0),Cu("useSkybox",!0),Cu("forceUv1",!1),Cu("pixelSnap",!1),Cu("twoSidedLighting",!1),Cu("nineSlicedMode",void 0),Cu("msdfTextAttribute",!1),Cu("useIridescence",!1),Cu("glossInvert",!1),Cu("sheenGlossInvert",!1),Cu("clearCoatGlossInvert",!1),bu("diffuse"),bu("specular"),bu("emissive"),bu("thickness","g"),bu("specularityFactor","g"),bu("normal",""),bu("metalness","g"),bu("gloss","g"),bu("opacity","a"),bu("refraction","g"),bu("height","g",!1),bu("ao","g"),bu("light","rgb",!0,1),bu("msdf",""),bu("diffuseDetail","rgb",!1),bu("normalDetail",""),bu("aoDetail","g",!1),bu("clearCoat","g"),bu("clearCoatGloss","g"),bu("clearCoatNormal",""),bu("sheen","rgb"),bu("sheenGloss","g"),bu("iridescence","g"),bu("iridescenceThickness","g"),Cu("diffuseDetailMode",Ha),Cu("aoDetailMode",Ha),Au("cubeMap"),Au("sphereMap"),Au("envAtlas");var t=[null,null,null,null,null,null];xu("prefilteredCubemaps",(function(){return t.slice()}),(function(t){var e=this._prefilteredCubemaps;t=t||[];for(var i=!1,n=!0,s=0;s<6;++s){var r=t[s]||null;e[s]!==r&&(e[s]=r,i=!0),n=n&&!!e[s]}i&&(n?this.envAtlas=Jc.generatePrefilteredAtlas(e,{target:this.envAtlas}):this.envAtlas&&(this.envAtlas.destroy(),this.envAtlas=null),this._dirtyShader=!0)}),(function(){return this._prefilteredCubemaps}))}(),new Et(1,1,1),new Et(40,0,0);var Eu=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e)||this).layerComposition=void 0,r.scene=void 0,r.renderer=void 0,r.renderActions=[],r.layerComposition=i,r.scene=n,r.renderer=s,r}S(e,t);var i=e.prototype;return i.addRenderAction=function(t){if(this.renderActions.push(t),1===this.renderActions.length){var e=t.camera;this.fullSizeClearRect=e.camera.fullSizeClearRect,this.fullSizeClearRect&&(t.clearColor&&this.setClearColor(e.camera.clearColor),t.clearDepth&&this.setClearDepth(e.camera.clearDepth),t.clearStencil&&this.setClearStencil(e.camera.clearStencil))}},i.addLayer=function(t,e,i,n){void 0===n&&(n=!0);var s=new Ic;if(s.renderTarget=this.renderTarget,s.camera=t,s.layer=e,s.transparent=i,n){var r=0===this.renderActions.length;s.setupClears(r?t:void 0,e)}this.addRenderAction(s)},i.before=function(){var t=this.renderActions;if(t.length){var e=t[0];e.camera.onPreRender&&e.firstCameraUse&&e.camera.onPreRender()}},i.execute=function(){for(var t=this.layerComposition,e=this.renderActions,i=0;i0){var a=this._shaderVersion;ku.forEach((function(t){a>=0&&t._shaderVersion!==a&&(t.getShaderVariant!==Yo.prototype.getShaderVariant&&t.clearVariants(),t._shaderVersion=a)})),ku.clear()}},e.removeMeshInstances=function(t,e){for(var i=this.meshInstances,n=this.meshInstancesSet,s=0;s=0&&i.splice(a,1)}}e||this.removeShadowCasters(t)},e.addShadowCasters=function(t){for(var e=this.shadowCasters,i=this.shadowCastersSet,n=0;n=0&&e.splice(r,1)}}},e.clearMeshInstances=function(t){void 0===t&&(t=!1),this.meshInstances.length=0,this.meshInstancesSet.clear(),t||(this.shadowCasters.length=0,this.shadowCastersSet.clear())},e.markLightsDirty=function(){this._lightHashDirty=!0,this._lightIdHashDirty=!0,this._splitLightsDirty=!0},e.addLight=function(t){var e=t.light;this._lightsSet.has(e)||(this._lightsSet.add(e),this._lights.push(e),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.add(e)},e.removeLight=function(t){var e=t.light;this._lightsSet.has(e)&&(this._lightsSet.delete(e),this._lights.splice(this._lights.indexOf(e),1),this.markLightsDirty()),0!==e.type&&this._clusteredLightsSet.delete(e)},e.clearLights=function(){var t=this;this._lightsSet.forEach((function(e){return e.removeLayer(t)})),this._lightsSet.clear(),this._clusteredLightsSet.clear(),this._lights.length=0,this.markLightsDirty()},e.evaluateLightHash=function(t,e,i){for(var n=0,s=this._lights,r=0;r0&&(Ou.sort(),n=$i(Ou),Ou.length=0),n},e.getLightHash=function(t){return this._lightHashDirty&&(this._lightHashDirty=!1,this._lightHash=this.evaluateLightHash(!t,!0,!1)),this._lightHash},e.getLightIdHash=function(){return this._lightIdHashDirty&&(this._lightIdHashDirty=!1,this._lightIdHash=this.evaluateLightHash(!0,!1,!0)),this._lightIdHash},e.addCamera=function(t){this.camerasSet.has(t.camera)||(this.camerasSet.add(t.camera),this.cameras.push(t),this._dirtyComposition=!0)},e.removeCamera=function(t){if(this.camerasSet.has(t.camera)){this.camerasSet.delete(t.camera);var e=this.cameras.indexOf(t);this.cameras.splice(e,1),this._dirtyComposition=!0}},e.clearCameras=function(){this.cameras.length=0,this.camerasSet.clear(),this._dirtyComposition=!0},e._calculateSortDistances=function(t,e,i,n){for(var s=0;s0}},{key:"clusteredLightsSet",get:function(){return this._clusteredLightsSet}},{key:"splitLights",get:function(){if(this._splitLightsDirty){this._splitLightsDirty=!1;for(var t=this._splitLights,e=0;e1&&Nu(this.cameras),this.camerasMap.clear();for(var a=0;a0)this.addDummyRenderAction(h,c);else{for(var u=!0,d=h,f=null,p=!1,m=0;m0&&c.layers.indexOf(_.id)>=0){o.push(_),p||_.id!==c.disablePostEffectsLayer||(p=!0,f&&(f.triggerPostprocess=!0));var g=this.subLayerList[m];f=this.addRenderAction(h,_,g,c,u,p),h++,u=!1}}d=0;l--)if(h[l].camera===n&&h[l].renderTarget===a){o=!0;break}r&&n.postEffectsEnabled&&(a=null);var c=this.getNextRenderAction(t);c.triggerPostprocess=!1,c.layer=e,c.transparent=i,c.camera=n,c.renderTarget=a,c.firstCameraUse=s,c.lastCameraUse=!1;var u=s||!o,d=e.clearColorBuffer||e.clearDepthBuffer||e.clearStencilBuffer;return(u||d)&&c.setupClears(u?n:void 0,e),c},i.propagateRenderTarget=function(t,e){for(var i=t;i>=0;i--){var n=this._renderActions[i],s=n.layer;if(n.renderTarget&&1!==s.id)break;if(1!==s.id){if(n.useCameraPasses)break;var r=null==n?void 0:n.camera.camera;if(r&&(!e.camera.rect.equals(r.rect)||!e.camera.scissorRect.equals(r.scissorRect)))break;n.renderTarget=e.renderTarget}}},i._logRenderActions=function(){},i._isLayerAdded=function(t){return this.layerIdMap.get(t.id)===t},i._isSublayerAdded=function(t,e){return void 0!==(e?this.layerTransparentIndexMap:this.layerOpaqueIndexMap).get(t)},i.push=function(t){this._isLayerAdded(t)||(this.layerList.push(t),this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this._transparentOrder[t.id]=this.subLayerList.push(!0)-1,this.subLayerEnabled.push(!0),this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insert=function(t,e){if(!this._isLayerAdded(t)){this.layerList.splice(e,0,t,t),this.subLayerList.splice(e,0,!1,!0);var i=this.layerList.length;this._updateOpaqueOrder(e,i-1),this._updateTransparentOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.remove=function(t){var e=this.layerList.indexOf(t);for(delete this._opaqueOrder[e],delete this._transparentOrder[e];e>=0;)this.layerList.splice(e,1),this.subLayerList.splice(e,1),this.subLayerEnabled.splice(e,1),e=this.layerList.indexOf(t),this._dirty=!0,this.fire("remove",t);var i=this.layerList.length;this._updateOpaqueOrder(0,i-1),this._updateTransparentOrder(0,i-1),this._updateLayerMaps()},i.pushOpaque=function(t){this._isSublayerAdded(t,!1)||(this.layerList.push(t),this._opaqueOrder[t.id]=this.subLayerList.push(!1)-1,this.subLayerEnabled.push(!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t))},i.insertOpaque=function(t,e){if(!this._isSublayerAdded(t,!1)){this.layerList.splice(e,0,t),this.subLayerList.splice(e,0,!1);var i=this.subLayerList.length;this._updateOpaqueOrder(e,i-1),this.subLayerEnabled.splice(e,0,!0),this._updateLayerMaps(),this._dirty=!0,this.fire("add",t)}},i.removeOpaque=function(t){for(var e=0,i=this.layerList.length;e45?(t.radius=e*this._outerConeAngleSin,Vu.mulScalar(-e*n)):(t.radius=e/(2*n),Vu.mulScalar(-t.radius)),t.center.add2(s.getPosition(),Vu)}else 1===this._type&&(t.center=this._node.getPosition(),t.radius=this.attenuationEnd)},e.getBoundingBox=function(t){if(2===this._type){var e=this.attenuationEnd,i=this._outerConeAngle,n=this._node,s=Math.abs(Math.sin(i*_t.DEG_TO_RAD)*e);t.center.set(0,.5*-e,0),t.halfExtents.set(s,.5*e,s),t.setFromTransformedAabb(t,n.getWorldTransform(),!0)}else 1===this._type&&(t.center.copy(this._node.getPosition()),t.halfExtents.set(this.attenuationEnd,this.attenuationEnd,this.attenuationEnd))},e._updateFinalColor=function(){var e=this._color,i=e.r,n=e.g,s=e.b,r=this._intensity;this._usePhysicalUnits&&(r=this._luminance/t.getLightUnitConversion(this._type,this._outerConeAngle*_t.DEG_TO_RAD,this._innerConeAngle*_t.DEG_TO_RAD));var a=this._finalColor,o=this._linearFinalColor;a[0]=i*r,a[1]=n*r,a[2]=s*r,r>=1?(o[0]=Math.pow(i,2.2)*r,o[1]=Math.pow(n,2.2)*r,o[2]=Math.pow(s,2.2)*r):(o[0]=Math.pow(a[0],2.2),o[1]=Math.pow(a[1],2.2),o[2]=Math.pow(a[2],2.2))},e.setColor=function(){1===arguments.length?this._color.set(arguments[0].r,arguments[0].g,arguments[0].b):3===arguments.length&&this._color.set(arguments[0],arguments[1],arguments[2]),this._updateFinalColor()},e.layersDirty=function(){this.layers.forEach((function(t){t.markLightsDirty()}))},e.updateKey=function(){var t=this._type<<29|(this._castShadows?1:0)<<28|this._shadowType<<25|this._falloffMode<<23|(0!==this._normalOffsetBias?1:0)<<22|(this._cookie?1:0)<<21|(this._cookieFalloff?1:0)<<20|Hu[this._cookieChannel.charAt(0)]<<18|(this._cookieTransform?1:0)<<12|this._shape<<10|this.numCascades-1<<8|(this.affectSpecularity?1:0)<<7|this.mask<<6;3===this._cookieChannel.length&&(t|=Hu[this._cookieChannel.charAt(1)]<<16,t|=Hu[this._cookieChannel.charAt(2)]<<14),t!==this.key&&this.layersDirty(),this.key=t},y(t,[{key:"numCascades",get:function(){return this.cascades.length},set:function(t){this.cascades&&this.numCascades===t||(this.cascades=Xu[t-1],this._shadowMatrixPalette=new Float32Array(64),this._shadowCascadeDistances=new Float32Array(4),this._destroyShadowMap(),this.updateKey())}},{key:"shadowMap",get:function(){return this._shadowMap},set:function(t){this._shadowMap!==t&&(this._destroyShadowMap(),this._shadowMap=t)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.updateKey())}},{key:"numShadowFaces",get:function(){var t=this._type;return 0===t?this.numCascades:1===t?6:1}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){this._type=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowUpdateOverrides=null,this.shadowType=e}}},{key:"shape",get:function(){return this._shape},set:function(t){if(this._shape!==t){this._shape=t,this._destroyShadowMap(),this.updateKey();var e=this._shadowType;this._shadowType=null,this.shadowType=e}}},{key:"usePhysicalUnits",get:function(){return this._usePhysicalUnits},set:function(t){this._usePhysicalUnits!==t&&(this._usePhysicalUnits=t,this._updateFinalColor())}},{key:"shadowType",get:function(){return this._shadowType},set:function(t){if(this._shadowType!==t){var e=this.device;1===this._type&&0!==t&&6!==t&&(t=0);var i=e.supportsDepthShadow;4!==t||i||(t=0),3!==t||e.textureFloatRenderable&&e.textureFloatFilterable||(t=2),2!==t||e.textureHalfFloatRenderable||(t=1),this._isVsm=t>=1&&t<=3,this._isPcf=5===t||0===t||4===t,this._shadowType=t,this._destroyShadowMap(),this.updateKey()}}},{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(this._enabled=t,this.layersDirty())}},{key:"castShadows",get:function(){return this._castShadows&&4!==this._mask&&0!==this._mask},set:function(t){this._castShadows!==t&&(this._castShadows=t,this._destroyShadowMap(),this.layersDirty(),this.updateKey())}},{key:"shadowResolution",get:function(){return this._shadowResolution},set:function(t){this._shadowResolution!==t&&(t=1===this._type?Math.min(t,this.device.maxCubeMapSize):Math.min(t,this.device.maxTextureSize),this._shadowResolution=t,this._destroyShadowMap())}},{key:"vsmBlurSize",get:function(){return this._vsmBlurSize},set:function(t){this._vsmBlurSize!==t&&(t%2==0&&t++,this._vsmBlurSize=t)}},{key:"normalOffsetBias",get:function(){return this._normalOffsetBias},set:function(t){this._normalOffsetBias!==t&&((!this._normalOffsetBias&&t||this._normalOffsetBias&&!t)&&this.updateKey(),this._normalOffsetBias=t)}},{key:"falloffMode",get:function(){return this._falloffMode},set:function(t){this._falloffMode!==t&&(this._falloffMode=t,this.updateKey())}},{key:"innerConeAngle",get:function(){return this._innerConeAngle},set:function(t){this._innerConeAngle!==t&&(this._innerConeAngle=t,this._innerConeAngleCos=Math.cos(t*Math.PI/180),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"outerConeAngle",get:function(){return this._outerConeAngle},set:function(t){this._outerConeAngle!==t&&(this._outerConeAngle=t,this._updateOuterAngle(t),this._usePhysicalUnits&&this._updateFinalColor())}},{key:"penumbraSize",get:function(){return this._penumbraSize},set:function(t){this._penumbraSize=t}},{key:"intensity",get:function(){return this._intensity},set:function(t){this._intensity!==t&&(this._intensity=t,this._updateFinalColor())}},{key:"affectSpecularity",get:function(){return this._affectSpecularity},set:function(t){0===this._type&&(this._affectSpecularity=t,this.updateKey())}},{key:"luminance",get:function(){return this._luminance},set:function(t){this._luminance!==t&&(this._luminance=t,this._updateFinalColor())}},{key:"cookieMatrix",get:function(){return this._cookieMatrix||(this._cookieMatrix=new zt),this._cookieMatrix}},{key:"atlasViewport",get:function(){return this._atlasViewport||(this._atlasViewport=new Dt(0,0,1,1)),this._atlasViewport}},{key:"cookie",get:function(){return this._cookie},set:function(t){this._cookie!==t&&(this._cookie=t,this.updateKey())}},{key:"cookieFalloff",get:function(){return this._cookieFalloff},set:function(t){this._cookieFalloff!==t&&(this._cookieFalloff=t,this.updateKey())}},{key:"cookieChannel",get:function(){return this._cookieChannel},set:function(t){if(this._cookieChannel!==t){if(t.length<3)for(var e=t.charAt(t.length-1),i=3-t.length,n=0;n0&&(e+="varying vec2 uv0;\nuniform highp float morphFactor["+t+"];\n");for(var i=0;i=this.maxSubmitCount&&(s(r,a),r=0,a=!0))}(r>0||0===o&&!this.zeroTextures)&&s(r,a)},e._updateTextureMorph=function(){this.device,(this._activeTargets.length>0||!this.zeroTextures)&&(this.rtPositions&&this._updateTextureRenderTarget(this.rtPositions,"texturePositions"),this.rtNormals&&this._updateTextureRenderTarget(this.rtNormals,"textureNormals"),this.zeroTextures=0===this._activeTargets.length)},e._updateVertexMorph=function(){for(var t=this.maxSubmitCount,e=0;e1e-5){this._activeTargets.length<=e&&(this._activeTargets[e]={});var s=this._activeTargets[e++];s.absWeight=n,s.weight=this.getWeight(i),s.target=t[i]}}this._activeTargets.length=e;var r=this.morph.maxActiveTargets;this._activeTargets.length>r&&(this._activeTargets.sort((function(t,e){return t.absWeightl)return!1;this.morphTextureWidth=c,this.morphTextureHeight=u;var d=!1,f=3,p=Ct.float2Half;this._textureFormat===ue&&(d=!0,f=4);for(var m=[],_=0;_0&&(s+=wo.screenDepthPS),s+=wo.particle_cpuVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_cpu_endVS,e.soft>0&&(s+=wo.particle_softVS)):(s+=wo.particle_initVS,s+=e.pack8?wo.particleInputRgba8PS:wo.particleInputFloatPS,e.soft>0&&(s+=wo.screenDepthPS),s+=wo.particleVS,e.localSpace&&(s+=wo.particle_localShiftVS),e.animTex&&(s+=this._animTex(e)),e.wrap&&(s+=wo.particle_wrapVS),e.alignToMotion&&(s+=wo.particle_pointAlongVS),s+=e.mesh?wo.particle_meshVS:r,1===e.normal&&(s+=wo.particle_normalVS),2===e.normal&&(s+=wo.particle_TBNVS),e.stretch>0&&(s+=wo.particle_stretchVS),s+=wo.particle_endVS,e.soft>0&&(s+=wo.particle_softVS)),s+="}\n",e.normal>0&&(1===e.normal?n+="\nvarying vec3 Normal;\n":2===e.normal&&(n+="\nvarying mat3 ParticleMat;\n"),n+="\nuniform vec3 lightCube[6];\n"),e.soft&&(n+="\nvarying float vDepth;\n"),0===e.normal&&"none"===e.fog&&(e.srgb=!1),n+=wo.decodePS,n+=Eo.gammaCode(e.gamma),n+=Eo.tonemapCode(e.toneMap),"linear"===e.fog?n+=wo.fogLinearPS:"exp"===e.fog?n+=wo.fogExpPS:"exp2"===e.fog?n+=wo.fogExp2PS:n+=wo.fogNonePS,2===e.normal&&(n+="\nuniform sampler2D normalMap;\n"),e.soft>0&&(n+=wo.screenDepthPS),n+=wo.particlePS,e.soft>0&&(n+=wo.particle_softPS),1===e.normal&&(n+="\nvec3 normal = Normal;\n"),2===e.normal&&(n+=wo.particle_normalMapPS),e.normal>0&&(n+=e.halflambert?wo.particle_halflambertPS:wo.particle_lambertPS),e.normal>0&&(n+=wo.particle_lightingPS),2===e.blend?n+=wo.particle_blendNormalPS:1===e.blend?n+=wo.particle_blendAddPS:5===e.blend&&(n+=wo.particle_blendMultiplyPS),n+=wo.particle_endPS,hr.createDefinition(t,{name:"ParticleShader",vertexCode:s,fragmentCode:n})},e}(Eo),id=new ed,nd=1,sd=new zt,rd=new zt,ad=new Et,od=new Et,hd=new Et,ld=new Et,cd=new Et,ud=new Et,dd=new Et,fd=new Et,pd=new Et,md=new Et,_d=new Et,gd=new Et,vd=new Et;function yd(t){return t-Math.floor(t)}function xd(t){return Math.max(Math.min(t,1),0)}function Sd(t,e){return t-e*Math.floor(t/e)}function bd(t){var e=yd(t),i=yd(255*t);return[e-=i/255,i-=i/255]}var wd=function(){function t(t){this._emitter=t}var e=t.prototype;return e.calcSpawnPosition=function(t,e,i,n,s){var r=this._emitter,a=Math.random(),o=Math.random(),h=Math.random(),l=Math.random();if(r.useCpu&&(t[4*s+0+2*r.numParticlesPot*4]=a,t[4*s+1+2*r.numParticlesPot*4]=o,t[4*s+2+2*r.numParticlesPot*4]=h),od.x=a-.5,od.y=o-.5,od.z=h-.5,0===r.emitterShape){var c=Math.max(Math.abs(od.x),Math.max(Math.abs(od.y),Math.abs(od.z))),u=c+(.5-c)*i[0],d=c+(.5-c)*i[1],f=c+(.5-c)*i[2];od.x=u*(c===Math.abs(od.x)?Math.sign(od.x):2*od.x),od.y=d*(c===Math.abs(od.y)?Math.sign(od.y):2*od.y),od.z=f*(c===Math.abs(od.z)?Math.sign(od.z):2*od.z),r.localSpace?ad.copy(e.transformPoint(od)):ad.copy(n).add(e.transformPoint(od))}else{od.normalize();var p=0===r.emitterRadius?0:r.emitterRadiusInner/r.emitterRadius,m=l*(1-p)+p;r.localSpace?ad.copy(od.mulScalar(m*r.emitterRadius)):ad.copy(n).add(od.mulScalar(m*r.emitterRadius))}var _,g,v,y,x,S=-_t.lerp(r.rate,r.rate2,a)*s;if(r.pack8){var b=(ad.x-r.worldBounds.center.x)/r.worldBoundsSize.x+.5,w=(ad.y-r.worldBounds.center.y)/r.worldBoundsSize.y+.5,T=(ad.z-r.worldBounds.center.z)/r.worldBoundsSize.z+.5,A=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a);A=A%(2*Math.PI)/(2*Math.PI);var C=bd(b);t[4*s]=C[0],t[4*s+1]=C[1];var E=bd(w);t[4*s+2]=E[0],t[4*s+3]=E[1];var M=bd(T);t[4*s+0+4*r.numParticlesPot]=M[0],t[4*s+1+4*r.numParticlesPot]=M[1];var P=bd(A);t[4*s+2+4*r.numParticlesPot]=P[0],t[4*s+3+4*r.numParticlesPot]=P[1];t[4*s+3+4*r.numParticlesPot*2]=1;var R=Math.max(r.lifetime,(r.numParticles-1)*Math.max(r.rate,r.rate2)),I=r.lifetime+1,L=(g=yd(_=S=(S+R)/(R+I)),v=yd(255*_),y=yd(65025*_),x=yd(160581375*_),[g-=v/255,v-=y/255,y-=x/255,x-=x/255]);t[4*s+0+4*r.numParticlesPot*3]=L[0],t[4*s+1+4*r.numParticlesPot*3]=L[1],t[4*s+2+4*r.numParticlesPot*3]=L[2],t[4*s+3+4*r.numParticlesPot*3]=L[3]}else t[4*s]=ad.x,t[4*s+1]=ad.y,t[4*s+2]=ad.z,t[4*s+3]=_t.lerp(r.startAngle*_t.DEG_TO_RAD,r.startAngle2*_t.DEG_TO_RAD,a),t[4*s+3+4*r.numParticlesPot]=S},e.update=function(t,e,i,n,s,r,a,o){var h,l,c,u=this._emitter;if(u.meshInstance.node){for(var d=u.meshInstance.node.worldTransform,f=0;f<12;f++)sd.data[f]=d.data[f];rd.copy(sd),rd.invert(),Iu=u.meshInstance.node.localScale,nd=Math.max(Math.max(Iu.x,Iu.y),Iu.z)}r=null===u.meshInstance.node||u.localSpace?Et.ZERO:u.meshInstance.node.getPosition();for(var p,m,_,g,v,y,x,S,b=u.camera?u.camera._node.getPosition():Et.ZERO,w=u.useMesh?17:15,T=u.precision-1,A=0;A=P)&&this.calcSpawnPosition(i,n,s,r,C);var O=R>0&&R0&&(1===u.emitterShape?(od.copy(hd).mulScalar(2).sub(Et.ONE).normalize(),ud.add(od.mulScalar(u.initialVelocity))):ud.add(Et.FORWARD.mulScalar(u.initialVelocity))),cd.x+=(dd.x-cd.x)*hd.x,cd.y+=(dd.y-cd.y)*hd.y,cd.z+=(dd.z-cd.z)*hd.z,_+=(g-_)*hd.y,L=(L+1e4*E%1*(v-L))*nd,D=1e3*E%1*(x-y),u.meshInstance.node&&(u.localSpace?(ud.x/=Iu.x,ud.y/=Iu.y,ud.z/=Iu.z):sd.transformPoint(ud,ud)),u.localSpace?(rd.transformPoint(cd,cd),ud.add(cd).add(pd)):(ud.add(cd.mul(Iu)),ud.add(pd.mul(Iu))),gd.copy(ud),md.copy(ld).add(ud.mulScalar(a)),_d.copy(md),i[4*C]=_d.x,i[4*C+1]=_d.y,i[4*C+2]=_d.z,i[4*C+3]+=_*a,u.wrap&&u.wrapBounds&&(u.localSpace||_d.sub(r),_d.x=Sd(_d.x,u.wrapBounds.x)-.5*u.wrapBounds.x,_d.y=Sd(_d.y,u.wrapBounds.y)-.5*u.wrapBounds.y,_d.z=Sd(_d.z,u.wrapBounds.z)-.5*u.wrapBounds.z,u.localSpace||_d.add(r)),u.sort>0&&(1===u.sort?(vd.copy(_d).sub(b),u.particleDistance[C]=-(vd.x*vd.x+vd.y*vd.y+vd.z*vd.z)):2===u.sort?u.particleDistance[C]=R:3===u.sort&&(u.particleDistance[C]=-R))),o?R<0&&(i[4*C+3+2*u.numParticlesPot*4]=-1):(R>=P&&(R-=Math.max(P,(u.numParticles-1)*M),i[4*C+3+2*u.numParticlesPot*4]=u.loop?1:-1),R<0&&u.loop&&(i[4*C+3+2*u.numParticlesPot*4]=1)),i[4*C+3+2*u.numParticlesPot*4]<0&&(O=!1),i[4*C+3+4*u.numParticlesPot]=R;for(var k=0;k0&&u.camera){for(var V=u.useMesh?6:4,G=u.particleDistance,H=0;Ht.maxTextureSize&&(this.numParticles=t.maxTextureSize),Hd("rate",1),Hd("rate2",this.rate),Hd("lifetime",50),Hd("emitterExtents",new Et(0,0,0)),Hd("emitterExtentsInner",new Et(0,0,0)),Hd("emitterRadius",0),Hd("emitterRadiusInner",0),Hd("emitterShape",0),Hd("initialVelocity",1),Hd("wrap",!1),Hd("localSpace",!1),Hd("screenSpace",!1),Hd("wrapBounds",null),Hd("colorMap",this.defaultParamTexture),Hd("normalMap",null),Hd("loop",!0),Hd("preWarm",!1),Hd("sort",0),Hd("mode",0),Hd("scene",null),Hd("lighting",!1),Hd("halfLambert",!1),Hd("intensity",1),Hd("stretch",0),Hd("alignToMotion",!1),Hd("depthSoftening",0),Hd("mesh",null),Hd("particleNormal",new Et(0,1,0)),Hd("orientation",0),Hd("depthWrite",!1),Hd("noFog",!1),Hd("blendType",2),Hd("node",null),Hd("startAngle",0),Hd("startAngle2",this.startAngle),Hd("animTilesX",1),Hd("animTilesY",1),Hd("animStartFrame",0),Hd("animNumFrames",1),Hd("animNumAnimations",1),Hd("animIndex",0),Hd("randomizeAnimIndex",!1),Hd("animSpeed",1),Hd("animLoop",!0),this._gpuUpdater=new Ed(this,i),this._cpuUpdater=new wd(this),this.emitterPosUniform=new Float32Array(3),this.wrapBoundsUniform=new Float32Array(3),this.emitterScaleUniform=new Float32Array([1,1,1]),Hd("colorGraph",Fd),Hd("colorGraph2",this.colorGraph),Hd("scaleGraph",Od),Hd("scaleGraph2",this.scaleGraph),Hd("alphaGraph",Od),Hd("alphaGraph2",this.alphaGraph),Hd("localVelocityGraph",kd),Hd("localVelocityGraph2",this.localVelocityGraph),Hd("velocityGraph",kd),Hd("velocityGraph2",this.velocityGraph),Hd("rotationSpeedGraph",Dd),Hd("rotationSpeedGraph2",this.rotationSpeedGraph),Hd("radialSpeedGraph",Dd),Hd("radialSpeedGraph2",this.radialSpeedGraph),this.animTilesParams=new Float32Array(2),this.animParams=new Float32Array(4),this.animIndexParams=new Float32Array(2),this.internalTex0=null,this.internalTex1=null,this.internalTex2=null,this.colorParam=null,this.vbToSort=null,this.vbOld=null,this.particleDistance=null,this.camera=null,this.swapTex=!1,this.useMesh=!0,this.useCpu=!t.supportsGpuParticles,this.pack8=!0,this.localBounds=new jt,this.worldBoundsNoTrail=new jt,this.worldBoundsTrail=[new jt,new jt],this.worldBounds=new jt,this.worldBoundsSize=new Et,this.prevWorldBoundsSize=new Et,this.prevWorldBoundsCenter=new Et,this.prevEmitterExtents=this.emitterExtents,this.prevEmitterRadius=this.emitterRadius,this.worldBoundsMul=new Et,this.worldBoundsAdd=new Et,this.timeToSwitchBounds=0,this.shaderParticleUpdateRespawn=null,this.shaderParticleUpdateNoRespawn=null,this.shaderParticleUpdateOnStop=null,this.numParticleVerts=0,this.numParticleIndices=0,this.material=null,this.meshInstance=null,this.drawOrder=0,this.seed=Math.random(),this.fixedTimeStep=1/60,this.maxSubSteps=10,this.simTime=0,this.simTimeTotal=0,this.beenReset=!1,this._layer=null,this.rebuild()}var e=t.prototype;return e.onChangeCamera=function(){this.regenShader(),this.resetMaterial()},e.calculateBoundsMad=function(){this.worldBoundsMul.x=1/this.worldBoundsSize.x,this.worldBoundsMul.y=1/this.worldBoundsSize.y,this.worldBoundsMul.z=1/this.worldBoundsSize.z,this.worldBoundsAdd.copy(this.worldBounds.center).mul(this.worldBoundsMul).mulScalar(-1),this.worldBoundsAdd.x+=.5,this.worldBoundsAdd.y+=.5,this.worldBoundsAdd.z+=.5},e.calculateWorldBounds=function(){if(this.node){if(this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),!this.useCpu){(0===this.emitterShape?!this.emitterExtents.equals(this.prevEmitterExtents):!(this.emitterRadius===this.prevEmitterRadius))&&this.calculateLocalBounds()}var t=this.node.getWorldTransform();this.localSpace?this.worldBoundsNoTrail.copy(this.localBounds):this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,t),this.worldBoundsTrail[0].add(this.worldBoundsNoTrail),this.worldBoundsTrail[1].add(this.worldBoundsNoTrail);var e=this.simTimeTotal;e>=this.timeToSwitchBounds&&(this.worldBoundsTrail[0].copy(this.worldBoundsTrail[1]),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.timeToSwitchBounds=e+this.lifetime),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.localSpace?(this.meshInstance.aabb.setFromTransformedAabb(this.worldBounds,t),this.meshInstance.mesh.aabb.setFromTransformedAabb(this.worldBounds,t)):(this.meshInstance.aabb.copy(this.worldBounds),this.meshInstance.mesh.aabb.copy(this.worldBounds)),this.meshInstance._aabbVer=1-this.meshInstance._aabbVer,this.pack8&&this.calculateBoundsMad()}},e.resetWorldBounds=function(){this.node&&(this.worldBoundsNoTrail.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBoundsNoTrail),this.worldBoundsTrail[1].copy(this.worldBoundsNoTrail),this.worldBounds.copy(this.worldBoundsTrail[0]),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.simTimeTotal=0,this.timeToSwitchBounds=0)},e.calculateLocalBounds=function(){for(var t,e,i,n=Number.MAX_VALUE,s=Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,o=-Number.MAX_VALUE,h=-Number.MAX_VALUE,l=0,c=0,u=this.lifetime/this.precision,d=[this.qVelocity,this.qVelocity2],f=[this.qLocalVelocity,this.qLocalVelocity2],p=[0,0],m=[0,0],_=[0,0],g=[0,0],v=[0,0],y=0;y0||t.maxVertexTextures<=1||t.fragmentUniformsCount<64||t.forceCpuParticles||!t.extTextureFloat,this._destroyResources(),this.pack8=(this.pack8||!t.textureFloatRenderable)&&!this.useCpu,Bd=this.useCpu||this.pack8?4:2,this.useMesh=!1,this.mesh)&&(this.numParticles*this.mesh.vertexBuffer.numVertices>65535||(this.useMesh=!0));this.numParticlesPot=_t.nextPowerOfTwo(this.numParticles),this.rebuildGraphs(),this.calculateLocalBounds(),this.resetWorldBounds(),this.node&&(this.worldBounds.setFromTransformedAabb(this.localBounds,this.localSpace?zt.IDENTITY:this.node.getWorldTransform()),this.worldBoundsTrail[0].copy(this.worldBounds),this.worldBoundsTrail[1].copy(this.worldBounds),this.worldBoundsSize.copy(this.worldBounds.halfExtents).mulScalar(2),this.prevWorldBoundsSize.copy(this.worldBoundsSize),this.prevWorldBoundsCenter.copy(this.worldBounds.center),this.pack8&&this.calculateBoundsMad()),this.vbToSort=new Array(this.numParticles);for(var e=0;e=1&&(this.animTilesX>1||this.animTilesY>1)&&(this.colorMap&&this.colorMap!==this.defaultParamTexture||this.normalMap)},e.rebuildGraphs=function(){var t=this.precision,e=this.graphicsDevice;this.qLocalVelocity=this.localVelocityGraph.quantize(t),this.qVelocity=this.velocityGraph.quantize(t),this.qColor=this.colorGraph.quantizeClamped(t,0,1),this.qRotSpeed=this.rotationSpeedGraph.quantize(t),this.qScale=this.scaleGraph.quantize(t),this.qAlpha=this.alphaGraph.quantize(t),this.qRadialSpeed=this.radialSpeedGraph.quantize(t),this.qLocalVelocity2=this.localVelocityGraph2.quantize(t),this.qVelocity2=this.velocityGraph2.quantize(t),this.qColor2=this.colorGraph2.quantizeClamped(t,0,1),this.qRotSpeed2=this.rotationSpeedGraph2.quantize(t),this.qScale2=this.scaleGraph2.quantize(t),this.qAlpha2=this.alphaGraph2.quantize(t),this.qRadialSpeed2=this.radialSpeedGraph2.quantize(t);for(var i=0;i0&&t.setParameter("softening",1/(this.depthSoftening*this.depthSoftening*100)),this.stretch>0&&(t.cull=he),this._compParticleFaceParams()},e._compParticleFaceParams=function(){var t,e;if(0===this.orientation)t=new Float32Array([1,0,0]),e=new Float32Array([0,0,1]);else{var i;if(1===this.orientation)i=this.particleNormal.normalize();else i=(null===this.node?zt.IDENTITY:this.node.getWorldTransform()).transformVector(this.particleNormal).normalize();var n=new Et(1,0,0);1===Math.abs(n.dot(i))&&n.set(0,0,1);var s=(new Et).cross(i,n).normalize();n.cross(s,i).normalize(),t=new Float32Array([n.x,n.y,n.z]),e=new Float32Array([s.x,s.y,s.z])}this.material.setParameter("faceTangent",t),this.material.setParameter("faceBinorm",e)},e._allocate=function(t){var e=t*this.numParticleVerts,i=t*this.numParticleIndices;if(void 0===this.vertexBuffer||this.vertexBuffer.getNumVertices()!==e){if(this.useCpu){var n=[{semantic:He,components:4,type:6},{semantic:We,components:4,type:6},{semantic:Xe,components:4,type:6},{semantic:qe,components:1,type:6},{semantic:je,components:this.useMesh?4:2,type:6}],s=new sn(this.graphicsDevice,n);this.vertexBuffer=new Zi(this.graphicsDevice,s,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}else{var r=[{semantic:He,components:4,type:6}];this.useMesh&&r.push({semantic:We,components:2,type:6});var a=new sn(this.graphicsDevice,r);this.vertexBuffer=new Zi(this.graphicsDevice,a,e,1),this.indexBuffer=new Tr(this.graphicsDevice,1,i)}var o,h,l,c=new Float32Array(this.vertexBuffer.lock());if(this.useMesh){h=(o=new Float32Array(this.mesh.vertexBuffer.lock())).length/this.mesh.vertexBuffer.numVertices;for(var u=0;uthis.endTime&&(this.onFinished&&this.onFinished(),this.meshInstance.visible=!1),this.meshInstance&&(this.meshInstance.drawOrder=this.drawOrder)},e._destroyResources=function(){this.particleTexIN&&(this.particleTexIN.destroy(),this.particleTexIN=null),this.particleTexOUT&&(this.particleTexOUT.destroy(),this.particleTexOUT=null),this.particleTexStart&&this.particleTexStart.destroy&&(this.particleTexStart.destroy(),this.particleTexStart=null),this.rtParticleTexIN&&(this.rtParticleTexIN.destroy(),this.rtParticleTexIN=null),this.rtParticleTexOUT&&(this.rtParticleTexOUT.destroy(),this.rtParticleTexOUT=null),this.internalTex0&&(this.internalTex0.destroy(),this.internalTex0=null),this.internalTex1&&(this.internalTex1.destroy(),this.internalTex1=null),this.internalTex2&&(this.internalTex2.destroy(),this.internalTex2=null),this.internalTex3&&(this.internalTex3.destroy(),this.internalTex3=null),this.colorParam&&(this.colorParam.destroy(),this.colorParam=null),this.vertexBuffer&&(this.vertexBuffer.destroy(),this.vertexBuffer=void 0),this.indexBuffer&&(this.indexBuffer.destroy(),this.indexBuffer=void 0),this.material&&(this.material.destroy(),this.material=null)},e.destroy=function(){this.camera=null,this._destroyResources()},y(t,[{key:"defaultParamTexture",get:function(){var t=this;return Yd.get(this.graphicsDevice,(function(){for(var e=16,i=new Float32Array(1024),n=0;n0&&this.material.transparent===e&&(this.mesh.setPositions(this.positions),this.mesh.setColors(this.colors),this.mesh.update(1,!1),this.meshInstance||(this.meshInstance=new Eh(this.mesh,this.material,Jd)),this.positions.length=0,this.colors.length=0,t.push(this.meshInstance))},t}(),ef=function(){function t(t){this.device=t,this.map=new Map}var e=t.prototype;return e.getBatch=function(t,e){var i=this.map.get(t);return i||(i=new tf(this.device,t,e),this.map.set(t,i)),i},e.onPreRender=function(t,e){this.map.forEach((function(i){i.onPreRender(t,e)}))},t}(),nf=[],sf=function(){function t(t){this.device=t,this.quadMesh=null,this.textureShader=null,this.depthTextureShader=null,this.cubeLocalPos=null,this.cubeWorldPos=null,this.batchesMap=new Map,this.allBatches=new Set,this.updatedLayers=new Set,this._materialDepth=null,this._materialNoDepth=null,this.layerMeshInstances=new Map}var e=t.prototype;return e.createMaterial=function(t){var e=new Ko;return e.vertexColors=!0,e.blendType=2,e.depthTest=t,e.update(),e},e.getBatch=function(t,e){var i=this.batchesMap.get(t);i||(i=new ef(this.device),this.batchesMap.set(t,i)),this.allBatches.add(i);var n=e?this.materialDepth:this.materialNoDepth;return i.getBatch(n,t)},e.getShader=function(t,e){if(!this[t]){this[t]=Po(this.device,"\n\t\t\t\tattribute vec2 vertex_position;\n\t\t\t\tuniform mat4 matrix_model;\n\t\t\t\tvarying vec2 uv0;\n\t\t\t\tvoid main(void) {\n\t\t\t\t\tgl_Position = matrix_model * vec4(vertex_position, 0, 1);\n\t\t\t\t\tuv0 = vertex_position.xy + 0.5;\n\t\t\t\t}\n\t\t\t",e,"DebugShader:"+t)}return this[t]},e.getTextureShader=function(){return this.getShader("textureShader","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tgl_FragColor = vec4(texture2D(colorMap, uv0).xyz, 1);\n\t\t\t}\n\t\t")},e.getUnfilterableTextureShader=function(){return this.getShader("textureShaderUnfilterable","\n\t\t\tvarying vec2 uv0;\n\t\t\tuniform highp sampler2D colorMap;\n\t\t\tvoid main (void) {\n\t\t\t\tivec2 uv = ivec2(uv0 * textureSize(colorMap, 0));\n\t\t\t\tgl_FragColor = vec4(texelFetch(colorMap, uv, 0).xyz, 1);\n\t\t\t}\n\t\t")},e.getDepthTextureShader=function(){return this.getShader("depthTextureShader","\n\t\t\t"+wo.screenDepthPS+"\n\t\t\tvarying vec2 uv0;\n\t\t\tvoid main() {\n\t\t\t\tfloat depth = getLinearScreenDepth(uv0) * camera_params.x;\n\t\t\t\tgl_FragColor = vec4(vec3(depth), 1.0);\n\t\t\t}\n\t\t")},e.getQuadMesh=function(){return this.quadMesh||(this.quadMesh=new no(this.device),this.quadMesh.setPositions([-.5,-.5,0,.5,-.5,0,-.5,.5,0,.5,.5,0]),this.quadMesh.update(Ce)),this.quadMesh},e.drawMesh=function(t,e,i,n,s){if(!n){var r=this.getGraphNode(e);n=new Eh(i,t,r)}var a=this.layerMeshInstances.get(s);a||(a=[],this.layerMeshInstances.set(s,a)),a.push(n)},e.drawWireAlignedBox=function(t,e,i,n,s){nf.push(t.x,t.y,t.z,t.x,e.y,t.z,t.x,e.y,t.z,e.x,e.y,t.z,e.x,e.y,t.z,e.x,t.y,t.z,e.x,t.y,t.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,e.z,t.x,e.y,e.z,e.x,e.y,e.z,e.x,e.y,e.z,e.x,t.y,e.z,e.x,t.y,e.z,t.x,t.y,e.z,t.x,t.y,t.z,t.x,t.y,e.z,t.x,e.y,t.z,t.x,e.y,e.z,e.x,e.y,t.z,e.x,e.y,e.z,e.x,t.y,t.z,e.x,t.y,e.z),this.getBatch(s,n).addLinesArrays(nf,i),nf.length=0},e.drawWireSphere=function(t,e,i,n,s,r){for(var a=2*Math.PI/n,o=0,h=0;hi){this._time=this.looping?0:i;for(var n=0;n=0?1:-1,l=0;l=0;m+=h){var _=d[m],g=d[m+1];if(_.time<=this._time&&g.time>=this._time){var v=(this._time-_.time)/(g.time-_.time);f._pos.lerp(_.position,g.position,v),f._quat.slerp(_.rotation,g.rotation,v),f._scale.lerp(_.scale,g.scale,v),f._written=!0,this._currKeyIndices[u]=m,p=!0;break}}(1===d.length||!p&&0===this._time&&this.looping)&&(f._pos.copy(d[0].position),f._quat.copy(d[0].rotation),f._scale.copy(d[0].scale),f._written=!0)}}}},e.blend=function(t,e,i){for(var n=this._interpolatedKeys.length,s=0;s 0.5) {\n\t\tif (dAtten > 0.00001) {\n\t\t\tdirLm.xyz = dirLm.xyz * 2.0 - vec3(1.0);\n\t\t\tdAtten = saturate(dAtten);\n\t\t\tgl_FragColor.rgb = normalize(dLightDirNormW.xyz*dAtten + dirLm.xyz*dirLm.w) * 0.5 + vec3(0.5);\n\t\t\tgl_FragColor.a = dirLm.w + dAtten;\n\t\t\tgl_FragColor.a = max(gl_FragColor.a, 1.0 / 255.0);\n\t\t} else {\n\t\t\tgl_FragColor = dirLm;\n\t\t}\n\t} else {\n\t\tgl_FragColor.rgb = dirLm.xyz;\n\t\tgl_FragColor.a = max(dirLm.w, dAtten > 0.00001? (1.0/255.0) : 0.0);\n\t}\n",bakeLmEndPS:"\n#ifdef LIGHTMAP_RGBM\n\tgl_FragColor.rgb = dDiffuseLight;\n\tgl_FragColor.rgb = pow(gl_FragColor.rgb, vec3(0.5));\n\tgl_FragColor.rgb /= 8.0;\n\tgl_FragColor.a = clamp( max( max( gl_FragColor.r, gl_FragColor.g ), max( gl_FragColor.b, 1.0 / 255.0 ) ), 0.0,1.0 );\n\tgl_FragColor.a = ceil(gl_FragColor.a * 255.0) / 255.0;\n\tgl_FragColor.rgb /= gl_FragColor.a;\n#else\n\tgl_FragColor = vec4(dDiffuseLight, 1.0);\n#endif\n",dilatePS:"\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nvoid main(void) {\n\tvec4 c = texture2D(source, vUv0);\n\tc = c.a>0.0? c : texture2D(source, vUv0 - pixelOffset);\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, -pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(pixelOffset.x, 0));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(-pixelOffset.x, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + vec2(0, pixelOffset.y));\n\tc = c.a>0.0? c : texture2D(source, vUv0 + pixelOffset);\n\tgl_FragColor = c;\n}\n",bilateralDeNoisePS:"\nfloat normpdf3(in vec3 v, in float sigma) {\n\treturn 0.39894 * exp(-0.5 * dot(v, v) / (sigma * sigma)) / sigma;\n}\nvec3 decodeRGBM(vec4 rgbm) {\n\tvec3 color = (8.0 * rgbm.a) * rgbm.rgb;\n\treturn color * color;\n}\nfloat saturate(float x) {\n\treturn clamp(x, 0.0, 1.0);\n}\nvec4 encodeRGBM(vec3 color) {\n\tvec4 encoded;\n\tencoded.rgb = pow(color.rgb, vec3(0.5));\n\tencoded.rgb *= 1.0 / 8.0;\n\tencoded.a = saturate( max( max( encoded.r, encoded.g ), max( encoded.b, 1.0 / 255.0 ) ) );\n\tencoded.a = ceil(encoded.a * 255.0) / 255.0;\n\tencoded.rgb /= encoded.a;\n\treturn encoded;\n}\n#define MSIZE 15\nvarying vec2 vUv0;\nuniform sampler2D source;\nuniform vec2 pixelOffset;\nuniform vec2 sigmas;\nuniform float bZnorm;\nuniform float kernel[MSIZE];\nvoid main(void) {\n\t\n\tvec4 pixelRgbm = texture2D(source, vUv0);\n\tif (pixelRgbm.a <= 0.0) {\n\t\tgl_FragColor = pixelRgbm;\n\t\treturn ;\n\t}\n\tfloat sigma = sigmas.x;\n\tfloat bSigma = sigmas.y;\n\tvec3 pixelHdr = decodeRGBM(pixelRgbm);\n\tvec3 accumulatedHdr = vec3(0.0);\n\tfloat accumulatedFactor = 0.0;\n\tconst int kSize = (MSIZE-1)/2;\n\tfor (int i = -kSize; i <= kSize; ++i) {\n\t\tfor (int j = -kSize; j <= kSize; ++j) {\n\t\t\t\n\t\t\tvec2 coord = vUv0 + vec2(float(i), float(j)) * pixelOffset;\n\t\t\tvec4 rgbm = texture2D(source, coord);\n\t\t\tif (rgbm.a > 0.0) {\n\t\t\t\tvec3 hdr = decodeRGBM(rgbm);\n\t\t\t\tfloat factor = kernel[kSize + j] * kernel[kSize + i];\n\t\t\t\tfactor *= normpdf3(hdr - pixelHdr, bSigma) * bZnorm;\n\t\t\t\taccumulatedHdr += factor * hdr;\n\t\t\t\taccumulatedFactor += factor;\n\t\t\t}\n\t\t}\n\t}\n\tgl_FragColor = encodeRGBM(accumulatedHdr / accumulatedFactor);\n}\n"},Tf="FILL_WINDOW",Af="KEEP_ASPECT",Cf="AUTO",Ef="FIXED";function Mf(){return Sf}function Pf(t){Sf=t,Ja.set(null==t?void 0:t.graphicsDevice)}var Rf=function(){function t(){}return t.push=function(e,i){i&&t._types.length>0?console.assert("Script Ordering Error. Contact support@playcanvas.com"):t._types.push(e)},t}();Rf._types=[];var If=!1,Lf=!1,Df={app:null,create:function(t,e){if(If){var i=e(Df.app);i._pcScriptName=t,Rf.push(i,If),this.fire("created",t,e)}},attribute:function(t,e,i,n){},createLoadingScreen:function(t){Lf||(Lf=!0,t(Mf()))}};Object.defineProperty(Df,"legacy",{get:function(){return If},set:function(t){If=t}}),R.attach(Df);var Of=function(){function t(){this.renderPasses=[],this.renderTargetMap=new Map}var e=t.prototype;return e.addRenderPass=function(t){t.frameUpdate();for(var e=this.renderPasses,i=t.beforePasses,n=0;n=0&&t<=1?0:1})),Vf(["fr","pt"],(function(t){return t>=0&&t<2?0:1})),Vf(["da"],(function(t){return 1===t||!Number.isInteger(t)&&t>=0&&t<=1?0:1})),Vf(["de","en","it","el","es","tr","fi","sv","nb","no","ur"],(function(t){return 1===t?0:1})),Vf(["ru","uk"],(function(t){if(Number.isInteger(t)){var e=t%10,i=t%100;if(1===e&&11!==i)return 0;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(0===e||e>=5&&e<=9||i>=11&&i<=14)return 2}return 3})),Vf(["pl"],(function(t){if(Number.isInteger(t)){if(1===t)return 0;var e=t%10,i=t%100;if(e>=2&&e<=4&&(i<12||i>14))return 1;if(e>=0&&e<=1||e>=5&&e<=9||i>=12&&i<=14)return 2}return 3})),Vf(["ar"],(function(t){if(0===t)return 0;if(1===t)return 1;if(2===t)return 2;if(Number.isInteger(t)){var e=t%100;if(e>=3&&e<=10)return 3;if(e>=11&&e<=99)return 4}return 5}));var Wf=zf[Gf(Uf)];function Xf(t){return zf[t]||Wf}var qf,jf=new RegExp("^\\s*(?:(?:[a-z]+[a-z0-9\\-\\+\\.]*:)?//|data:|blob:)","i"),Yf=function(){function t(t,e,i,n,s,r){void 0===t&&(t=""),void 0===e&&(e=""),void 0===i&&(i=null),void 0===n&&(n=null),void 0===s&&(s=null),void 0===r&&(r=null),this.url=t,this.filename=e,this.hash=i,this.size=n,this.opt=s,this.contents=r}return t.prototype.equals=function(t){return this.url===t.url&&this.filename===t.filename&&this.hash===t.hash&&this.size===t.size&&this.opt===t.opt&&this.contents===t.contents},t}(),Kf=-1,Zf={pvr:"extCompressedTexturePVRTC",dxt:"extCompressedTextureS3TC",etc2:"extCompressedTextureETC",etc1:"extCompressedTextureETC1",basis:"canvas"},Qf=["pvr","dxt","etc2","etc1","basis"],$f=function(t){function e(e,i,n,s,r){var a;return(a=t.call(this)||this)._id=Kf--,a._name=e||"",a.type=i,a.tags=new ut(w(a)),a._preload=!1,a._file=null,a._data=s||{},a.options=r||{},a._resources=[],a._i18n={},a.loaded=!1,a.loading=!1,a.registry=null,n&&(a.file=n),a}S(e,t);var i=e.prototype;return i.getFileUrl=function(){var t=this.file;if(!t||!t.url)return null;var e=t.url;if(this.registry&&this.registry.prefix&&!jf.test(e)&&(e=this.registry.prefix+e),"script"!==this.type&&t.hash){var i=-1!==e.indexOf("?")?"&":"?";e+=i+"t="+t.hash}return e},i.getAbsoluteUrl=function(t){if(t.startsWith("blob:")||t.startsWith("data:"))return t;var e=L.getDirectory(this.file.url);return L.join(e,t)},i.getLocalizedAssetId=function(t){return t=Hf(t,this._i18n),this._i18n[t]||null},i.addLocalizedAssetId=function(t,e){this._i18n[t]=e,this.fire("add:localized",t,e)},i.removeLocalizedAssetId=function(t){var e=this._i18n[t];e&&(delete this._i18n[t],this.fire("remove:localized",t,e))},i.ready=function(t,e){e=e||this,this.loaded?t.call(e,this):this.once("load",(function(i){t.call(e,i)}))},i.reload=function(){this.loaded&&(this.loaded=!1,this.registry.load(this))},i.unload=function(){if(this.loaded||0!==this._resources.length){this.fire("unload",this),this.registry.fire("unload:"+this.id,this);var t=this._resources;this.resources=[],this.loaded=!1,this.file&&this.registry._loader.clearCache(this.getFileUrl(),this.type);for(var e=0;e0,maxRetries:n},e)},y(e,[{key:"id",get:function(){return this._id},set:function(t){this._id=t}},{key:"name",get:function(){return this._name},set:function(t){if(this._name!==t){var e=this._name;this._name=t,this.fire("name",this,this._name,e)}}},{key:"file",get:function(){return this._file},set:function(t){var e=this;if(t&&t.variants&&-1!==["texture","textureatlas","bundle"].indexOf(this.type)){var i,n=(null==(i=this.registry)||null==(i=i._loader)?void 0:i._app)||Mf(),s=null==n?void 0:n.graphicsDevice;if(s)for(var r=function(){var i=Qf[a];if(t.variants[i]&&s[Zf[i]])return t=t.variants[i],0;if(n.enableBundles){var r=n.bundles.listBundlesForAsset(e);if(r&&r.find((function(t){var e;return null==t||null==(e=t.file)?void 0:e.variants[i]})))return 0}},a=0,o=Qf.length;a=s)throw new Error("Invalid PAX header data format.");var l=parseInt(e.decode(new Uint8Array(t,i+a,h-a)),10),c=e.decode(new Uint8Array(t,i+h+1,l-(h-a)-2)).split("=");if(2!==c.length)throw new Error("Invalid PAX header data format.");0===c[1].length&&(c[1]=null),o.push({name:c[0],value:c[1]}),a+=l}return new n(o)},n.prototype.applyHeader=function(t){for(var e=0;e0&&(r=p.trim()+r.trim())}var m={name:r,start:l,size:o,url:c};return this._globalPaxHeader&&this._globalPaxHeader.applyHeader(m),this._paxHeader&&(this._paxHeader.applyHeader(m),this._paxHeader=null),m},s.prototype.untar=function(t){if(!e)return console.error("Cannot untar because TextDecoder interface is not available for this platform."),[];for(var i=[];this._hasNext();){var n=this._readNextFile();n&&(t&&n.name&&(n.name=t+n.name),i.push(n))}return i},t&&(self.onmessage=function(t){var e=t.data.id;try{var i=new s(t.data.arrayBuffer).untar(t.data.prefix);postMessage({id:e,files:i,arrayBuffer:t.data.arrayBuffer},[t.data.arrayBuffer])}catch(t){postMessage({id:e,error:t.toString()})}})}var rp=null;var ap=function(){function t(t){this._requestId=0,this._pendingRequests={},this._filenamePrefix=t,this._worker=new Worker(function(){if(!rp){var t="("+sp.toString()+")(true)\n\n",e=new Blob([t],{type:"application/javascript"});rp=URL.createObjectURL(e)}return rp}()),this._worker.addEventListener("message",this._onMessage.bind(this))}var e=t.prototype;return e._onMessage=function(t){var e=t.data.id;if(this._pendingRequests[e]){var i=this._pendingRequests[e];if(delete this._pendingRequests[e],t.data.error)i(t.data.error);else{for(var n=t.data.arrayBuffer,s=0,r=t.data.files.length;s0},e.destroy=function(){this._worker&&(this._worker.terminate(),this._worker=null,this._pendingRequests=null)},t}();sp();var op=function(){function t(t){this.handlerType="bundle",this._assets=t.assets,this._worker=null,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this;Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e("Error loading bundle resource "+t.original+": "+n);else try{i._untar(s,e)}catch(i){e("Error loading bundle resource "+t.original+": "+i)}}))},e._untar=function(t,e){var i=this;if(G.workers)i._worker||(i._worker=new ap(i._assets.prefix)),i._worker.untar(t,(function(t,n){e(t,n),i._worker.hasPendingRequests()||(i._worker.destroy(),i._worker=null)}));else{var n=new qf(t).untar(i._assets.prefix);e(null,n)}},e.open=function(t,e){return new np(e)},e.patch=function(t,e){},t}(),hp=function(){function t(t){this._handlers={},this._requests={},this._cache={},this._app=t}var e=t.prototype;return e.addHandler=function(t,e){this._handlers[t]=e,e._loader=this},e.removeHandler=function(t){delete this._handlers[t]},e.getHandler=function(t){return this._handlers[t]},t.makeKey=function(t,e){return t+"-"+e},e.load=function(e,i,n,s){var r=this._handlers[i];if(r)if(e){var a=t.makeKey(e,i);if(void 0!==this._cache[a])n(null,this._cache[a]);else if(this._requests[a])this._requests[a].push(n);else{this._requests[a]=[n];var o=this,h=function(t,e){t?o._onFailure(a,t):r.load(e,(function(t,i,n){if(o._requests[a])if(t)o._onFailure(a,t);else try{o._onSuccess(a,r.open(e.original,i,s),n)}catch(t){o._onFailure(a,t)}}),s)},l=e.split("?")[0];if(this._app.enableBundles&&this._app.bundles.hasUrl(l)){if(!this._app.bundles.canLoadUrl(l))return void h("Bundle for "+e+" not loaded yet");this._app.bundles.loadUrl(l,(function(t,e){h(t,{load:e,original:l})}))}else h(null,{load:e,original:s&&s.file.filename||e})}}else this._loadNull(r,n,s);else n("No resource handler for asset type: '"+i+"' when loading ["+e+"]")},e._loadNull=function(t,e,i){t.load(null,(function(n,s,r){if(n)e(n);else try{e(null,t.open(null,s,i),r)}catch(t){e(t)}}),i)},e._onSuccess=function(t,e,i){null!==e?this._cache[t]=e:delete this._cache[t];for(var n=0;n0&&this.loader.enableRetry(t.maxAssetRetries),t.useDevicePixelRatio||(t.useDevicePixelRatio=t.use_device_pixel_ratio),t.resolutionMode||(t.resolutionMode=t.resolution_mode),t.fillMode||(t.fillMode=t.fill_mode),this._width=t.width,this._height=t.height,t.useDevicePixelRatio&&(this.graphicsDevice.maxPixelRatio=window.devicePixelRatio),this.setCanvasResolution(t.resolutionMode,this._width,this._height),this.setCanvasFillMode(t.fillMode,this._width,this._height),t.layers&&t.layerOrder){var i=new zu("application"),n={};for(var s in t.layers){var r=t.layers[s];r.id=parseInt(s,10),r.enabled=1!==r.id,n[s]=new Bu(r)}for(var a=0,o=t.layerOrder.length;a0,d.tags.add(u.tags),u.i18n)for(var f in u.i18n)d.addLocalizedAssetId(f,u.i18n[f]);this.assets.add(d)}},n._getScriptReferences=function(t){var e=[];t.settings.priority_scripts&&(e=t.settings.priority_scripts);for(var i=[],n={},s=0;sn._timeToCountFrames?(n.fps=n._fpsAccum,n._fpsAccum=0,n._timeToCountFrames=t+1e3):n._fpsAccum++,this.stats.drawCalls.total=this.graphicsDevice._drawCallsPerFrame,this.graphicsDevice._drawCallsPerFrame=0},n._fillFrameStats=function(){var t=this.stats.frame;t.cameras=this.renderer._camerasRendered,t.materials=this.renderer._materialSwitches,t.shaders=this.graphicsDevice._shaderSwitchesPerFrame,t.shadowMapUpdates=this.renderer._shadowMapUpdates,t.shadowMapTime=this.renderer._shadowMapTime,t.depthMapTime=this.renderer._depthMapTime,t.forwardTime=this.renderer._forwardTime;var e=this.graphicsDevice._primsPerFrame;t.triangles=e[4]/3+Math.max(e[Ce]-2,0)+Math.max(e[6]-2,0),t.cullTime=this.renderer._cullTime,t.sortTime=this.renderer._sortTime,t.skinTime=this.renderer._skinTime,t.morphTime=this.renderer._morphTime,t.lightClusters=this.renderer._lightClusters,t.lightClustersTime=this.renderer._lightClustersTime,t.otherPrimitives=0;for(var i=0;ii/n?e=(t=i)/s:t=(e=n)*s}else this._fillMode===Tf&&(t=i,e=n);return this.graphicsDevice.canvas.style.width=t+"px",this.graphicsDevice.canvas.style.height=e+"px",this.updateCanvasSize(),{width:t,height:e}}},n.updateCanvasSize=function(){var t;if(this._allowResize&&(null==(t=this.xr)||!t.active)&&this._resolutionMode===Cf){var e=this.graphicsDevice.canvas;this.graphicsDevice.resizeCanvas(e.clientWidth,e.clientHeight)}},n.onLibrariesLoaded=function(){this._librariesLoaded=!0,this.systems.rigidbody&&this.systems.rigidbody.onLibraryLoaded()},n.applySceneSettings=function(t){var e;if(this.systems.rigidbody&&"undefined"!=typeof Ammo){var i=t.physics.gravity;this.systems.rigidbody.gravity.set(i[0],i[1],i[2])}this.scene.applySettings(t),t.render.hasOwnProperty("skybox")&&(t.render.skybox?(e=this.assets.get(t.render.skybox))?this.setSkybox(e):this.assets.once("add:"+t.render.skybox,this.setSkybox,this):this.setSkybox(null))},n.setAreaLightLuts=function(t,e){t&&e&&Bf.set(this.graphicsDevice,t,e)},n.setSkybox=function(t){var e=this;if(t!==this._skyboxAsset){var i=function(){e.setSkybox(null)},n=function(){e.scene.setSkybox(e._skyboxAsset?e._skyboxAsset.resources:null)};this._skyboxAsset&&(this.assets.off("load:"+this._skyboxAsset.id,n,this),this.assets.off("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.off("change",n,this)),this._skyboxAsset=t,this._skyboxAsset&&(this.assets.on("load:"+this._skyboxAsset.id,n,this),this.assets.once("remove:"+this._skyboxAsset.id,i,this),this._skyboxAsset.on("change",n,this),0!==this.scene.skyboxMip||this._skyboxAsset.loadFaces||(this._skyboxAsset.loadFaces=!0),this.assets.load(this._skyboxAsset)),n()}},n._firstBake=function(){var t;null==(t=this.lightmapper)||t.bake(null,this.scene.lightmapMode)},n._firstBatch=function(){var t;null==(t=this.batcher)||t.generate()},n._processTimestamp=function(t){return t},n.drawLine=function(t,e,i,n,s){this.scene.drawLine(t,e,i,n,s)},n.drawLines=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLines(t,e,i,n)},n.drawLineArrays=function(t,e,i,n){void 0===i&&(i=!0),void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.drawLineArrays(t,e,i,n)},n.drawWireSphere=function(t,e,i,n,s,r){void 0===i&&(i=gt.WHITE),void 0===n&&(n=20),void 0===s&&(s=!0),void 0===r&&(r=this.scene.defaultDrawLayer),this.scene.immediate.drawWireSphere(t,e,i,n,s,r)},n.drawWireAlignedBox=function(t,e,i,n,s){void 0===i&&(i=gt.WHITE),void 0===n&&(n=!0),void 0===s&&(s=this.scene.defaultDrawLayer),this.scene.immediate.drawWireAlignedBox(t,e,i,n,s)},n.drawMeshInstance=function(t,e){void 0===e&&(e=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(null,null,null,t,e)},n.drawMesh=function(t,e,i,n){void 0===n&&(n=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,i,t,null,n)},n.drawQuad=function(t,e,i){void 0===i&&(i=this.scene.defaultDrawLayer),this.scene.immediate.drawMesh(e,t,this.scene.immediate.getQuadMesh(),null,i)},n.drawTexture=function(t,e,i,n,s,r,a,o){if(void 0===a&&(a=this.scene.defaultDrawLayer),void 0===o&&(o=!0),!1!==o||this.graphicsDevice.isWebGPU){var h=new zt;h.setTRS(new Et(t,e,0),Vt.IDENTITY,new Et(i,-n,0)),r||((r=new Yo).cull=he,r.setParameter("colorMap",s),r.shader=o?this.scene.immediate.getTextureShader():this.scene.immediate.getUnfilterableTextureShader(),r.update()),this.drawQuad(h,r,a)}},n.drawDepthTexture=function(t,e,i,n,s){void 0===s&&(s=this.scene.defaultDrawLayer);var r=new Yo;r.cull=he,r.shader=this.scene.immediate.getDepthTextureShader(),r.update(),this.drawTexture(t,e,i,n,null,r,s)},n.destroy=function(){var t,e,n,s;if(this._inFrameUpdate)this._destroyRequested=!0;else{var r=this.graphicsDevice.canvas.id;this.fire("destroy",this),this.off("librariesloaded"),"undefined"!=typeof document&&(document.removeEventListener("visibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("mozvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("msvisibilitychange",this._visibilityChangeHandler,!1),document.removeEventListener("webkitvisibilitychange",this._visibilityChangeHandler,!1)),this._visibilityChangeHandler=null,this.root.destroy(),this.root=null,this.mouse&&(this.mouse.off(),this.mouse.detach(),this.mouse=null),this.keyboard&&(this.keyboard.off(),this.keyboard.detach(),this.keyboard=null),this.touch&&(this.touch.off(),this.touch.detach(),this.touch=null),this.elementInput&&(this.elementInput.detach(),this.elementInput=null),this.gamepads&&(this.gamepads.destroy(),this.gamepads=null),this.controller&&(this.controller=null),this.systems.destroy(),this.scene.layers&&this.scene.layers.destroy();for(var a=this.assets.list(),o=0;o0){var n=i.bakeArea;Dc(Ap,t,e),Ap.mulScalar(.5*n),i._node.rotateLocal(Ap.x,0,Ap.y)}i._node.getWorldTransform();var s=this.scene.gammaCorrection?2.2:1,r=Math.pow(this.intensity,s);i.intensity=Math.pow(r/e,1/s)},y(e,[{key:"numVirtualLights",get:function(){return 0===this.light.type?this.light.bakeNumSamples:1}}]),e}(Tp),Ep=new Et,Mp=function(t){function e(e){var i=new fp("AmbientLight");return i.addComponent("light",{type:"directional",affectDynamic:!0,affectLightmapped:!1,bake:!0,bakeNumSamples:e.ambientBakeNumSamples,castShadows:!0,normalOffsetBias:.05,shadowBias:.2,shadowDistance:1,shadowResolution:2048,shadowType:0,color:gt.WHITE,intensity:1,bakeDir:!1}),t.call(this,e,i.light.light)||this}return S(e,t),e.prototype.prepareVirtualLight=function(t,e){Oc(Ep,t,e,0,this.scene.ambientBakeSpherePart),this.light._node.lookAt(Ep.mulScalar(-1)),this.light._node.rotateLocal(90,0,0);var i=this.scene.gammaCorrection?2.2:1,n=2*Math.PI*this.scene.ambientBakeSpherePart,s=Math.pow(n,i);this.light.intensity=Math.pow(s/e,1/i)},y(e,[{key:"numVirtualLights",get:function(){return this.light.bakeNumSamples}}]),e}(Tp),Pp=function(){function t(t,e){void 0===e&&(e=null),this.node=t,this.component=t.render||t.model,e=e||this.component.meshInstances,this.store(),this.meshInstances=e,this.bounds=null,this.renderTargets=[]}var e=t.prototype;return e.store=function(){this.castShadows=this.component.castShadows},e.restore=function(){this.component.castShadows=this.castShadows},t}(),Rp=function(){function t(t){this.device=t,this.shaderDilate=Po(t,wo.fullscreenQuadVS,wf.dilatePS,"lmDilate"),this.constantTexSource=t.scope.resolve("source"),this.constantPixelOffset=t.scope.resolve("pixelOffset"),this.pixelOffset=new Float32Array(2),this.shaderDenoise=null,this.sigmas=null,this.constantSigmas=null,this.kernel=null}var e=t.prototype;return e.setSourceTexture=function(t){this.constantTexSource.setValue(t)},e.prepare=function(t,e){this.pixelOffset[0]=1/t,this.pixelOffset[1]=1/e,this.constantPixelOffset.setValue(this.pixelOffset)},e.prepareDenoise=function(t,e){this.shaderDenoise||(this.shaderDenoise=Po(this.device,wo.fullscreenQuadVS,wf.bilateralDeNoisePS,"lmBilateralDeNoise"),this.sigmas=new Float32Array(2),this.constantSigmas=this.device.scope.resolve("sigmas"),this.constantKernel=this.device.scope.resolve("kernel[0]"),this.bZnorm=this.device.scope.resolve("bZnorm")),this.sigmas[0]=t,this.sigmas[1]=e,this.constantSigmas.setValue(this.sigmas),this.evaluateDenoiseUniforms(t,e)},e.evaluateDenoiseUniforms=function(t,e){function i(t,e){return.39894*Math.exp(-.5*t*t/(e*e))/e}this.kernel=this.kernel||new Float32Array(15);for(var n=this.kernel,s=Math.floor(7),r=0;r<=s;++r){var a=i(r,t);n[s+r]=a,n[s-r]=a}this.constantKernel.setValue(this.kernel);var o=1/i(0,e);this.bZnorm.setValue(o)},t}(),Ip=new Et,Lp=function(){function t(t,e,i,n,s){this.device=t,this.root=e,this.scene=i,this.renderer=n,this.assets=s,this.shadowMapCache=n.shadowMapCache,this._tempSet=new Set,this._initCalled=!1,this.passMaterials=[],this.ambientAOMaterial=null,this.fog="",this.ambientLight=new gt,this.renderTargets=new Map,this.stats={renderPasses:0,lightmapCount:0,totalRenderTime:0,forwardTime:0,fboTime:0,shadowMapTime:0,compileTime:0,shadersLinked:0}}var e=t.prototype;return e.destroy=function(){var t;vh.decRef(this.blackTex),this.blackTex=null,vh.destroy(),this.device=null,this.root=null,this.scene=null,this.renderer=null,this.assets=null,null==(t=this.camera)||t.destroy(),this.camera=null},e.initBake=function(t){if(!this._initCalled){this._initCalled=!0,this.lightmapFilters=new Rp(t),this.constantBakeDir=t.scope.resolve("bakeDir"),this.materials=[],this.blackTex=new Us(this.device,{width:4,height:4,format:7,type:ai,name:"lightmapBlack"}),vh.incRef(this.blackTex);var e=new Zh;e.clearColor.set(0,0,0,0),e.clearColorBuffer=!0,e.clearDepthBuffer=!1,e.clearStencilBuffer=!1,e.frustumCulling=!1,e.projection=1,e.aspectRatio=1,e.node=new _h,this.camera=e}if(this.scene.clusteredLightingEnabled){var i=new Ku(t.supportsAreaLights,t.maxTextureSize,(function(){}));this.lightingParams=i;var n=this.scene.lighting;i.shadowsEnabled=n.shadowsEnabled,i.shadowAtlasResolution=n.shadowAtlasResolution,i.cookiesEnabled=n.cookiesEnabled,i.cookieAtlasResolution=n.cookieAtlasResolution,i.areaLightsEnabled=n.areaLightsEnabled,i.cells=new Et(3,3,3),i.maxLightsPerCell=4,this.worldClusters=new Pl(t),this.worldClusters.name="ClusterLightmapper"}},e.finishBake=function(t){function e(t){vh.decRef(t.colorBuffer),t.destroy()}this.materials=[],this.renderTargets.forEach((function(t){e(t)})),this.renderTargets.clear(),t.forEach((function(t){t.renderTargets.forEach((function(t){e(t)})),t.renderTargets.length=0})),this.ambientAOMaterial=null,this.worldClusters&&(this.worldClusters.destroy(),this.worldClusters=null)},e.createMaterialForPass=function(t,e,i,n){var s=new vu;if(s.name="lmMaterial-pass:"+i+"-ambient:"+n,s.chunks.APIVersion=Bi,s.chunks.transformVS="#define UV1LAYOUT\n"+wo.transformVS,0===i){var r=wf.bakeLmEndPS;n?r="\n dDiffuseLight = ((dDiffuseLight - 0.5) * max("+e.ambientBakeOcclusionContrast.toFixed(1)+" + 1.0, 0.0)) + 0.5;\n dDiffuseLight += vec3("+e.ambientBakeOcclusionBrightness.toFixed(1)+");\n dDiffuseLight = saturate(dDiffuseLight);\n dDiffuseLight *= dAmbientLight;\n "+r:(s.ambient=new gt(0,0,0),s.ambientTint=!0),s.chunks.basePS=wo.basePS+(7===e.lightmapPixelFormat?"\n#define LIGHTMAP_RGBM\n":""),s.chunks.endPS=r,s.lightMap=this.blackTex}else s.chunks.basePS=wo.basePS+"\nuniform sampler2D texture_dirLightMap;\nuniform float bakeDir;\n",s.chunks.endPS=wf.bakeDirLmEndPS;return s.chunks.outputAlphaPS="\n",s.chunks.outputAlphaOpaquePS="\n",s.chunks.outputAlphaPremulPS="\n",s.cull=he,s.forceUv1=!0,s.update(),s},e.createMaterials=function(t,e,i){for(var n=0;n0&&e.push(new Pp(t,l))}}for(var d=0;d0){this.renderer.shadowRenderer.frameUpdate();var c=1===e?2:1;this.setLightmapping(o,!1,c),this.initBake(i),this.bakeInternal(c,o,h);var u=64;1===e&&(u|=Xa),this.scene.ambientBake&&(u|=Qa),this.setLightmapping(o,!0,c,u),this.finishBake(o)}var d=dt();this.stats.totalRenderTime=d-n,this.stats.shadersLinked=i._shaderStats.linked-s,this.stats.compileTime=i._shaderStats.compileTime-a,this.stats.fboTime=i._renderTargetCreationTime-r,this.stats.lightmapCount=o.length}},e.allocateTextures=function(t,e){for(var i=0;i0){e.copy(t[0].aabb);for(var i=1;i1&&b>1&&y.light.bakeDir&&(b=1);for(var w=0;w1&&y.prepareVirtualLight(w,b),y.startBake();var T=!1,A=this.lightCameraPrepare(r,y);for(_=0;_0&&w>0)&&!(x&&m>0);m++){var M=C.renderTargets[m],P=C.renderTargets[m].colorBuffer.width,R=this.renderTargets.get(P),I=R.colorBuffer;0===m?v=n.updateShaders:v&&(n.updateShaders=!0);var L=this.passMaterials[m];for(x&&w+1===b&&0===m&&(L=this.ambientAOMaterial),u=0;u=this._right){var i=e.length;if(i)if(t=e[i-1])this._left=e[i-1],this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=i-1;else{var n=this._findKey(t,e);this._left=e[n],this._right=e[n+1],this._len=this._right-this._left;var s=1/this._len;this._recip=isFinite(s)?s:0,this._p0=n,this._p1=n+1}else this._left=-1/0,this._right=1/0,this._len=0,this._recip=0,this._p0=this._p1=0}this._t=0===this._recip?0:(t-this._left)*this._recip,this._hermite.valid=!1},e._findKey=function(t,e){for(var i=0;t>=e[i+1];)i++;return i},e.eval=function(t,e,i){var n=i._data,s=i._components,r=this._p0*s;if(0===e)for(var a=0;a=t)},e.nextEventBehindTime=function(t){return!!this.nextEvent&&(t===this.track.duration?this.isReverse?this.nextEvent.time>=t:this.nextEvent.time<=t:this.isReverse?this.nextEvent.time>t:this.nextEvent.time=this.track.events.length?this._eventCursor=0:this._eventCursor<0&&(this._eventCursor=this.track.events.length-1)},e.clipFrameTime=function(e){var i=t.eventFrame;i.start=0,i.end=e,i.residual=0,this.isReverse?e<0&&(i.start=this.track.duration,i.end=0,i.residual=e+this.track.duration):e>this.track.duration&&(i.start=0,i.end=this.track.duration,i.residual=e-this.track.duration)},e.alignCursorToCurrentTime=function(){for(this.resetEventCursor();this.nextEventBehindTime(this._time)&&this._eventCursor!==this.eventCursorEnd;)this.moveEventCursor()},e.fireNextEvent=function(){this._eventHandler.fire(this.nextEvent.name,x({track:this.track},this.nextEvent)),this.moveEventCursor()},e.fireNextEventInFrame=function(t,e){return!(!this.nextEventAheadOfTime(t)||!this.nextEventBehindTime(e))&&(this.fireNextEvent(),!0)},e.activeEventsForFrame=function(e,i){var n=t.eventFrame;this.clipFrameTime(i);for(var s=this.eventCursor;this.fireNextEventInFrame(e,n.end)&&s!==this.eventCursor;);this.loop&&Math.abs(n.residual)>0&&this.activeEventsForFrame(n.start,n.residual)},e.progressForTime=function(t){return t*this._speed/this._track.duration},e._update=function(t){if(this._playing){var e=this._time,i=this._track.duration,n=this._speed,s=this._loop;this._track.events.length>0&&i>0&&this.activeEventsForFrame(e,e+n*t),e+=n*t,n>=0?e>i&&(s?e=e%i||0:(e=this._track.duration,this.pause())):e<0&&(s?e=i+(e%i||0):(e=0,this.pause())),this._time=e}this._time!==this._snapshot._time&&this._track.eval(this._time,this._snapshot)},e.play=function(){this._playing=!0,this._time=0},e.stop=function(){this._playing=!1,this._time=0},e.pause=function(){this._playing=!1},e.resume=function(){this._playing=!0},e.reset=function(){this._time=0},y(t,[{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"track",get:function(){return this._track},set:function(t){this._track=t,this._snapshot=new Bp(t)}},{key:"snapshot",get:function(){return this._snapshot}},{key:"time",get:function(){return this._time},set:function(t){this._time=t,this.alignCursorToCurrentTime()}},{key:"speed",get:function(){return this._speed},set:function(t){var e=Math.sign(t)!==Math.sign(this._speed);this._speed=t,e&&this.alignCursorToCurrentTime()}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"blendWeight",get:function(){return this._blendWeight},set:function(t){this._blendWeight=t}},{key:"blendOrder",get:function(){return this._blendOrder},set:function(t){this._blendOrder=t}},{key:"eventCursor",get:function(){return this._eventCursor},set:function(t){this._eventCursor=t}},{key:"eventCursorEnd",get:function(){return this.isReverse?0:this._track.events.length-1}},{key:"nextEvent",get:function(){return this._track.events[this._eventCursor]}},{key:"isReverse",get:function(){return this._speed<0}}]),t}();Up.eventFrame={start:0,end:0,residual:0};var Np="NONE",zp="PREV_STATE",Vp="NEXT_STATE",Gp="PREV_STATE_NEXT_STATE",Hp="NEXT_STATE_PREV_STATE",Wp="GREATER_THAN",Xp="LESS_THAN",qp="GREATER_THAN_EQUAL_TO",jp="LESS_THAN_EQUAL_TO",Yp="EQUAL_TO",Kp="NOT_EQUAL_TO",Zp="INTEGER",Qp="FLOAT",$p="BOOLEAN",Jp="TRIGGER",tm="2D_DIRECTIONAL",em="2D_CARTESIAN",im="DIRECT",nm="START",sm="END",rm="ANY",am=[nm,sm,rm],om="OVERWRITE",hm="ADDITIVE",lm=function(){function t(){}return t.dot=function(t,e){for(var i=t.length,n=0,s=0;s0){i=1/Math.sqrt(i);for(var n=e.length,s=0;s0&&(r=1/Math.sqrt(r));for(var a=0;a0;)this.removeClip(0)},e.updateClipTrack=function(t,e){this._clips.forEach((function(i){i.name.includes(t)&&(i.track=e)})),this.rebind()},e.findClip=function(t){for(var e=this._clips,i=0;i0&&a._update(t),!e)break;var c=void 0,u=void 0,d=void 0;if(l>=1)for(var f=0;f0)for(var p=0;p0&&i.push(n),i},t.encode=function(t,e,i){return(Array.isArray(t)?t.join("/"):t)+"/"+e+"/"+(Array.isArray(i)?i.join("/"):i)};var e=t.prototype;return e.resolve=function(t){return null},e.unresolve=function(t){},e.update=function(t){},t}(),_m=function(){function t(t,e,i,n){t.set?(this._set=t.set,this._get=t.get):this._set=t,this._type=e,this._components=i,this._targetPath=n,this._isTransform="localRotation"===this._targetPath.substring(this._targetPath.length-13)||"localPosition"===this._targetPath.substring(this._targetPath.length-13)||"localScale"===this._targetPath.substring(this._targetPath.length-10)}return y(t,[{key:"set",get:function(){return this._set}},{key:"get",get:function(){return this._get}},{key:"type",get:function(){return this._type}},{key:"components",get:function(){return this._components}},{key:"targetPath",get:function(){return this._targetPath}},{key:"isTransform",get:function(){return this._isTransform}}]),t}(),gm=function(){function t(e){var i=this;if(this._isPathInMask=function(t,e){var n=i._mask[t];return!!n&&!!(n.children||e&&!1!==n.value)},this.graph=e,e){this._mask=null;var n={};!function t(e){n[e.name]=e;for(var i=0;i0&&!!this.prevAnim,this.blending&&(this.blend=0,this.blendSpeed=1/e),this.skeleton&&(this.blending?(this.fromSkel.animation=i,this.fromSkel.addTime(this.skeleton._time),this.toSkel.animation=n):this.skeleton.animation=n),this.animEvaluator){var s=this.animEvaluator;if(this.blending)for(;s.clips.length>1;)s.removeClip(0);else this.animEvaluator.removeClips();var r=new Up(this.animations[this.currAnim],0,1,!0,this.loop);r.name=this.currAnim,r.blendWeight=this.blending?0:1,r.reset(),this.animEvaluator.addClip(r)}}this.playing=!0}},i.getAnimation=function(t){return this.animations[t]},i.setModel=function(t){t!==this.model&&(this._resetAnimationController(),this.model=t,this.animations&&this.currAnim&&this.animations[this.currAnim]&&this.play(this.currAnim))},i.onSetAnimations=function(){var t=this.entity.model;if(t){var e=t.model;e&&e!==this.model&&this.setModel(e)}if(!this.currAnim&&this.activate&&this.enabled&&this.entity.enabled){var i=Object.keys(this._animations);i.length>0&&this.play(i[0])}},i._resetAnimationController=function(){this.skeleton=null,this.fromSkel=null,this.toSkel=null,this.animEvaluator=null},i._createAnimationController=function(){var t=this.model,e=this.animations,i=!1,n=!1;for(var s in e){if(e.hasOwnProperty(s))e[s].constructor===pm?n=!0:i=!0}var r=t.getGraph();i?(this.fromSkel=new mf(r),this.toSkel=new mf(r),this.skeleton=new mf(r),this.skeleton.looping=this.loop,this.skeleton.setGraph(r)):n&&(this.animEvaluator=new dm(new gm(this.entity)))},i.loadAnimationAssets=function(t){var e=this;if(t&&t.length)for(var i=this.system.app.assets,n=function(t){if(t.resources.length>1)for(var i=0;i1){if(n&&n.length>1)for(var r=0;r1)for(var o=0;o1)for(var h=0;h1)for(var e=0;e0&&this.play(a[0])}},i.onBeforeRemove=function(){for(var t=0;t=1&&(this.blend=1)),this.playing){var e=this.skeleton;if(null!==e&&null!==this.model){if(this.blending)e.blend(this.fromSkel,this.toSkel,this.blend);else{var i=t*this.speed;e.addTime(i),(this.speed>0&&e._time===e.animation.duration&&!this.loop||this.speed<0&&0===e._time&&!this.loop)&&(this.playing=!1)}this.blending&&1===this.blend&&(e.animation=this.toSkel.animation),e.updateGraph()}}var n=this.animEvaluator;if(n){for(var s=0;s1&&(n.clips[1].blendWeight=this.blend),n.update(t)}this.blending&&1===this.blend&&(this.blending=!1)},y(e,[{key:"animations",get:function(){return this._animations},set:function(t){this._animations=t,this.onSetAnimations()}},{key:"assets",get:function(){return this._assets},set:function(t){var e=this._assets;if(e&&e.length)for(var i=0;i0)return t[t.length-1].time}return 0},set:function(t){if(this.skeleton&&(this.skeleton.currentTime=t,this.skeleton.addTime(0),this.skeleton.updateGraph()),this.animEvaluator)for(var e=this.animEvaluator.clips,i=0;i=0)this._animationList[n].animTrack=e;else{var s=this._getNodeFromPath(t);s.animTrack=e,this._animationList.push(s)}this._updateHasAnimations()},e._updateHasAnimations=function(){this._hasAnimations=this._animationList.length>0&&this._animationList.every((function(t){return t.animTrack&&t.animTrack!==pm.EMPTY}))},y(t,[{key:"name",get:function(){return this._name}},{key:"animations",get:function(){return this._animationList},set:function(t){this._animationList=t,this._updateHasAnimations()}},{key:"hasAnimations",get:function(){return this._hasAnimations}},{key:"speed",get:function(){return this._speed},set:function(t){this._speed=t}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t}},{key:"nodeCount",get:function(){return this._blendTree&&this._blendTree.constructor!==bm?this._blendTree.getNodeCount():1}},{key:"playable",get:function(){return-1!==am.indexOf(this.name)||this.animations.length===this.nodeCount}},{key:"looping",get:function(){if(this.animations.length>0){var t=this.name+"."+this.animations[0].animTrack.name,e=this._controller.animEvaluator.findClip(t);if(e)return e.loop}return!1}},{key:"totalWeight",get:function(){for(var t=0,e=0;et&&(t=i.animTrack.duration)}return t}}]),t}(),Pm=function(){function t(t){var e=t.from,i=t.to,n=t.time,s=void 0===n?0:n,r=t.priority,a=void 0===r?0:r,o=t.conditions,h=void 0===o?[]:o,l=t.exitTime,c=void 0===l?null:l,u=t.transitionOffset,d=void 0===u?null:u,f=t.interruptionSource,p=void 0===f?Np:f;this._from=e,this._to=i,this._time=s,this._priority=a,this._conditions=h,this._exitTime=c,this._transitionOffset=d,this._interruptionSource=p}return y(t,[{key:"from",get:function(){return this._from}},{key:"to",get:function(){return this._to},set:function(t){this._to=t}},{key:"time",get:function(){return this._time}},{key:"priority",get:function(){return this._priority}},{key:"conditions",get:function(){return this._conditions}},{key:"exitTime",get:function(){return this._exitTime}},{key:"transitionOffset",get:function(){return this._transitionOffset}},{key:"interruptionSource",get:function(){return this._interruptionSource}},{key:"hasExitTime",get:function(){return!!this.exitTime}}]),t}(),Rm=function(){function t(t,e,i,n,s,r,a){var o=this;this.findParameter=function(t){return o._findParameter(t)},this._animEvaluator=t,this._states={},this._stateNames=[],this._eventHandler=s,this._findParameter=r,this._consumeTrigger=a;for(var h=0;h"+e];return i||(i=this._transitions.filter((function(i){return i.from===t&&i.to===e})),Nu(i),this._findTransitionsBetweenStatesCache[t+"->"+e]=i),i},e._transitionHasConditionsMet=function(t){for(var e=t.conditions,i=0;in.value))return!1;break;case Xp:if(!(s.value=n.value))return!1;break;case jp:if(!(s.value<=n.value))return!1;break;case Yp:if(s.value!==n.value)return!1;break;case Kp:if(s.value===n.value)return!1}}return!0},e._findTransition=function(t,e){var i=this,n=[];if(t&&e)n=n.concat(this._findTransitionsBetweenStates(t,e));else if(this._isTransitioning)switch(this._transitionInterruptionSource){case zp:n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm));break;case Vp:n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Gp:n=(n=(n=n.concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));break;case Hp:n=(n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(this._previousStateName))).concat(this._findTransitionsFromState(rm))}else n=(n=n.concat(this._findTransitionsFromState(this._activeStateName))).concat(this._findTransitionsFromState(rm));if(n=n.filter((function(t){if(t.to===i.activeStateName)return!1;if(t.hasExitTime){var e=i._getActiveStateProgressForTime(i._timeInStateBefore),n=i._getActiveStateProgressForTime(i._timeInState);if(t.exitTime<1&&i.activeState.loop&&(e-=Math.floor(e),n-=Math.floor(n)),n===e){if(n!==t.exitTime)return null}else if(!(t.exitTime>e&&t.exitTime<=n))return null}return i._transitionHasConditionsMet(t)})),n.length>0){var s=n[0];if(s.to===sm){var r=this._findTransitionsFromState(nm)[0];s.to=r.to}return s}return null},e.updateStateFromTransition=function(t){var e,i,n;this.previousState=t.from?this.activeStateName:null,this.activeState=t.to,this._activeStateDurationDirty=!0;for(var s=0;s0&&t.transitionOffset<1,u=0,d=0;if(c){var f=l.timelineDuration*t.transitionOffset;u=f,d=f}this._timeInState=u,this._timeInStateBefore=d;for(var p=0;p0?n.blendWeight=0:n.blendWeight=l.animations[p].normalizedWeight,n.play(),c)n.time=l.timelineDuration*t.transitionOffset;else{var _=l.speed>=0?0:this.activeStateDuration;n.time=_}}},e._transitionToState=function(t){if(this._findState(t)){var e=this._findTransition(this._activeStateName,t);e||(this._animEvaluator.removeClips(),e=new Pm({from:null,to:t})),this.updateStateFromTransition(e)}},e.assignAnimation=function(t,e,i,n){var s=t.split("."),r=this._findState(s[0]);r||(r=new Mm(this,s[0],i),this._states[s[0]]=r,this._stateNames.push(s[0])),r.addAnimation(s,e),this._animEvaluator.updateClipTrack(r.name,e),void 0!==i&&(r.speed=i),void 0!==n&&(r.loop=n),!this._playing&&this._activate&&this.playable&&this.play(),this._activeStateDurationDirty=!0},e.removeNodeAnimations=function(t){if(-1!==am.indexOf(t))return!1;var e=this._findState(t);return!!e&&(e.animations=[],!0)},e.play=function(t){t&&this._transitionToState(t),this._playing=!0},e.pause=function(){this._playing=!1},e.reset=function(){this._previousStateName=null,this._activeStateName=nm,this._playing=!1,this._currTransitionTime=1,this._totalTransitionTime=1,this._isTransitioning=!1,this._timeInState=0,this._timeInStateBefore=0,this._animEvaluator.removeClips()},e.rebind=function(){this._animEvaluator.rebind()},e.update=function(t){if(this._playing){var e,i,n;(this.activeState.loop||this._timeInStatethis.activeStateDuration&&(this._timeInState=this.activeStateDuration,t=this.activeStateDuration-this._timeInStateBefore));var s=this._findTransition(this._activeStateName);if(s&&this.updateStateFromTransition(s),this._isTransitioning)if(this._currTransitionTime+=t,this._currTransitionTime<=this._totalTransitionTime){for(var r=0!==this._totalTransitionTime?this._currTransitionTime/this._totalTransitionTime:1,a=0;a1){var l=e.length>2?this._resolvePath(t,e.slice(0,-1)):t,c=e[e.length-2];return function(t){n[s]=i(t),l[c]=n}}return function(t){n[s]=i(t)}},i._createAnimTargetForProperty=function(t,i,n){if(this.handlers&&i[0].startsWith("weight."))return this.handlers.weight(t,i[0].replace("weight.",""));if(this.handlers&&"material"===i[0]&&2===i.length){var s=i[1];if(s.endsWith("Map"))return this.handlers.materialTexture(t,s)}var r,a,o,h=this._resolvePath(t,i,!0);if(void 0===h)return null;if("number"==typeof h)r=this._setter(t,i,e._packFloat),a="vector",o=1;else if("boolean"==typeof h)r=this._setter(t,i,e._packBoolean),a="vector",o=1;else if("object"==typeof h)switch(h.constructor){case It:r=this._setter(t,i,e._packVec2),a="vector",o=2;break;case Et:r=this._setter(t,i,e._packVec3),a="vector",o=3;break;case Dt:r=this._setter(t,i,e._packVec4),a="vector",o=4;break;case gt:r=this._setter(t,i,e._packColor),a="vector",o=4;break;case Vt:r=this._setter(t,i,e._packQuat),a="quaternion",o=4;break;default:return null}return-1!==i.indexOf("material")?new _m((function(e){r(e),t.material.update()}),a,o,n):new _m(r,a,o,n)},i.rebind=function(){this.targetCache={},this.animComponent.rootBone?this.graph=this.animComponent.rootBone:this.graph=this.animComponent.entity;var t={};!function e(i){t[i.name]=i;for(var n=0;n0?this._layers[0]:null}}]),e}(Dp),zm=function(){this.enabled=!0},Vm=["enabled"],Gm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="anim",i.ComponentType=Nm,i.DataType=zm,i.schema=Vm,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.systems.on("animationUpdate",i.onAnimationUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){var s=this;t.prototype.initializeComponentData.call(this,e,i,Vm);var r=["animationAssets","stateGraph","layers","masks"];Object.keys(i).forEach((function(t){r.includes(t)||(e[t]=i[t])})),i.stateGraph&&(e.stateGraph=i.stateGraph,e.loadStateGraph(e.stateGraph)),i.layers?i.layers.forEach((function(t,i){t._controller.states.forEach((function(n){t._controller._states[n]._animationList.forEach((function(n){if(n.animTrack&&n.animTrack!==pm.EMPTY)e.layers[i].assignAnimation(n.name,n.animTrack);else{var r=s.app.assets.get(t._component._animationAssets[t.name+":"+n.name].asset);r&&!r.loaded&&r.once("load",(function(){e.layers[i].assignAnimation(n.name,r.resource)}))}}))}))})):i.animationAssets&&(e.animationAssets=Object.assign(e.animationAssets,i.animationAssets)),i.masks&&Object.keys(i.masks).forEach((function(t){if(e.layers[t]){var n=i.masks[t].mask,s={};Object.keys(n).forEach((function(t){s[decodeURI(t)]=n[t]})),e.layers[t].mask=s}}))},i.onAnimationUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i].entity.anim;n.data.enabled&&n.entity.enabled&&n.playing&&n.update(t)}},i.cloneComponent=function(t,e){var i;t.anim.rootBone&&t.anim.rootBone!==t||(i={},t.anim.layers.forEach((function(t,n){if(t.mask){var s={};Object.keys(t.mask).forEach((function(i){var n=i.split("/");n.shift();var r=[e.name].concat(n).join("/");s[r]=t.mask[i]})),i[n]={mask:s}}})));var n={stateGraphAsset:t.anim.stateGraphAsset,animationAssets:t.anim.animationAssets,speed:t.anim.speed,activate:t.anim.activate,playing:t.anim.playing,rootBone:t.anim.rootBone,stateGraph:t.anim.stateGraph,layers:t.anim.layers,layerIndices:t.anim.layerIndices,parameters:t.anim.parameters,normalizeWeights:t.anim.normalizeWeights,masks:i};return this.addComponent(e,n)},i.onBeforeRemove=function(t,e){e.onBeforeRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("animationUpdate",this.onAnimationUpdate,this)},e}(Op);Dp._buildAccessors(Nm.prototype,Vm);var Hm=function(t){function e(e,i){return t.call(this,e,i)||this}S(e,t);var i=e.prototype;return i.setCurrentListener=function(){if(this.enabled&&this.entity.audiolistener&&this.entity.enabled){this.system.current=this.entity;var t=this.system.current.getPosition();this.system.manager.listener.setPosition(t)}},i.onEnable=function(){this.setCurrentListener()},i.onDisable=function(){this.system.current===this.entity&&(this.system.current=null)},e}(Dp),Wm=function(){this.enabled=!0},Xm=["enabled"],qm=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="audiolistener",i.ComponentType=Hm,i.DataType=Wm,i.schema=Xm,i.manager=e.soundManager,i.current=null,i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["enabled"],t.prototype.initializeComponentData.call(this,e,i,n)},i.onUpdate=function(t){if(this.current){var e=this.current.getPosition();this.manager.listener.setPosition(e);var i=this.current.getWorldTransform();this.manager.listener.setOrientation(i)}},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(Hm.prototype,Xm);var jm=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).on("set_assets",n.onSetAssets,w(n)),n.on("set_loop",n.onSetLoop,w(n)),n.on("set_volume",n.onSetVolume,w(n)),n.on("set_pitch",n.onSetPitch,w(n)),n.on("set_minDistance",n.onSetMinDistance,w(n)),n.on("set_maxDistance",n.onSetMaxDistance,w(n)),n.on("set_rollOffFactor",n.onSetRollOffFactor,w(n)),n.on("set_distanceModel",n.onSetDistanceModel,w(n)),n.on("set_3d",n.onSet3d,w(n)),n}S(e,t);var i=e.prototype;return i.play=function(t){if(this.enabled&&this.entity.enabled){var e;this.channel&&this.stop();var i=this.data;if(i.sources[t])if(i["3d"]){var n=this.entity.getPosition();e=this.system.manager.playSound3d(i.sources[t],n,i),i.currentSource=t,i.channel=e}else e=this.system.manager.playSound(i.sources[t],i),i.currentSource=t,i.channel=e}},i.pause=function(){this.channel&&this.channel.pause()},i.unpause=function(){this.channel&&this.channel.paused&&this.channel.unpause()},i.stop=function(){this.channel&&(this.channel.stop(),this.channel=null)},i.onSetAssets=function(t,e,i){var n=[],s=i.length;if(e&&e.length)for(var r=0;r1e-5){var i=this._tweenInfo.lerpColor;i.lerp(this._tweenInfo.from,this._tweenInfo.to,e),this._applyTintImmediately(new gt(i.r,i.g,i.b,i.a))}else this._applyTintImmediately(this._tweenInfo.to),this._cancelTween()},i._cancelTween=function(){delete this._tweenInfo},i.onUpdate=function(){this._tweenInfo&&this._updateTintTween()},i.onEnable=function(){this._isHovering=!1,this._hoveringCounter=0,this._isPressed=!1,this._imageReference.onParentComponentEnable(),this._toggleHitElementListeners("on"),this._forceReapplyVisualState()},i.onDisable=function(){this._toggleHitElementListeners("off"),this._resetToDefaultVisualState(this.transitionMode)},i.onRemove=function(){this._toggleLifecycleListeners("off",this.system),this.onDisable()},e}(Dp);function d_(t){return new gt(t.r,t.g,t.b)}var f_=function(){this.enabled=!0,this.active=!0,this.imageEntity=null,this.hitPadding=new Dt,this.transitionMode=0,this.hoverTint=new gt(.75,.75,.75),this.pressedTint=new gt(.5,.5,.5),this.inactiveTint=new gt(.25,.25,.25),this.fadeDuration=0,this.hoverSpriteAsset=null,this.hoverSpriteFrame=0,this.pressedSpriteAsset=null,this.pressedSpriteFrame=0,this.inactiveSpriteAsset=null,this.inactiveSpriteFrame=0},p_=["enabled","active",{name:"imageEntity",type:"entity"},{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"],m_=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="button",i.ComponentType=u_,i.DataType=f_,i.schema=p_,i.on("beforeremove",i._onRemoveComponent,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,p_)},i.onUpdate=function(t){var e=this.store;for(var i in e){var n=e[i].entity,s=n.button;s.enabled&&n.enabled&&s.onUpdate()}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(u_.prototype,p_);var __,g_,v_,y_=new Et,x_=new Vt,S_=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._compoundParent=null,n._hasOffset=!1,n.entity.on("insert",n._onInsert,w(n)),n.on("set_type",n.onSetType,w(n)),n.on("set_halfExtents",n.onSetHalfExtents,w(n)),n.on("set_linearOffset",n.onSetOffset,w(n)),n.on("set_angularOffset",n.onSetOffset,w(n)),n.on("set_radius",n.onSetRadius,w(n)),n.on("set_height",n.onSetHeight,w(n)),n.on("set_axis",n.onSetAxis,w(n)),n.on("set_asset",n.onSetAsset,w(n)),n.on("set_renderAsset",n.onSetRenderAsset,w(n)),n.on("set_model",n.onSetModel,w(n)),n.on("set_render",n.onSetRender,w(n)),n}S(e,t);var i=e.prototype;return i.onSetType=function(t,e,i){e!==i&&this.system.changeType(this,e,i)},i.onSetHalfExtents=function(t,e,i){var n=this.data.type;this.data.initialized&&"box"===n&&this.system.recreatePhysicalShapes(this)},i.onSetOffset=function(t,e,i){this._hasOffset=!this.data.linearOffset.equals(Et.ZERO)||!this.data.angularOffset.equals(Vt.IDENTITY),this.data.initialized&&this.system.recreatePhysicalShapes(this)},i.onSetRadius=function(t,e,i){var n=this.data.type;!this.data.initialized||"sphere"!==n&&"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetHeight=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAxis=function(t,e,i){var n=this.data.type;!this.data.initialized||"capsule"!==n&&"cylinder"!==n&&"cone"!==n||this.system.recreatePhysicalShapes(this)},i.onSetAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onAssetRemoved,this)}if(i){i instanceof $f&&(this.data.asset=i.id);var r=n.get(this.data.asset);r&&(r.off("remove",this.onAssetRemoved,this),r.on("remove",this.onAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.model=null),this.system.recreatePhysicalShapes(this))},i.onSetRenderAsset=function(t,e,i){var n=this.system.app.assets;if(e){var s=n.get(e);s&&s.off("remove",this.onRenderAssetRemoved,this)}if(i){i instanceof $f&&(this.data.renderAsset=i.id);var r=n.get(this.data.renderAsset);r&&(r.off("remove",this.onRenderAssetRemoved,this),r.on("remove",this.onRenderAssetRemoved,this))}this.data.initialized&&"mesh"===this.data.type&&(i||(this.data.render=null),this.system.recreatePhysicalShapes(this))},i.onSetModel=function(t,e,i){this.data.initialized&&"mesh"===this.data.type&&this.system.implementations.mesh.doRecreatePhysicalShape(this)},i.onSetRender=function(t,e,i){this.onSetModel(t,e,i)},i.onAssetRemoved=function(t){t.off("remove",this.onAssetRemoved,this),this.data.asset===t.id&&(this.asset=null)},i.onRenderAssetRemoved=function(t){t.off("remove",this.onRenderAssetRemoved,this),this.data.renderAsset===t.id&&(this.renderAsset=null)},i._getCompoundChildShapeIndex=function(t){for(var e=this.data.shape,i=e.getNumChildShapes(),n=0;n-1&&e.rigidbody._triggers.splice(i,1),e.rigidbody.removeBody(t),t.forceActivationState(5)}},t}(),P_=new zt,R_=new Et,I_=new Et,L_=new Vt,D_=new _h,O_=["enabled","type","halfExtents","linearOffset","angularOffset","radius","axis","height","asset","renderAsset","shape","model","render"],k_=function(){function t(t){this.system=t}var e=t.prototype;return e.beforeInitialize=function(t,e){e.shape=null,e.model=new $u,e.model.graph=new _h},e.afterInitialize=function(t,e){this.recreatePhysicalShapes(t),t.data.initialized=!0},e.reset=function(t,e){this.beforeInitialize(t,e),this.afterInitialize(t,e)},e.recreatePhysicalShapes=function(t){var e=t.entity,i=t.data;if("undefined"!=typeof Ammo){e.trigger&&(e.trigger.destroy(),delete e.trigger),i.shape&&(t._compoundParent&&(this.system._removeCompoundChild(t._compoundParent,i.shape),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate()),this.destroyShape(i)),i.shape=this.createPhysicalShape(t.entity,i);var n=!t._compoundParent;if("compound"!==i.type||t._compoundParent&&t!==t._compoundParent){if("compound"!==i.type&&(t._compoundParent&&t===t._compoundParent&&e.forEach(this.system.implementations.compound._updateEachDescendant,t),!t.rigidbody)){t._compoundParent=null;for(var s=e.parent;s;){if(s.collision&&"compound"===s.collision.type){t._compoundParent=s.collision;break}s=s.parent}}}else t._compoundParent=t,e.forEach(this._addEachDescendant,t);t._compoundParent&&t!==t._compoundParent&&(n&&0===t._compoundParent.shape.getNumChildShapes()?this.system.recreatePhysicalShapes(t._compoundParent):(this.system.updateCompoundChildTransform(e),t._compoundParent.entity.rigidbody&&t._compoundParent.entity.rigidbody.activate())),e.rigidbody?(e.rigidbody.disableSimulation(),e.rigidbody.createBody(),e.enabled&&e.rigidbody.enabled&&e.rigidbody.enableSimulation()):t._compoundParent||(e.trigger?e.trigger.initialize(i):e.trigger=new M_(this.system.app,t,i))}},e.createPhysicalShape=function(t,e){},e.updateTransform=function(t,e,i,n){t.entity.trigger&&t.entity.trigger.updateTransform()},e.destroyShape=function(t){t.shape&&(Ammo.destroy(t.shape),t.shape=null)},e.beforeRemove=function(t,e){e.data.shape&&(e._compoundParent&&!e._compoundParent.entity._destroying&&(this.system._removeCompoundChild(e._compoundParent,e.data.shape),e._compoundParent.entity.rigidbody&&e._compoundParent.entity.rigidbody.activate()),e._compoundParent=null,this.destroyShape(e.data))},e.remove=function(t,e){t.rigidbody&&t.rigidbody.body&&t.rigidbody.disableSimulation(),t.trigger&&(t.trigger.destroy(),delete t.trigger)},e.clone=function(t,e){var i=this.system.store[t.getGuid()],n={enabled:i.data.enabled,type:i.data.type,halfExtents:[i.data.halfExtents.x,i.data.halfExtents.y,i.data.halfExtents.z],linearOffset:[i.data.linearOffset.x,i.data.linearOffset.y,i.data.linearOffset.z],angularOffset:[i.data.angularOffset.x,i.data.angularOffset.y,i.data.angularOffset.z,i.data.angularOffset.w],radius:i.data.radius,axis:i.data.axis,height:i.data.height,asset:i.data.asset,renderAsset:i.data.renderAsset,model:i.data.model,render:i.data.render};return this.system.addComponent(e,n)},t}(),F_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo){var i=e.halfExtents,n=new Ammo.btVector3(i?i.x:.5,i?i.y:.5,i?i.z:.5),s=new Ammo.btBoxShape(n);return Ammo.destroy(n),s}},e}(k_),B_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){if("undefined"!=typeof Ammo)return new Ammo.btSphereShape(e.radius)},e}(k_),U_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=Math.max((null!=(s=e.height)?s:2)-2*a,0),h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btCapsuleShapeX(a,o);break;case 1:h=new Ammo.btCapsuleShape(a,o);break;case 2:h=new Ammo.btCapsuleShapeZ(a,o)}return h},e}(k_),N_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null,l=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btVector3(.5*o,a,a),l=new Ammo.btCylinderShapeX(h);break;case 1:h=new Ammo.btVector3(a,.5*o,a),l=new Ammo.btCylinderShape(h);break;case 2:h=new Ammo.btVector3(a,a,.5*o),l=new Ammo.btCylinderShapeZ(h)}return h&&Ammo.destroy(h),l},e}(k_),z_=function(t){function e(){return t.apply(this,arguments)||this}return S(e,t),e.prototype.createPhysicalShape=function(t,e){var i,n,s,r=null!=(i=e.axis)?i:1,a=null!=(n=e.radius)?n:.5,o=null!=(s=e.height)?s:1,h=null;if("undefined"!=typeof Ammo)switch(r){case 0:h=new Ammo.btConeShapeX(a,o);break;case 1:h=new Ammo.btConeShape(a,o);break;case 2:h=new Ammo.btConeShapeZ(a,o)}return h},e}(k_),V_=function(t){function e(){return t.apply(this,arguments)||this}S(e,t);var i=e.prototype;return i.beforeInitialize=function(t,e){},i.createAmmoMesh=function(t,e,i){var n;if(this.system._triMeshCache[t.id])n=this.system._triMeshCache[t.id];else{for(var s,r,a=t.vertexBuffer,o=a.getFormat(),h=0;h=0&&this.model.meshInstances.splice(i,1),this.unmaskMeshInstance=null}this._entity.enabled&&this._element.enabled&&(this._element.removeModelFromLayers(this.model),this._element.addModelToLayers(this.model))}},e.setMaterial=function(t){this.meshInstance&&(this.meshInstance.material=t,this.unmaskMeshInstance&&(this.unmaskMeshInstance.material=t))},e.setParameter=function(t,e){this.meshInstance&&(this.meshInstance.setParameter(t,e),this.unmaskMeshInstance&&this.unmaskMeshInstance.setParameter(t,e))},e.deleteParameter=function(t){this.meshInstance&&(this.meshInstance.deleteParameter(t),this.unmaskMeshInstance&&this.unmaskMeshInstance.deleteParameter(t))},e.setUnmaskDrawOrder=function(){if(this.meshInstance){if(this.unmaskMeshInstance){var t=function t(e){var i,n=e.children,s=n.length;if(s){for(var r=0;r0){var s=e.calculatedWidth/e.calculatedHeight;e.fitMode===i_&&s>this._targetAspectRatio||e.fitMode===n_&&s0&&(this._targetAspectRatio=i.rect.z/i.rect.w)}this.mesh=t?e:this._defaultMesh,this.refreshMesh()},e.refreshMesh=function(){this.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this.mesh))},e._updateAabb=function(t){return t.center.set(0,0,0),t.halfExtents.set(.5*this._outerScale.x,.5*this._outerScale.y,.001),t.setFromTransformedAabb(t,this._renderable.node.getWorldTransform()),t},e._toggleMask=function(){this._element._dirtifyMask();var t=this._element._isScreenSpace();this._updateMaterial(t),this._renderable.setMask(!!this._mask)},e._onMaterialLoad=function(t){this.material=t.resource},e._onMaterialAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onMaterialAdded,this),this._materialAsset===t.id&&this._bindMaterialAsset(t)},e._bindMaterialAsset=function(t){this._entity.enabled&&(t.on("load",this._onMaterialLoad,this),t.on("change",this._onMaterialChange,this),t.on("remove",this._onMaterialRemove,this),t.resource?this._onMaterialLoad(t):this._system.app.assets.load(t))},e._unbindMaterialAsset=function(t){t.off("load",this._onMaterialLoad,this),t.off("change",this._onMaterialChange,this),t.off("remove",this._onMaterialRemove,this)},e._onMaterialChange=function(){},e._onMaterialRemove=function(){},e._onTextureAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onTextureAdded,this),this._textureAsset===t.id&&this._bindTextureAsset(t)},e._bindTextureAsset=function(t){this._entity.enabled&&(t.on("load",this._onTextureLoad,this),t.on("change",this._onTextureChange,this),t.on("remove",this._onTextureRemove,this),t.resource?this._onTextureLoad(t):this._system.app.assets.load(t))},e._unbindTextureAsset=function(t){t.off("load",this._onTextureLoad,this),t.off("change",this._onTextureChange,this),t.off("remove",this._onTextureRemove,this)},e._onTextureLoad=function(t){this.texture=t.resource},e._onTextureChange=function(t){},e._onTextureRemove=function(t){},e._onSpriteAssetAdded=function(t){this._system.app.assets.off("add:"+t.id,this._onSpriteAssetAdded,this),this._spriteAsset===t.id&&this._bindSpriteAsset(t)},e._bindSpriteAsset=function(t){this._entity.enabled&&(t.on("load",this._onSpriteAssetLoad,this),t.on("change",this._onSpriteAssetChange,this),t.on("remove",this._onSpriteAssetRemove,this),t.resource?this._onSpriteAssetLoad(t):this._system.app.assets.load(t))},e._unbindSpriteAsset=function(t){t.off("load",this._onSpriteAssetLoad,this),t.off("change",this._onSpriteAssetChange,this),t.off("remove",this._onSpriteAssetRemove,this),t.data.textureAtlasAsset&&this._system.app.assets.off("load:"+t.data.textureAtlasAsset,this._onTextureAtlasLoad,this)},e._onSpriteAssetLoad=function(t){if(t&&t.resource)if(t.resource.atlas)this.sprite=t.resource;else{var e=t.data.textureAtlasAsset;if(e){var i=this._system.app.assets;i.off("load:"+e,this._onTextureAtlasLoad,this),i.once("load:"+e,this._onTextureAtlasLoad,this)}}else this.sprite=null},e._onSpriteAssetChange=function(t){this._onSpriteAssetLoad(t)},e._onSpriteAssetRemove=function(t){},e._bindSprite=function(t){t.on("set:meshes",this._onSpriteMeshesChange,this),t.on("set:pixelsPerUnit",this._onSpritePpuChange,this),t.on("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.on("set:texture",this._onAtlasTextureChange,this)},e._unbindSprite=function(t){t.off("set:meshes",this._onSpriteMeshesChange,this),t.off("set:pixelsPerUnit",this._onSpritePpuChange,this),t.off("set:atlas",this._onAtlasTextureChange,this),t.atlas&&t.atlas.off("set:texture",this._onAtlasTextureChange,this)},e._onSpriteMeshesChange=function(){this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()},e._onSpritePpuChange=function(){0!==this.sprite.renderMode&&null===this._pixelsPerUnit&&this._updateSprite()},e._onAtlasTextureChange=function(){this.sprite&&this.sprite.atlas&&this.sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"))},e._onTextureAtlasLoad=function(t){var e=this._spriteAsset;e instanceof $f?this._onSpriteAssetLoad(e):this._onSpriteAssetLoad(this._system.app.assets.get(e))},e.onEnable=function(){if(this._materialAsset){var t=this._system.app.assets.get(this._materialAsset);t&&t.resource!==this._material&&this._bindMaterialAsset(t)}if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==this._texture&&this._bindTextureAsset(e)}if(this._spriteAsset){var i=this._system.app.assets.get(this._spriteAsset);i&&i.resource!==this._sprite&&this._bindSpriteAsset(i)}this._element.addModelToLayers(this._renderable.model)},e.onDisable=function(){this._element.removeModelFromLayers(this._renderable.model)},e._setStencil=function(t){this._renderable.meshInstance.stencilFront=t,this._renderable.meshInstance.stencilBack=t;var e=0;if(this._element.maskedBy&&(e=this._element.maskedBy.element._image._maskRef),this._renderable.unmaskMeshInstance){var i=new an({ref:e+1,func:2,zpass:5});this._renderable.unmaskMeshInstance.stencilFront=i,this._renderable.unmaskMeshInstance.stencilBack=i}},e._removeMaterialAssetEvents=function(){if(this._materialAsset){var t=this._system.app.assets;t.off("add:"+this._materialAsset,this._onMaterialAdded,this);var e=t.get(this._materialAsset);e&&(e.off("load",this._onMaterialLoad,this),e.off("change",this._onMaterialChange,this),e.off("remove",this._onMaterialRemove,this))}},y(t,[{key:"color",get:function(){return this._color},set:function(t){var e=t.r,i=t.g,n=t.b;this._color.r===e&&this._color.g===i&&this._color.b===n||(this._color.r=e,this._color.g=i,this._color.b=n,this._colorUniform[0]=e,this._colorUniform[1]=i,this._colorUniform[2]=n,this._renderable.setParameter("material_emissive",this._colorUniform)),this._element&&this._element.fire("set:color",this._color)}},{key:"opacity",get:function(){return this._color.a},set:function(t){t!==this._color.a&&(this._color.a=t,this._renderable.setParameter("material_opacity",t)),this._element&&this._element.fire("set:opacity",t)}},{key:"rect",get:function(){return this._rect},set:function(t){var e,i,n,s;t instanceof Dt?(e=t.x,i=t.y,n=t.z,s=t.w):(e=t[0],i=t[1],n=t[2],s=t[3]),e===this._rect.x&&i===this._rect.y&&n===this._rect.z&&s===this._rect.w||(this._rect.set(e,i,n,s),this._renderable.mesh&&(this._element._beingInitialized?this._meshDirty=!0:this._updateMesh(this._renderable.mesh)))}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t){if(!t){var e=this._element._isScreenSpace();t=this.mask?e?this._system.defaultScreenSpaceImageMaskMaterial:this._system.defaultImageMaskMaterial:e?this._system.defaultScreenSpaceImageMaterial:this._system.defaultImageMaterial}if(this._material=t,this._materialAsset){var i=this._system.app.assets.get(this._materialAsset);i&&i.resource===t||(this._removeMaterialAssetEvents(),this._materialAsset=null)}t&&(this._renderable.setMaterial(t),this._hasUserMaterial()?(this._renderable.deleteParameter("material_opacity"),this._renderable.deleteParameter("material_emissive")):(this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a)))}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._materialAsset!==i)if(this._removeMaterialAssetEvents(),this._materialAsset=i,this._materialAsset){var n=e.get(this._materialAsset);n?this._bindMaterialAsset(n):(this._materialAsset=null,this.material=null,this._materialAsset=i,e.on("add:"+this._materialAsset,this._onMaterialAdded,this))}else this._materialAsset=null,this.material=null,this._materialAsset=i}},{key:"texture",get:function(){return this._texture},set:function(t){if(this._texture!==t){if(this._textureAsset){var e=this._system.app.assets.get(this._textureAsset);e&&e.resource!==t&&(this.textureAsset=null)}if(this._texture=t,t){this._spriteAsset&&(this.spriteAsset=null),this._renderable.setParameter("texture_emissiveMap",this._texture),this._renderable.setParameter("texture_opacityMap",this._texture),this._colorUniform[0]=this._color.r,this._colorUniform[1]=this._color.g,this._colorUniform[2]=this._color.b,this._renderable.setParameter("material_emissive",this._colorUniform),this._renderable.setParameter("material_opacity",this._color.a);var i=this._texture.width/this._texture.height;i!==this._targetAspectRatio&&(this._targetAspectRatio=i,this._element.fitMode!==e_&&this.refreshMesh())}else this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap"),this._targetAspectRatio=-1,this._element.fitMode!==e_&&this.refreshMesh()}}},{key:"textureAsset",get:function(){return this._textureAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._textureAsset!==i){if(this._textureAsset){e.off("add:"+this._textureAsset,this._onTextureAdded,this);var n=e.get(this._textureAsset);n&&(n.off("load",this._onTextureLoad,this),n.off("change",this._onTextureChange,this),n.off("remove",this._onTextureRemove,this))}if(this._textureAsset=i,this._textureAsset){var s=e.get(this._textureAsset);s?this._bindTextureAsset(s):(this.texture=null,e.on("add:"+this._textureAsset,this._onTextureAdded,this))}else this.texture=null}}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){e.off("add:"+this._spriteAsset,this._onSpriteAssetAdded,this);var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}this._element&&this._element.fire("set:spriteAsset",i)}},{key:"sprite",get:function(){return this._sprite},set:function(t){if(this._sprite!==t){if(this._sprite&&this._unbindSprite(this._sprite),this._spriteAsset){var e=this._system.app.assets.get(this._spriteAsset);e&&e.resource!==t&&(this.spriteAsset=null)}this._sprite=t,this._sprite&&(this._bindSprite(this._sprite),this._textureAsset&&(this.textureAsset=null)),this._sprite&&this._sprite.atlas&&this._sprite.atlas.texture?(this._renderable.setParameter("texture_emissiveMap",this._sprite.atlas.texture),this._renderable.setParameter("texture_opacityMap",this._sprite.atlas.texture)):(this._renderable.deleteParameter("texture_emissiveMap"),this._renderable.deleteParameter("texture_opacityMap")),this._sprite&&(this._spriteFrame=_t.clamp(this._spriteFrame,0,this._sprite.frameKeys.length-1)),this._updateSprite()}}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;this._sprite?this._spriteFrame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._spriteFrame=t,this._spriteFrame!==e&&this._updateSprite(),this._element&&this._element.fire("set:spriteFrame",t)}},{key:"mesh",get:function(){return this._renderable.mesh},set:function(t){this._renderable.setMesh(t),this._defaultMesh===t?this._renderable.setAabbFunc(null):this._renderable.setAabbFunc(this._updateAabbFunc)}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this._toggleMask())}},{key:"pixelsPerUnit",get:function(){return this._pixelsPerUnit},set:function(t){this._pixelsPerUnit!==t&&(this._pixelsPerUnit=t,!this._sprite||1!==this._sprite.renderMode&&2!==this._sprite.renderMode||this._updateSprite())}},{key:"aabb",get:function(){return this._renderable.meshInstance?this._renderable.meshInstance.aabb:null}}]),t}(),j_=function(t){function e(e){var i;return(i=t.call(this)||this)._app=e,e.i18n.on("set:locale",i._onSetLocale,w(i)),i._autoLoad=!1,i._disableLocalization=!1,i._defaultAsset=null,i._localizedAsset=null,i}S(e,t);var i=e.prototype;return i._bindDefaultAsset=function(){var t=this._app.assets.get(this._defaultAsset);t?this._onDefaultAssetAdd(t):this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this)},i._unbindDefaultAsset=function(){if(this._defaultAsset){this._app.assets.off("add:"+this._defaultAsset,this._onDefaultAssetAdd,this);var t=this._app.assets.get(this._defaultAsset);t&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleRemove,this),t.off("remove",this._onDefaultAssetRemove,this))}},i._onDefaultAssetAdd=function(t){this._defaultAsset===t.id&&(t.on("add:localized",this._onLocaleAdd,this),t.on("remove:localized",this._onLocaleRemove,this),t.once("remove",this._onDefaultAssetRemove,this))},i._onDefaultAssetRemove=function(t){this._defaultAsset===t.id&&(t.off("add:localized",this._onLocaleAdd,this),t.off("remove:localized",this._onLocaleAdd,this),this._app.assets.once("add:"+this._defaultAsset,this._onDefaultAssetAdd,this))},i._bindLocalizedAsset=function(){if(this._autoLoad){var t=this._app.assets.get(this._localizedAsset);t&&(t.on("load",this._onLocalizedAssetLoad,this),t.on("change",this._onLocalizedAssetChange,this),t.on("remove",this._onLocalizedAssetRemove,this),t.resource?this._onLocalizedAssetLoad(t):this._app.assets.load(t))}},i._unbindLocalizedAsset=function(){var t=this._app.assets.get(this._localizedAsset);t&&(t.off("load",this._onLocalizedAssetLoad,this),t.off("change",this._onLocalizedAssetChange,this),t.off("remove",this._onLocalizedAssetRemove,this))},i._onLocalizedAssetAdd=function(t){this._localizedAsset===t.id&&this._bindLocalizedAsset()},i._onLocalizedAssetLoad=function(t){this.fire("load",t)},i._onLocalizedAssetChange=function(t,e,i,n){this.fire("change",t,e,i,n)},i._onLocalizedAssetRemove=function(t){this._localizedAsset===t.id&&(this.localizedAsset=this._defaultAsset),this.fire("remove",t)},i._onLocaleAdd=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onLocaleRemove=function(t,e){this._app.i18n.locale===t&&this._onSetLocale(t)},i._onSetLocale=function(t){if(this._defaultAsset){var e=this._app.assets.get(this._defaultAsset);if(e&&!this._disableLocalization){var i=e.getLocalizedAssetId(t);this.localizedAsset=i||this._defaultAsset}else this.localizedAsset=this._defaultAsset}else this.localizedAsset=null},i.destroy=function(){this.defaultAsset=null,this._app.i18n.off("set:locale",this._onSetLocale,this),this.off()},y(e,[{key:"defaultAsset",get:function(){return this._defaultAsset},set:function(t){var e=t instanceof $f?t.id:t;this._defaultAsset!==e&&(this._defaultAsset&&this._unbindDefaultAsset(),this._defaultAsset=e,this._defaultAsset&&this._bindDefaultAsset(),this._onSetLocale(this._app.i18n.locale))}},{key:"localizedAsset",get:function(){return this._localizedAsset},set:function(t){var e=t instanceof $f?t.id:t;this._localizedAsset!==e&&(this._localizedAsset&&(this._app.assets.off("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this),this._unbindLocalizedAsset(),this._localizedAsset=null),this._localizedAsset=e,this._localizedAsset&&(this._app.assets.get(this._localizedAsset)?this._bindLocalizedAsset():this._app.assets.once("add:"+this._localizedAsset,this._onLocalizedAssetAdd,this)))}},{key:"autoLoad",get:function(){return this._autoLoad},set:function(t){this._autoLoad!==t&&(this._autoLoad=t,this._autoLoad&&this._localizedAsset&&(this._unbindLocalizedAsset(),this._bindLocalizedAsset()))}},{key:"disableLocalization",get:function(){return this._disableLocalization},set:function(t){this._disableLocalization!==t&&(this._disableLocalization=t,this._onSetLocale(this._app.i18n.locale))}}]),e}(P),Y_="msdf",K_="bitmap",Z_=/[A-Z|a-z|0-9|_|-|/]/,Q_=function(){function t(t){this._symbols=t,this._index=0,this._last=0,this._cur=this._symbols.length>0?this._symbols[0]:null,this._buf=[],this._mode="text",this._error=null}var e=t.prototype;return e.read=function(){for(var t=this._read();8===t;)t=this._read();return 0!==t&&1!==t&&(this._last=this._index),t},e.buf=function(){return this._buf},e.last=function(){return this._last},e.error=function(){return this._error},e.debugPrint=function(){for(var t=["EOF","ERROR","TEXT","OPEN_BRACKET","CLOSE_BRACKET","EQUALS","STRING","IDENTIFIER","WHITESPACE"],e=this.read(),i="";i+=(i.length>0?"\n":"")+t[e]+" '"+this.buf().join("")+"'",0!==e&&1!==e;)e=this.read();return i},e._read=function(){return this._buf=[],this._eof()?0:"text"===this._mode?this._text():this._tag()},e._text=function(){for(;;)switch(this._cur){case null:return this._buf.length>0?2:0;case"[":return this._mode="tag",this._buf.length>0?2:this._tag();case"\\":if(this._next(),"["===this._cur)this._store();else this._output("\\");break;default:this._store()}},e._tag=function(){switch(this._cur){case null:return this._error="unexpected end of input reading tag",1;case"[":return this._store(),3;case"]":return this._store(),this._mode="text",4;case"=":return this._store(),5;case" ":case"\t":case"\n":case"\r":case"\v":case"\f":return this._whitespace();case'"':return this._string();default:return this._isIdentifierSymbol(this._cur)?this._identifier():(this._error="unrecognized character",1)}},e._whitespace=function(){for(this._store();-1!==" \t\n\r\v\f".indexOf(this._cur);)this._store();return 8},e._string=function(){for(this._next();;)switch(this._cur){case null:return this._error="unexpected end of input reading string",1;case'"':return this._next(),6;default:this._store()}},e._identifier=function(){for(this._store();null!==this._cur&&this._isIdentifierSymbol(this._cur);)this._store();return 7},e._isIdentifierSymbol=function(t){return 1===t.length&&null!==t.match(Z_)},e._eof=function(){return null===this._cur},e._next=function(){return this._eof()||(this._index++,this._cur=this._index=0;--s)if(n==="/"+e[s].name&&null===e[s].end)return e[s].end=t.length,4===(i=this._scanner.read())||(this._error="expected close bracket",!1);return this._error="failed to find matching tag",!1}var r={name:n,value:null,attributes:{},start:t.length,end:null};if(5===(i=this._scanner.read())){if(6!==(i=this._scanner.read()))return this._error="expected string",!1;r.value=this._scanner.buf().join(""),i=this._scanner.read()}for(;;){switch(i){case 4:return e.push(r),!0;case 7:var a=this._scanner.buf().join("");if(5!==(i=this._scanner.read()))return this._error="expected equals",!1;if(6!==(i=this._scanner.read()))return this._error="expected string",!1;var o=this._scanner.buf().join("");r.attributes[a]=o;break;default:return this._error="expected close bracket or identifier",!1}i=this._scanner.read()}},t}();function J_(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];n instanceof Object?(t.hasOwnProperty(i)||(t[i]={}),J_(t[i],e[i])):t[i]=n}}function tg(t){if(0===t.length)return null;for(var e={},i=0;i=1e-4,v=this._element.calculatedWidth;(this.autoWidth&&!g||!this._wrapLines)&&(v=Number.POSITIVE_INFINITY);var y,x,S,b,w=0,T=0;function A(t,i,n){e._lineWidths.push(Math.abs(n));var s=f>i?i+1:f,r=f>i?f+1:i,h=t.slice(s,r);if(_)for(var l=h.length;l--&&_>0;)rg.test(h[l])&&(h.splice(l,1),_--);e._lineContents.push(h.join("")),a=0,o-=e._scaledLineHeight,c++,p=0,m=0,_=0,u=0,f=i}for(var C=!0;C;){C=!1,this._scaledLineHeight=s?this._lineHeight*this._fontSize/(this._maxFontSize||1e-4):this._lineHeight,this.width=0,this.height=0,this._lineWidths=[],this._lineContents=[],a=0,o=0,h=0,l=0,c=1,u=0,d=0,f=0,p=0,m=0,_=0;var E=this._fontSize/32;w=this._fontMinY*E,T=this._fontMaxY*E;for(var M=0;M=r?null:this._symbols[U+1],rg.test(y))_++,(!this._wrapLines||this._maxLines<0||c0){var q=this._font.data.kerning;if(q){var j=q[rt.getCodePoint(this._symbols[U-1])||0];j&&(X=j[rt.getCodePoint(this._symbols[U])||0]||0)}}H=x.scale||1,G=E*((x.width+x.height)/2)/H,V=(x.xadvance+X)*E,N=(x.xoffset-X)*E,z=x.yoffset*E}else console.error("Couldn't substitute missing character: '"+y+"'");var Y=ag.test(y),K=x&&x.map||0,Z=-this._font.data.info.maps[K].width/this._font.data.info.maps[K].height,Q=this._meshInfo[K],$=a+this._spacing*V;if($>v&&m>0&&!Y&&(this._maxLines<0||cthis._element.calculatedWidth&&(ut=Math.floor(this._element.fontSize*this._element.calculatedWidth/(this.width||1e-4)),(ut=_t.clamp(ut,i,n))!==this._element.fontSize)){this._fontSize=ut,C=!0;break}if(this.height=Math.max(this.height,T-(o+w)),this._shouldAutoFitHeight()&&this.height>this._element.calculatedHeight&&(ut=_t.clamp(this._fontSize-1,i,n))!==this._element.fontSize){this._fontSize=ut,C=!0;break}a+=this._spacing*V,Y||(l=a),(this._isWordBoundary(y)||this._isValidNextChar(b)&&(this._isNextCJKBoundary(y,b)||this._isNextCJKWholeWord(b)))&&(p++,u=l,d=U+1),m++;var dt=this._getUv(y);if(Q.uvs[4*S*2+0]=dt[0],Q.uvs[4*S*2+1]=1-dt[1],Q.uvs[4*S*2+2]=dt[2],Q.uvs[4*S*2+3]=1-dt[1],Q.uvs[4*S*2+4]=dt[2],Q.uvs[4*S*2+5]=1-dt[3],Q.uvs[4*S*2+6]=dt[0],Q.uvs[4*S*2+7]=1-dt[3],this._symbolColors){var ft=3*this._symbolColors[U];P=this._colorPalette[ft],R=this._colorPalette[ft+1],I=this._colorPalette[ft+2]}if(Q.colors[4*S*4+0]=P,Q.colors[4*S*4+1]=R,Q.colors[4*S*4+2]=I,Q.colors[4*S*4+3]=255,Q.colors[4*S*4+4]=P,Q.colors[4*S*4+5]=R,Q.colors[4*S*4+6]=I,Q.colors[4*S*4+7]=255,Q.colors[4*S*4+8]=P,Q.colors[4*S*4+9]=R,Q.colors[4*S*4+10]=I,Q.colors[4*S*4+11]=255,Q.colors[4*S*4+12]=P,Q.colors[4*S*4+13]=R,Q.colors[4*S*4+14]=I,Q.colors[4*S*4+15]=255,this._symbolOutlineParams){var pt=5*this._symbolOutlineParams[U];L=this._outlinePalette[pt]+256*this._outlinePalette[pt+1],D=this._outlinePalette[pt+2]+256*this._outlinePalette[pt+3],O=this._outlinePalette[pt+4]}if(Q.outlines[4*S*3+0]=L,Q.outlines[4*S*3+1]=D,Q.outlines[4*S*3+2]=O,Q.outlines[4*S*3+3]=L,Q.outlines[4*S*3+4]=D,Q.outlines[4*S*3+5]=O,Q.outlines[4*S*3+6]=L,Q.outlines[4*S*3+7]=D,Q.outlines[4*S*3+8]=O,Q.outlines[4*S*3+9]=L,Q.outlines[4*S*3+10]=D,Q.outlines[4*S*3+11]=O,this._symbolShadowParams){var mt=6*this._symbolShadowParams[U];k=this._shadowPalette[mt]+256*this._shadowPalette[mt+1],F=this._shadowPalette[mt+2]+256*this._shadowPalette[mt+3],B=this._shadowPalette[mt+4]+127+256*Math.round(Z*this._shadowPalette[mt+5]+127)}Q.shadows[4*S*3+0]=k,Q.shadows[4*S*3+1]=F,Q.shadows[4*S*3+2]=B,Q.shadows[4*S*3+3]=k,Q.shadows[4*S*3+4]=F,Q.shadows[4*S*3+5]=B,Q.shadows[4*S*3+6]=k,Q.shadows[4*S*3+7]=F,Q.shadows[4*S*3+8]=B,Q.shadows[4*S*3+9]=k,Q.shadows[4*S*3+10]=F,Q.shadows[4*S*3+11]=B,Q.quad++}}C||f=kt?(Ft.element[Ee].set(0,0,0),Ft.element[Oe].set(0,0),Ft.element[Le].set(0,0,0,0),Ft.element[Qe].set(0,0,0,0),Ft.element[$e].set(0,0,0,0)):(Ft.element[Ee].set(this._meshInfo[St].positions[3*Bt+0],this._meshInfo[St].positions[3*Bt+1],this._meshInfo[St].positions[3*Bt+2]),Ft.element[Oe].set(this._meshInfo[St].uvs[2*Bt+0],this._meshInfo[St].uvs[2*Bt+1]),Ft.element[Le].set(this._meshInfo[St].colors[4*Bt+0],this._meshInfo[St].colors[4*Bt+1],this._meshInfo[St].colors[4*Bt+2],this._meshInfo[St].colors[4*Bt+3]),Ft.element[Qe].set(this._meshInfo[St].outlines[3*Bt+0],this._meshInfo[St].outlines[3*Bt+1],this._meshInfo[St].outlines[3*Bt+2]),Ft.element[$e].set(this._meshInfo[St].shadows[3*Bt+0],this._meshInfo[St].shadows[3*Bt+1],this._meshInfo[St].shadows[3*Bt+2])),Ft.next();Ft.end(),this._meshInfo[St].meshInstance.mesh.aabb.compute(this._meshInfo[St].positions),this._meshInfo[St].meshInstance._aabbVer=-1}this._aabbDirty=!0},e._onFontRender=function(){this.font=this._font},e._onFontLoad=function(t){this.font!==t.resource&&(this.font=t.resource)},e._onFontChange=function(t,e,i,n){if("data"===e){this._font.data=i;for(var s=this._font.data.info.maps.length,r=0;rthis._font.textures.length&&(this._meshInfo.length=this._font.textures.length),this._updateText()}}},{key:"alignment",get:function(){return this._alignment},set:function(t){t instanceof It?this._alignment.set(t.x,t.y):this._alignment.set(t[0],t[1]),this._font&&this._updateText()}},{key:"autoWidth",get:function(){return this._autoWidth},set:function(t){var e=this._autoWidth;if(this._autoWidth=t,t&&Math.abs(this._element.anchor.x-this._element.anchor.z)<1e-4&&(this._element.width=this.width),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"autoHeight",get:function(){return this._autoHeight},set:function(t){var e=this._autoHeight;if(this._autoHeight=t,t&&Math.abs(this._element.anchor.y-this._element.anchor.w)<1e-4&&(this._element.height=this.height),e!==t){var i=this._shouldAutoFit()?this._maxFontSize:this._originalFontSize;i!==this._fontSize&&(this._fontSize=i,this._font&&this._updateText())}}},{key:"rtlReorder",get:function(){return this._rtlReorder},set:function(t){this._rtlReorder!==t&&(this._rtlReorder=t,this._font&&this._updateText())}},{key:"unicodeConverter",get:function(){return this._unicodeConverter},set:function(t){this._unicodeConverter!==t&&(this._unicodeConverter=t,this._setText(this._text))}},{key:"aabb",get:function(){if(this._aabbDirty){for(var t=!1,e=0;e=0&&this.system._prerender.splice(i,1),this.system._prerender.indexOf(t)<0&&this.system._prerender.push(t)}t=e}},i._onPrerender=function(){for(var t=0;t=0)&&(null==(t=this.system.app.batcher)||t.insert(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("enableelement")},i.onDisable=function(){var t;(this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this._image&&this._image.onDisable(),this._text&&this._text.onDisable(),this._group&&this._group.onDisable(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this._batchGroupId>=0)&&(null==(t=this.system.app.batcher)||t.remove(Qo.ELEMENT,this.batchGroupId,this.entity));this.fire("disableelement")},i.onRemove=function(){this.entity.off("insert",this._onInsert,this),this._unpatch(),this._image&&this._image.destroy(),this._text&&this._text.destroy(),this.system.app.elementInput&&this.useInput&&this.system.app.elementInput.removeElement(this),this.screen&&this.screen.screen&&(this._unbindScreen(this.screen.screen),this.screen.screen.syncDrawOrder()),this.off()},i._calculateSize=function(t,e){if(this.entity._parent||this.screen){this._calculateLocalAnchors();var i=this._absRight-this._absLeft,n=this._absTop-this._absBottom;t?this._setWidth(i):this._setCalculatedWidth(i,!1),e?this._setHeight(n):this._setCalculatedHeight(n,!1);var s=this.entity.getLocalPosition();s.x=this._margin.x+this._calculatedWidth*this._pivot.x,s.y=this._margin.y+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(s),this._sizeDirty=!1}},i._setWidth=function(t){this._width=t,this._setCalculatedWidth(t,!1),this.fire("set:width",this._width)},i._setHeight=function(t){this._height=t,this._setCalculatedHeight(t,!1),this.fire("set:height",this._height)},i._setCalculatedWidth=function(t,e){if(!(Math.abs(t-this._calculatedWidth)<=1e-4)){if(this._calculatedWidth=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.x=i.x-this._calculatedWidth*n.x,this._margin.z=this._localAnchor.z-this._localAnchor.x-this._calculatedWidth-this._margin.x}this._flagChildrenAsDirty(),this.fire("set:calculatedWidth",this._calculatedWidth),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._setCalculatedHeight=function(t,e){if(!(Math.abs(t-this._calculatedHeight)<=1e-4)){if(this._calculatedHeight=t,this.entity._dirtifyLocal(),e){var i=this.entity.getLocalPosition(),n=this._pivot;this._margin.y=i.y-this._calculatedHeight*n.y,this._margin.w=this._localAnchor.w-this._localAnchor.y-this._calculatedHeight-this._margin.y}this._flagChildrenAsDirty(),this.fire("set:calculatedHeight",this._calculatedHeight),this.fire("resize",this._calculatedWidth,this._calculatedHeight)}},i._flagChildrenAsDirty=function(){for(var t=this.entity._children,e=0,i=t.length;e=0&&this._addedModels.splice(e,1);for(var i=0;ii||f>n||p.001}},{key:"_hasSplitAnchorsY",get:function(){return Math.abs(this._anchor.y-this._anchor.w)>.001}},{key:"aabb",get:function(){return this._image?this._image.aabb:this._text?this._text.aabb:null}},{key:"anchor",get:function(){return this._anchor},set:function(t){var e;t instanceof Dt?this._anchor.copy(t):(e=this._anchor).set.apply(e,t);this.entity._parent||this.screen?this._calculateSize(this._hasSplitAnchorsX,this._hasSplitAnchorsY):this._calculateLocalAnchors(),this._anchorDirty=!0,this.entity._dirtyLocal||this.entity._dirtifyLocal(),this.fire("set:anchor",this._anchor)}},{key:"batchGroupId",get:function(){return this._batchGroupId},set:function(t){if(this._batchGroupId!==t){var e,i;if(this.entity.enabled&&this._batchGroupId>=0)null==(e=this.system.app.batcher)||e.remove(Qo.ELEMENT,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.ELEMENT,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&(this._image&&this._image._renderable.model?this.addModelToLayers(this._image._renderable.model):this._text&&this._text._model&&this.addModelToLayers(this._text._model)),this._batchGroupId=t}}},{key:"bottom",get:function(){return this._margin.y},set:function(t){this._margin.y=t;var e=this.entity.getLocalPosition(),i=this._absTop,n=this._localAnchor.y+t;this._setHeight(i-n),e.y=t+this._calculatedHeight*this._pivot.y,this.entity.setLocalPosition(e)}},{key:"calculatedWidth",get:function(){return this._calculatedWidth},set:function(t){this._setCalculatedWidth(t,!0)}},{key:"calculatedHeight",get:function(){return this._calculatedHeight},set:function(t){this._setCalculatedHeight(t,!0)}},{key:"canvasCorners",get:function(){if(!this._canvasCornersDirty||!this.screen||!this.screen.screen.screenSpace)return this._canvasCorners;for(var t=this.system.app.graphicsDevice,e=this.screenCorners,i=t.canvas.clientWidth/t.width,n=t.canvas.clientHeight/t.height,s=0;s<4;s++)this._canvasCorners[s].set(e[s].x*i,(t.height-e[s].y)*n);return this._canvasCornersDirty=!1,this._canvasCorners}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){var e=0;this.screen&&(e=this.screen.screen.priority),t>16777215&&(t=16777215),this._drawOrder=(e<<24)+t,this.fire("set:draworder",this._drawOrder)}},{key:"height",get:function(){return this._height},set:function(t){this._height=t,this._hasSplitAnchorsY||this._setCalculatedHeight(t,!0),this.fire("set:height",this._height)}},{key:"layers",get:function(){return this._layers},set:function(t){if(this._addedModels.length)for(var e=0;e.001,a=Math.abs(e.anchor.y-e.anchor.w)>.001,o=!1;void 0!==i.margin&&(i.margin instanceof Dt?e.margin.copy(i.margin):e._margin.set(i.margin[0],i.margin[1],i.margin[2],i.margin[3]),o=!0),void 0!==i.left&&(e._margin.x=i.left,o=!0),void 0!==i.bottom&&(e._margin.y=i.bottom,o=!0),void 0!==i.right&&(e._margin.z=i.right,o=!0),void 0!==i.top&&(e._margin.w=i.top,o=!0),o&&(e.margin=e._margin);var h=!1;void 0===i.width||r?r&&(h=!0):e.width=i.width,void 0===i.height||a?a&&(h=!0):e.height=i.height,h&&(e.anchor=e.anchor),void 0!==i.enabled&&(e.enabled=i.enabled),void 0!==i.useInput&&(e.useInput=i.useInput),void 0!==i.fitMode&&(e.fitMode=i.fitMode),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.type&&(e.type=i.type),e.type===Jm?(void 0!==i.rect&&(e.rect=i.rect),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(i.color[0],i.color[1],i.color[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.textureAsset&&(e.textureAsset=i.textureAsset),i.texture&&(e.texture=i.texture),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.spriteFrame&&(e.spriteFrame=i.spriteFrame),void 0!==i.pixelsPerUnit&&null!==i.pixelsPerUnit&&(e.pixelsPerUnit=i.pixelsPerUnit),void 0!==i.materialAsset&&(e.materialAsset=i.materialAsset),i.material&&(e.material=i.material),void 0!==i.mask&&(e.mask=i.mask)):e.type===t_&&(void 0!==i.autoWidth&&(e.autoWidth=i.autoWidth),void 0!==i.autoHeight&&(e.autoHeight=i.autoHeight),void 0!==i.rtlReorder&&(e.rtlReorder=i.rtlReorder),void 0!==i.unicodeConverter&&(e.unicodeConverter=i.unicodeConverter),null!==i.text&&void 0!==i.text?e.text=i.text:null!==i.key&&void 0!==i.key&&(e.key=i.key),void 0!==i.color&&((s=i.color)instanceof gt||(s=new gt(s[0],s[1],s[2])),e.color=s),void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.spacing&&(e.spacing=i.spacing),void 0!==i.fontSize&&(e.fontSize=i.fontSize,i.lineHeight||(e.lineHeight=i.fontSize)),void 0!==i.lineHeight&&(e.lineHeight=i.lineHeight),void 0!==i.maxLines&&(e.maxLines=i.maxLines),void 0!==i.wrapLines&&(e.wrapLines=i.wrapLines),void 0!==i.minFontSize&&(e.minFontSize=i.minFontSize),void 0!==i.maxFontSize&&(e.maxFontSize=i.maxFontSize),i.autoFitWidth&&(e.autoFitWidth=i.autoFitWidth),i.autoFitHeight&&(e.autoFitHeight=i.autoFitHeight),void 0!==i.fontAsset&&(e.fontAsset=i.fontAsset),void 0!==i.font&&(e.font=i.font),void 0!==i.alignment&&(e.alignment=i.alignment),void 0!==i.outlineColor&&(e.outlineColor=i.outlineColor),void 0!==i.outlineThickness&&(e.outlineThickness=i.outlineThickness),void 0!==i.shadowColor&&(e.shadowColor=i.shadowColor),void 0!==i.shadowOffset&&(e.shadowOffset=i.shadowOffset),void 0!==i.enableMarkup&&(e.enableMarkup=i.enableMarkup));var l=e._parseUpToScreen();l.screen&&e._updateScreen(l.screen),t.prototype.initializeComponentData.call(this,e,i,n),e._beingInitialized=!1,e.type===Jm&&e._image._meshDirty&&e._image._updateMesh(e._image.mesh)},i.onRemoveComponent=function(t,e){e.onRemove()},i.cloneComponent=function(t,e){var i=t.element,n={enabled:i.enabled,width:i.width,height:i.height,anchor:i.anchor.clone(),pivot:i.pivot.clone(),margin:i.margin.clone(),alignment:i.alignment&&i.alignment.clone()||i.alignment,autoWidth:i.autoWidth,autoHeight:i.autoHeight,type:i.type,rect:i.rect&&i.rect.clone()||i.rect,rtlReorder:i.rtlReorder,unicodeConverter:i.unicodeConverter,materialAsset:i.materialAsset,material:i.material,color:i.color&&i.color.clone()||i.color,opacity:i.opacity,textureAsset:i.textureAsset,texture:i.texture,spriteAsset:i.spriteAsset,sprite:i.sprite,spriteFrame:i.spriteFrame,pixelsPerUnit:i.pixelsPerUnit,spacing:i.spacing,lineHeight:i.lineHeight,wrapLines:i.wrapLines,layers:i.layers,fontSize:i.fontSize,minFontSize:i.minFontSize,maxFontSize:i.maxFontSize,autoFitWidth:i.autoFitWidth,autoFitHeight:i.autoFitHeight,maxLines:i.maxLines,fontAsset:i.fontAsset,font:i.font,useInput:i.useInput,fitMode:i.fitMode,batchGroupId:i.batchGroupId,mask:i.mask,outlineColor:i.outlineColor&&i.outlineColor.clone()||i.outlineColor,outlineThickness:i.outlineThickness,shadowColor:i.shadowColor&&i.shadowColor.clone()||i.shadowColor,shadowOffset:i.shadowOffset&&i.shadowOffset.clone()||i.shadowOffset,enableMarkup:i.enableMarkup};return void 0!==i.key&&null!==i.key?n.key=i.key:n.text=i.text,this.addComponent(e,n)},i.getTextElementMaterial=function(t,e,i){var n=(t&&1)|(e&&2)|(i&&4),s=this._defaultTextMaterials[n];if(s)return s;var r="TextMaterial";return s=new vu,e?(s.msdfMap=this._defaultTexture,s.msdfTextAttribute=i,s.emissive.set(1,1,1)):(r="Bitmap"+r,s.emissive.set(.5,.5,.5),s.emissiveMap=this._defaultTexture,s.emissiveTint=!0,s.opacityMap=this._defaultTexture,s.opacityMapChannel="a"),t&&(r="ScreenSpace"+r,s.depthTest=!1),s.name="default"+r,s.useLighting=!1,s.useGammaTonemap=!1,s.useFog=!1,s.useSkybox=!1,s.diffuse.set(0,0,0),s.opacity=.5,s.blendType=4,s.depthWrite=!1,s.emissiveVertexColor=!0,s.update(),this._defaultTextMaterials[n]=s,s},i._createBaseImageMaterial=function(){var t=new vu;return t.diffuse.set(0,0,0),t.emissive.set(.5,.5,.5),t.emissiveMap=this._defaultTexture,t.emissiveTint=!0,t.opacityMap=this._defaultTexture,t.opacityMapChannel="a",t.opacityTint=!0,t.opacity=0,t.useLighting=!1,t.useGammaTonemap=!1,t.useFog=!1,t.useSkybox=!1,t.blendType=4,t.depthWrite=!1,t},i.getImageElementMaterial=function(t,e,i,n){return t?e?i?(this.defaultScreenSpaceImageMask9SlicedMaterial||(this.defaultScreenSpaceImageMask9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMask9SlicedMaterial.name="defaultScreenSpaceImageMask9SlicedMaterial",this.defaultScreenSpaceImageMask9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImageMask9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9SlicedMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9SlicedMaterial)),this.defaultScreenSpaceImageMask9SlicedMaterial):n?(this.defaultScreenSpaceImageMask9TiledMaterial||(this.defaultScreenSpaceImageMask9TiledMaterial=this.defaultScreenSpaceImage9TiledMaterial.clone(),this.defaultScreenSpaceImageMask9TiledMaterial.name="defaultScreenSpaceImageMask9TiledMaterial",this.defaultScreenSpaceImageMask9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImageMask9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaTest=1,this.defaultScreenSpaceImageMask9TiledMaterial.redWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.greenWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.blueWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMask9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMask9TiledMaterial)),this.defaultScreenSpaceImageMask9TiledMaterial):(this.defaultScreenSpaceImageMaskMaterial||(this.defaultScreenSpaceImageMaskMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaskMaterial.name="defaultScreenSpaceImageMaskMaterial",this.defaultScreenSpaceImageMaskMaterial.depthTest=!1,this.defaultScreenSpaceImageMaskMaterial.alphaTest=1,this.defaultScreenSpaceImageMaskMaterial.redWrite=!1,this.defaultScreenSpaceImageMaskMaterial.greenWrite=!1,this.defaultScreenSpaceImageMaskMaterial.blueWrite=!1,this.defaultScreenSpaceImageMaskMaterial.alphaWrite=!1,this.defaultScreenSpaceImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaskMaterial)),this.defaultScreenSpaceImageMaskMaterial):i?(this.defaultScreenSpaceImage9SlicedMaterial||(this.defaultScreenSpaceImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9SlicedMaterial.name="defaultScreenSpaceImage9SlicedMaterial",this.defaultScreenSpaceImage9SlicedMaterial.nineSlicedMode=1,this.defaultScreenSpaceImage9SlicedMaterial.depthTest=!1,this.defaultScreenSpaceImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9SlicedMaterial)),this.defaultScreenSpaceImage9SlicedMaterial):n?(this.defaultScreenSpaceImage9TiledMaterial||(this.defaultScreenSpaceImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImage9TiledMaterial.name="defaultScreenSpaceImage9TiledMaterial",this.defaultScreenSpaceImage9TiledMaterial.nineSlicedMode=2,this.defaultScreenSpaceImage9TiledMaterial.depthTest=!1,this.defaultScreenSpaceImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImage9TiledMaterial)),this.defaultScreenSpaceImage9TiledMaterial):(this.defaultScreenSpaceImageMaterial||(this.defaultScreenSpaceImageMaterial=this._createBaseImageMaterial(),this.defaultScreenSpaceImageMaterial.name="defaultScreenSpaceImageMaterial",this.defaultScreenSpaceImageMaterial.depthTest=!1,this.defaultScreenSpaceImageMaterial.update(),this.defaultImageMaterials.push(this.defaultScreenSpaceImageMaterial)),this.defaultScreenSpaceImageMaterial):e?i?(this.defaultImage9SlicedMaskMaterial||(this.defaultImage9SlicedMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaskMaterial.name="defaultImage9SlicedMaskMaterial",this.defaultImage9SlicedMaskMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaskMaterial.alphaTest=1,this.defaultImage9SlicedMaskMaterial.redWrite=!1,this.defaultImage9SlicedMaskMaterial.greenWrite=!1,this.defaultImage9SlicedMaskMaterial.blueWrite=!1,this.defaultImage9SlicedMaskMaterial.alphaWrite=!1,this.defaultImage9SlicedMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaskMaterial)),this.defaultImage9SlicedMaskMaterial):n?(this.defaultImage9TiledMaskMaterial||(this.defaultImage9TiledMaskMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaskMaterial.name="defaultImage9TiledMaskMaterial",this.defaultImage9TiledMaskMaterial.nineSlicedMode=2,this.defaultImage9TiledMaskMaterial.alphaTest=1,this.defaultImage9TiledMaskMaterial.redWrite=!1,this.defaultImage9TiledMaskMaterial.greenWrite=!1,this.defaultImage9TiledMaskMaterial.blueWrite=!1,this.defaultImage9TiledMaskMaterial.alphaWrite=!1,this.defaultImage9TiledMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaskMaterial)),this.defaultImage9TiledMaskMaterial):(this.defaultImageMaskMaterial||(this.defaultImageMaskMaterial=this._createBaseImageMaterial(),this.defaultImageMaskMaterial.name="defaultImageMaskMaterial",this.defaultImageMaskMaterial.alphaTest=1,this.defaultImageMaskMaterial.redWrite=!1,this.defaultImageMaskMaterial.greenWrite=!1,this.defaultImageMaskMaterial.blueWrite=!1,this.defaultImageMaskMaterial.alphaWrite=!1,this.defaultImageMaskMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaskMaterial)),this.defaultImageMaskMaterial):i?(this.defaultImage9SlicedMaterial||(this.defaultImage9SlicedMaterial=this._createBaseImageMaterial(),this.defaultImage9SlicedMaterial.name="defaultImage9SlicedMaterial",this.defaultImage9SlicedMaterial.nineSlicedMode=1,this.defaultImage9SlicedMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9SlicedMaterial)),this.defaultImage9SlicedMaterial):n?(this.defaultImage9TiledMaterial||(this.defaultImage9TiledMaterial=this._createBaseImageMaterial(),this.defaultImage9TiledMaterial.name="defaultImage9TiledMaterial",this.defaultImage9TiledMaterial.nineSlicedMode=2,this.defaultImage9TiledMaterial.update(),this.defaultImageMaterials.push(this.defaultImage9TiledMaterial)),this.defaultImage9TiledMaterial):(this.defaultImageMaterial||(this.defaultImageMaterial=this._createBaseImageMaterial(),this.defaultImageMaterial.name="defaultImageMaterial",this.defaultImageMaterial.update(),this.defaultImageMaterials.push(this.defaultImageMaterial)),this.defaultImageMaterial)},i.registerUnicodeConverter=function(t){this._unicodeConverter=t},i.registerRtlReorder=function(t){this._rtlReorder=t},i.getUnicodeConverter=function(){return this._unicodeConverter},i.getRtlReorder=function(){return this._rtlReorder},e}(Op);Dp._buildAccessors(Tg.prototype,Eg);var Pg="free",Rg="limited",Ig="locked",Lg=["angularDampingX","angularDampingY","angularDampingZ","angularEquilibriumX","angularEquilibriumY","angularEquilibriumZ","angularLimitsX","angularLimitsY","angularLimitsZ","angularMotionX","angularMotionY","angularMotionZ","angularSpringX","angularSpringY","angularSpringZ","angularStiffnessX","angularStiffnessY","angularStiffnessZ","breakForce","enableCollision","enabled","entityA","entityB","linearDampingX","linearDampingY","linearDampingZ","linearEquilibriumX","linearEquilibriumY","linearEquilibriumZ","linearLimitsX","linearLimitsY","linearLimitsZ","linearMotionX","linearMotionY","linearMotionZ","linearSpringX","linearSpringY","linearSpringZ","linearStiffnessX","linearStiffnessY","linearStiffnessZ"],Dg=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._constraint=null,n._entityA=null,n._entityB=null,n._breakForce=34e37,n._enableCollision=!0,n._linearMotionX=Ig,n._linearLimitsX=new It(0,0),n._linearSpringX=!1,n._linearStiffnessX=0,n._linearDampingX=1,n._linearEquilibriumX=0,n._linearMotionY=Ig,n._linearLimitsY=new It(0,0),n._linearSpringY=!1,n._linearStiffnessY=0,n._linearDampingY=1,n._linearEquilibriumY=0,n._linearMotionZ=Ig,n._linearLimitsZ=new It(0,0),n._linearSpringZ=!1,n._linearStiffnessZ=0,n._linearDampingZ=1,n._linearEquilibriumZ=0,n._angularMotionX=Ig,n._angularLimitsX=new It(0,0),n._angularSpringX=!1,n._angularStiffnessX=0,n._angularDampingX=1,n._angularEquilibriumX=0,n._angularMotionY=Ig,n._angularLimitsY=new It(0,0),n._angularSpringY=!1,n._angularStiffnessY=0,n._angularDampingY=1,n._angularEquilibriumY=0,n._angularMotionZ=Ig,n._angularLimitsZ=new It(0,0),n._angularSpringZ=!1,n._angularEquilibriumZ=0,n._angularDampingZ=1,n._angularStiffnessZ=0,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i._convertTransform=function(t,e){var i=t.getTranslation(),n=new Vt;n.setFromMat4(t);var s=new Ammo.btVector3(i.x,i.y,i.z),r=new Ammo.btQuaternion(n.x,n.y,n.z,n.w);e.setOrigin(s),e.setRotation(r),Ammo.destroy(s),Ammo.destroy(r)},i._updateAngularLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._angularMotionX===Rg?(e=this._angularLimitsX.x*_t.DEG_TO_RAD,s=this._angularLimitsX.y*_t.DEG_TO_RAD):this._angularMotionX===Pg?(e=1,s=0):e=s=0,this._angularMotionY===Rg?(i=this._angularLimitsY.x*_t.DEG_TO_RAD,r=this._angularLimitsY.y*_t.DEG_TO_RAD):this._angularMotionY===Pg?(i=1,r=0):i=r=0,this._angularMotionZ===Rg?(n=this._angularLimitsZ.x*_t.DEG_TO_RAD,a=this._angularLimitsZ.y*_t.DEG_TO_RAD):this._angularMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setAngularLowerLimit(o),o.setValue(s,r,a),t.setAngularUpperLimit(o),Ammo.destroy(o)}},i._updateLinearLimits=function(){var t=this._constraint;if(t){var e,i,n,s,r,a;this._linearMotionX===Rg?(e=this._linearLimitsX.x,s=this._linearLimitsX.y):this._linearMotionX===Pg?(e=1,s=0):e=s=0,this._linearMotionY===Rg?(i=this._linearLimitsY.x,r=this._linearLimitsY.y):this._linearMotionY===Pg?(i=1,r=0):i=r=0,this._linearMotionZ===Rg?(n=this._linearLimitsZ.x,a=this._linearLimitsZ.y):this._linearMotionZ===Pg?(n=1,a=0):n=a=0;var o=new Ammo.btVector3(e,i,n);t.setLinearLowerLimit(o),o.setValue(s,r,a),t.setLinearUpperLimit(o),Ammo.destroy(o)}},i._createConstraint=function(){if(this._entityA&&this._entityA.rigidbody){this._destroyConstraint();var t=new zt,e=this._entityA.rigidbody.body;e.activate();var i=this.entity.getWorldTransform(),n=this._entityA.getWorldTransform().clone().invert();t.mul2(n,i);var s=new Ammo.btTransform;if(this._convertTransform(t,s),this._entityB&&this._entityB.rigidbody){var r=this._entityB.rigidbody.body;r.activate();var a=this._entityB.getWorldTransform().clone().invert();t.mul2(a,i);var o=new Ammo.btTransform;this._convertTransform(t,o),this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,r,s,o,!this._enableCollision),Ammo.destroy(o)}else this._constraint=new Ammo.btGeneric6DofSpringConstraint(e,s,!this._enableCollision);Ammo.destroy(s);for(var h=["X","Y","Z","X","Y","Z"],l=0;l<6;l++){var c=l<3?"_linear":"_angular";this._constraint.enableSpring(l,this[c+"Spring"+h[l]]),this._constraint.setDamping(l,this[c+"Damping"+h[l]]),this._constraint.setEquilibriumPoint(l,this[c+"Equilibrium"+h[l]]),this._constraint.setStiffness(l,this[c+"Stiffness"+h[l]])}this._constraint.setBreakingImpulseThreshold(this._breakForce),this._updateLinearLimits(),this._updateAngularLimits(),this.system.app.systems.rigidbody.dynamicsWorld.addConstraint(this._constraint,!this._enableCollision)}},i._destroyConstraint=function(){this._constraint&&(this.system.app.systems.rigidbody.dynamicsWorld.removeConstraint(this._constraint),Ammo.destroy(this._constraint),this._constraint=null)},i.initFromData=function(t){for(var e=0,i=Lg;e=i?jg:Xg;case 3:return e=0;--n)i[e[n]]=i[e[n+1]]+t[e[n]];return i}return function(t,d){t=t.filter(o),e=d,Yg.x=e.containerSize.x-e.padding.x-e.padding.z,Yg.y=e.containerSize.y-e.padding.y-e.padding.w,function(t){for(var e=0;e0&&(r+=e.spacing[i.axis]);var h=s[o][i.size];r+=h,!a&&r>Yg[i.axis]&&0!==n[n.length-1].length&&(r=h,n.push([])),n[n.length-1].push(t[o]),a&&r>Yg[i.axis]&&o!==t.length-1&&(r=0,n.push([]))}return n}(t)),m=function(t,i){for(var s=[],r=[],a=0;ao.largestSize[n.size]&&(o.largestElement=o[d],o.largestSize=f)}s.push(o.largestElement),r.push(o.largestSize)}var p=l(r,n),m=h(e[n.fitting],p,Yg[n.axis]);m===qg?c(r,p,n):m===jg&&u(r,p,n);for(var _=0;_0;){var e=this._reflowQueue.slice();this._reflowQueue.length=0,e.sort((function(t,e){return t.entity.graphDepth-e.entity.graphDepth}));for(var i=0;i=100){console.warn("Max reflow iterations limit reached, bailing.");break}}},i._onRemoveComponent=function(t,e){e.onRemove()},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op);Dp._buildAccessors(tv.prototype,iv);var sv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._asset=null,n._model=null,n._mapping={},n._castShadows=!0,n._receiveShadows=!0,n._materialAsset=null,n._material=void 0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._layers=[0],n._batchGroupId=-1,n._customAabb=null,n._area=null,n._materialEvents=null,n._clonedModel=!1,n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.addModelToLayers=function(){for(var t=this.system.app.scene.layers,e=0;e=0&&(null==(n=t.batcher)||n.insert(Qo.MODEL,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.MODEL,this.batchGroupId,this.entity));this._model&&this.removeModelFromLayers()},i.hide=function(){if(this._model)for(var t=this._model.meshInstances,e=0,i=t.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.MODEL,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.MODEL,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addModelToLayers(),this._batchGroupId=t}}},{key:"materialAsset",get:function(){return this._materialAsset},set:function(t){var e=t;t instanceof $f&&(e=t.id);var i=this.system.app.assets;if(e!==this._materialAsset){if(this._materialAsset){i.off("add:"+this._materialAsset,this._onMaterialAssetAdd,this);var n=i.get(this._materialAsset);n&&this._unbindMaterialAsset(n)}if(this._materialAsset=e,this._materialAsset){var s=i.get(this._materialAsset);s?this._bindMaterialAsset(s):(this._setMaterial(this.system.defaultMaterial),i.on("add:"+this._materialAsset,this._onMaterialAssetAdd,this))}else this._setMaterial(this.system.defaultMaterial)}}},{key:"material",get:function(){return this._material},set:function(t){this._material!==t&&(this.materialAsset=null,this._setMaterial(t))}},{key:"mapping",get:function(){return this._mapping},set:function(t){if("asset"===this._type&&(this._unsetMaterialEvents(),t||(t={}),this._mapping=t,this._model))for(var e=this._model.meshInstances,i=this.asset?this.system.app.assets.get(this.asset):null,n=i?i.data.mapping:null,s=null,r=0,a=e.length;r=0))continue;n=this.system.app.assets.get(n)}n&&!n.resource&&this.system.app.assets.load(n)}}if(!this.system.app.graphicsDevice.disableParticleSystem){if(!this.emitter){var s=t.mesh;s instanceof no||(s=null),this.emitter=new Kd(this.system.app.graphicsDevice,{numParticles:t.numParticles,emitterExtents:t.emitterExtents,emitterExtentsInner:t.emitterExtentsInner,emitterRadius:t.emitterRadius,emitterRadiusInner:t.emitterRadiusInner,emitterShape:t.emitterShape,initialVelocity:t.initialVelocity,wrap:t.wrap,localSpace:t.localSpace,screenSpace:t.screenSpace,wrapBounds:t.wrapBounds,lifetime:t.lifetime,rate:t.rate,rate2:t.rate2,orientation:t.orientation,particleNormal:t.particleNormal,animTilesX:t.animTilesX,animTilesY:t.animTilesY,animStartFrame:t.animStartFrame,animNumFrames:t.animNumFrames,animNumAnimations:t.animNumAnimations,animIndex:t.animIndex,randomizeAnimIndex:t.randomizeAnimIndex,animSpeed:t.animSpeed,animLoop:t.animLoop,startAngle:t.startAngle,startAngle2:t.startAngle2,scaleGraph:t.scaleGraph,scaleGraph2:t.scaleGraph2,colorGraph:t.colorGraph,colorGraph2:t.colorGraph2,alphaGraph:t.alphaGraph,alphaGraph2:t.alphaGraph2,localVelocityGraph:t.localVelocityGraph,localVelocityGraph2:t.localVelocityGraph2,velocityGraph:t.velocityGraph,velocityGraph2:t.velocityGraph2,rotationSpeedGraph:t.rotationSpeedGraph,rotationSpeedGraph2:t.rotationSpeedGraph2,radialSpeedGraph:t.radialSpeedGraph,radialSpeedGraph2:t.radialSpeedGraph2,colorMap:t.colorMap,normalMap:t.normalMap,loop:t.loop,preWarm:t.preWarm,sort:t.sort,stretch:t.stretch,alignToMotion:t.alignToMotion,lighting:t.lighting,halfLambert:t.halfLambert,intensity:t.intensity,depthSoftening:t.depthSoftening,scene:this.system.app.scene,mesh:s,depthWrite:t.depthWrite,noFog:t.noFog,node:this.entity,blendType:t.blendType}),this.emitter.meshInstance.node=this.entity,this.emitter.drawOrder=this.drawOrder,t.autoPlay||(this.pause(),this.emitter.meshInstance.visible=!1)}this.emitter.colorMap&&this.addMeshInstanceToLayers(),this.system.app.scene.on("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.on("add",this.onLayerAdded,this),this.system.app.scene.layers.on("remove",this.onLayerRemoved,this)),this.enabled&&this.entity.enabled&&t.depthSoftening&&this._requestDepth()}},i.onDisable=function(){this.system.app.scene.off("set:layers",this.onLayersChanged,this),this.system.app.scene.layers&&(this.system.app.scene.layers.off("add",this.onLayerAdded,this),this.system.app.scene.layers.off("remove",this.onLayerRemoved,this)),this.emitter&&(this.removeMeshInstanceFromLayers(),this.data.depthSoftening&&this._releaseDepth(),this.emitter.camera=null)},i.onBeforeRemove=function(){this.enabled&&(this.enabled=!1),this.emitter&&(this.emitter.destroy(),this.emitter=null);for(var t=0;tc.fixedTimeStep&&(e=Math.floor(c.simTime/c.fixedTimeStep),c.simTime-=e*c.fixedTimeStep),e){e=Math.min(e,c.maxSubSteps);for(var p=0;p=0){var r=n[s];r.decRefCount(),0===r.refCount&&(n.splice(s,1),n.length||t._skinInstanceCache.delete(i),e&&(e.destroy(),r.skinInstance=null))}}}}},t}();vv._skinInstanceCache=new Map;var yv=function(){function t(t,e,i,n,s){this.propertyName=t,this.parent=e,this._scope=s,this._registry=i,this.id=null,this.url=null,this.asset=null,this._onAssetLoad=n.load,this._onAssetAdd=n.add,this._onAssetRemove=n.remove,this._onAssetUnload=n.unload}var e=t.prototype;return e._bind=function(){this.id&&(this._onAssetLoad&&this._registry.on("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.on("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.on("load:url:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.once("add:url:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.on("remove:url:"+this.url,this._onRemove,this))},e._unbind=function(){this.id&&(this._onAssetLoad&&this._registry.off("load:"+this.id,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.id,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.id,this._onRemove,this),this._onAssetUnload&&this._registry.off("unload:"+this.id,this._onUnload,this)),this.url&&(this._onAssetLoad&&this._registry.off("load:"+this.url,this._onLoad,this),this._onAssetAdd&&this._registry.off("add:"+this.url,this._onAdd,this),this._onAssetRemove&&this._registry.off("remove:"+this.url,this._onRemove,this))},e._onLoad=function(t){this._onAssetLoad.call(this._scope,this.propertyName,this.parent,t)},e._onAdd=function(t){this.asset=t,this._onAssetAdd.call(this._scope,this.propertyName,this.parent,t)},e._onRemove=function(t){this._onAssetRemove.call(this._scope,this.propertyName,this.parent,t),this.asset=null},e._onUnload=function(t){this._onAssetUnload.call(this._scope,this.propertyName,this.parent,t)},y(t,[{key:"id",get:function(){return this._id},set:function(t){if(this.url)throw Error("Can't set id and url");this._unbind(),this._id=t,this.asset=this._registry.get(this._id),this._bind()}},{key:"url",get:function(){return this._url},set:function(t){if(this.id)throw Error("Can't set id and url");this._unbind(),this._url=t,this.asset=this._registry.getByUrl(this._url),this._bind()}}]),t}(),xv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type="asset",n._castShadows=!0,n._receiveShadows=!0,n._castShadowsLightmap=!0,n._lightmapped=!1,n._lightmapSizeMultiplier=1,n.isStatic=!1,n._batchGroupId=-1,n._layers=[0],n._renderStyle=0,n._meshInstances=[],n._customAabb=null,n._area=null,n._assetReference=[],n._materialReferences=[],n._material=void 0,n._rootBone=void 0,n._rootBone=new Qm(w(n),"rootBone"),n._rootBone.on("set:entity",n._onSetRootBone,w(n)),n._assetReference=new yv("asset",w(n),e.app.assets,{add:n._onRenderAssetAdded,load:n._onRenderAssetLoad,remove:n._onRenderAssetRemove,unload:n._onRenderAssetUnload},w(n)),n._material=e.defaultMaterial,i.on("remove",n.onRemoveChild,w(n)),i.on("removehierarchy",n.onRemoveChild,w(n)),i.on("insert",n.onInsertChild,w(n)),i.on("inserthierarchy",n.onInsertChild,w(n)),n}S(e,t);var i=e.prototype;return i.assignAsset=function(t){var e=t instanceof $f?t.id:t;this._assetReference.id=e},i._onSetRootBone=function(t){t&&this._onRootBoneChanged()},i._onRootBoneChanged=function(){this._clearSkinInstances(),this.enabled&&this.entity.enabled&&this._cloneSkinInstances()},i.destroyMeshInstances=function(){var t=this._meshInstances;if(t){this.removeFromLayers(),this._clearSkinInstances();for(var e=0;e=0&&(null==(i=t.batcher)||i.insert(Qo.RENDER,this.batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this.onLayersChanged,this),i.layers&&(i.layers.off("add",this.onLayerAdded,this),i.layers.off("remove",this.onLayerRemoved,this)),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.RENDER,this.batchGroupId,this.entity));this.removeFromLayers()},i.hide=function(){if(this._meshInstances)for(var t=0;t=0)null==(e=this.system.app.batcher)||e.remove(Qo.RENDER,this.batchGroupId,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.RENDER,t,this.entity);t<0&&this._batchGroupId>=0&&this.enabled&&this.entity.enabled&&this.addToLayers(),this._batchGroupId=t}}},{key:"material",get:function(){return this._material},set:function(t){if(this._material!==t&&(this._material=t,this._meshInstances&&"asset"!==this._type))for(var e=0;et.length){for(var e=t.length;ethis._pool.length)for(var e=this._pool.length;e=this._pool.length&&this._resize(2*this._pool.length),this._pool[this._count++]},e.freeAll=function(){this._count=0},t}(),Lv=new Vt,Dv=new Vt,Ov=new Et,kv=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._angularDamping=0,n._angularFactor=new Et(1,1,1),n._angularVelocity=new Et,n._body=null,n._friction=.5,n._group=2,n._linearDamping=0,n._linearFactor=new Et(1,1,1),n._linearVelocity=new Et,n._mask=E_,n._mass=1,n._restitution=0,n._rollingFriction=0,n._simulationEnabled=!1,n._type=w_,n}S(e,t),e.onLibraryLoaded=function(){"undefined"!=typeof Ammo&&(Av=new Ammo.btTransform,Cv=new Ammo.btVector3,Ev=new Ammo.btVector3,Mv=new Ammo.btQuaternion)};var i=e.prototype;return i.createBody=function(){var t,e=this.entity;if(e.collision&&(t=e.collision.shape,e.trigger&&(e.trigger.destroy(),delete e.trigger)),t){this._body&&(this.system.removeBody(this._body),this.system.destroyBody(this._body),this._body=null);var i=this._type===T_?this._mass:0;this._getEntityTransform(Av);var n=this.system.createBody(i,t,Av);if(n.setRestitution(this._restitution),n.setFriction(this._friction),n.setRollingFriction(this._rollingFriction),n.setDamping(this._linearDamping,this._angularDamping),this._type===T_){var s=this._linearFactor;Cv.setValue(s.x,s.y,s.z),n.setLinearFactor(Cv);var r=this._angularFactor;Cv.setValue(r.x,r.y,r.z),n.setAngularFactor(Cv)}else this._type===A_&&(n.setCollisionFlags(2|n.getCollisionFlags()),n.setActivationState(4));n.entity=e,this.body=n,this.enabled&&e.enabled&&this.enableSimulation()}},i.isActive=function(){return!!this._body&&this._body.isActive()},i.activate=function(){this._body&&this._body.activate()},i.enableSimulation=function(){var t=this.entity;if(t.collision&&t.collision.enabled&&!this._simulationEnabled){var e=this._body;if(e){switch(this.system.addBody(e,this._group,this._mask),this._type){case T_:this.system._dynamic.push(this),e.forceActivationState(1),this.syncEntityToBody();break;case A_:this.system._kinematic.push(this),e.forceActivationState(4);break;case w_:e.forceActivationState(1),this.syncEntityToBody()}"compound"===t.collision.type&&this.system._compounds.push(t.collision),e.activate(),this._simulationEnabled=!0}}},i.disableSimulation=function(){var t=this._body;if(t&&this._simulationEnabled){var e=this.system,i=e._compounds.indexOf(this.entity.collision);i>-1&&e._compounds.splice(i,1),(i=e._dynamic.indexOf(this))>-1&&e._dynamic.splice(i,1),(i=e._kinematic.indexOf(this))>-1&&e._kinematic.splice(i,1),e.removeBody(t),t.forceActivationState(5),this._simulationEnabled=!1}},i.applyForce=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyForce(Cv,Ev))},i.applyTorque=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorque(Cv))},i.applyImpulse=function(t,e,i,n,s,r){var a=this._body;a&&(a.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),e instanceof Et?Ev.setValue(e.x,e.y,e.z):void 0!==n?Ev.setValue(n,s,r):Ev.setValue(0,0,0),a.applyImpulse(Cv,Ev))},i.applyTorqueImpulse=function(t,e,i){var n=this._body;n&&(n.activate(),t instanceof Et?Cv.setValue(t.x,t.y,t.z):Cv.setValue(t,e,i),n.applyTorqueImpulse(Cv))},i.isStatic=function(){return this._type===w_},i.isStaticOrKinematic=function(){return this._type===w_||this._type===A_},i.isKinematic=function(){return this._type===A_},i._getEntityTransform=function(t){var e=this.entity,i=e.collision;if(i){var n=i.getShapePosition(),s=i.getShapeRotation();Cv.setValue(n.x,n.y,n.z),Mv.setValue(s.x,s.y,s.z,s.w)}else{var r=e.getPosition(),a=e.getRotation();Cv.setValue(r.x,r.y,r.z),Mv.setValue(a.x,a.y,a.z,a.w)}t.setOrigin(Cv),t.setRotation(Mv)},i.syncEntityToBody=function(){var t=this._body;if(t){if(this._getEntityTransform(Av),t.setWorldTransform(Av),this._type===A_){var e=t.getMotionState();e&&e.setWorldTransform(Av)}t.activate()}},i._updateDynamic=function(){var t=this._body;if(t.isActive()){var e=t.getMotionState();if(e){var i=this.entity;e.getWorldTransform(Av);var n=Av.getOrigin(),s=Av.getRotation(),r=i.collision;if(r&&r._hasOffset){var a=r.data.linearOffset,o=r.data.angularOffset,h=Dv.copy(o).invert(),l=Lv.set(s.x(),s.y(),s.z(),s.w()).mul(h);l.transformVector(a,Ov),i.setPosition(n.x()-Ov.x,n.y()-Ov.y,n.z()-Ov.z),i.setRotation(l)}else i.setPosition(n.x(),n.y(),n.z()),i.setRotation(s.x(),s.y(),s.z(),s.w())}}},i._updateKinematic=function(){var t=this._body.getMotionState();t&&(this._getEntityTransform(Av),t.setWorldTransform(Av))},i.teleport=function(t,e,i,n,s,r){t instanceof Et?this.entity.setPosition(t):this.entity.setPosition(t,e,i),e instanceof Vt?this.entity.setRotation(e):e instanceof Et?this.entity.setEulerAngles(e):void 0!==n&&this.entity.setEulerAngles(n,s,r),this.syncEntityToBody()},i.onEnable=function(){this._body||this.createBody(),this.enableSimulation()},i.onDisable=function(){this.disableSimulation()},y(e,[{key:"angularDamping",get:function(){return this._angularDamping},set:function(t){this._angularDamping!==t&&(this._angularDamping=t,this._body&&this._body.setDamping(this._linearDamping,t))}},{key:"angularFactor",get:function(){return this._angularFactor},set:function(t){this._angularFactor.equals(t)||(this._angularFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setAngularFactor(Cv)))}},{key:"angularVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getAngularVelocity();this._angularVelocity.set(t.x(),t.y(),t.z())}return this._angularVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setAngularVelocity(Cv),this._angularVelocity.copy(t))}},{key:"body",get:function(){return this._body},set:function(t){this._body!==t&&(this._body=t,t&&this._simulationEnabled&&t.activate())}},{key:"friction",get:function(){return this._friction},set:function(t){this._friction!==t&&(this._friction=t,this._body&&this._body.setFriction(t))}},{key:"group",get:function(){return this._group},set:function(t){this._group!==t&&(this._group=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"linearDamping",get:function(){return this._linearDamping},set:function(t){this._linearDamping!==t&&(this._linearDamping=t,this._body&&this._body.setDamping(t,this._angularDamping))}},{key:"linearFactor",get:function(){return this._linearFactor},set:function(t){this._linearFactor.equals(t)||(this._linearFactor.copy(t),this._body&&this._type===T_&&(Cv.setValue(t.x,t.y,t.z),this._body.setLinearFactor(Cv)))}},{key:"linearVelocity",get:function(){if(this._body&&this._type===T_){var t=this._body.getLinearVelocity();this._linearVelocity.set(t.x(),t.y(),t.z())}return this._linearVelocity},set:function(t){this._body&&this._type===T_&&(this._body.activate(),Cv.setValue(t.x,t.y,t.z),this._body.setLinearVelocity(Cv),this._linearVelocity.copy(t))}},{key:"mask",get:function(){return this._mask},set:function(t){this._mask!==t&&(this._mask=t,this.enabled&&this.entity.enabled&&(this.disableSimulation(),this.enableSimulation()))}},{key:"mass",get:function(){return this._mass},set:function(t){if(this._mass!==t&&(this._mass=t,this._body&&this._type===T_)){var e=this.enabled&&this.entity.enabled;e&&this.disableSimulation(),this._body.getCollisionShape().calculateLocalInertia(t,Cv),this._body.setMassProps(t,Cv),this._body.updateInertiaTensor(),e&&this.enableSimulation()}}},{key:"restitution",get:function(){return this._restitution},set:function(t){this._restitution!==t&&(this._restitution=t,this._body&&this._body.setRestitution(t))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){this._rollingFriction!==t&&(this._rollingFriction=t,this._body&&this._body.setRollingFriction(t))}},{key:"type",get:function(){return this._type},set:function(t){if(this._type!==t){switch(this._type=t,this.disableSimulation(),t){case T_:this._group=1,this._mask=C_;break;case A_:this._group=4,this._mask=C_;break;default:this._group=2,this._mask=E_}this.createBody()}}}]),e}(Dp),Fv=function(){this.enabled=!0},Bv=function(t,e,i,n){this.entity=t,this.point=e,this.normal=i,this.hitFraction=n},Uv=function(t,e,i){0===arguments.length?(this.a=null,this.b=null,this.impulse=0,this.localPointA=new Et,this.localPointB=new Et,this.pointA=new Et,this.pointB=new Et,this.normal=new Et):(this.a=t,this.b=e,this.impulse=i.impulse,this.localPointA=i.localPoint,this.localPointB=i.localPointOther,this.pointA=i.point,this.pointB=i.pointOther,this.normal=i.normal)},Nv=function(t,e,i,n,s,r){void 0===t&&(t=new Et),void 0===e&&(e=new Et),void 0===i&&(i=new Et),void 0===n&&(n=new Et),void 0===s&&(s=new Et),void 0===r&&(r=0),this.localPoint=t,this.localPointOther=e,this.point=i,this.pointOther=n,this.normal=s,this.impulse=r},zv=function(t,e){this.other=t,this.contacts=e},Vv=["enabled"],Gv=function(t){function e(e){var i;return(i=t.call(this,e)||this).maxSubSteps=10,i.fixedTimeStep=1/60,i.gravity=new Et(0,-9.81,0),i._gravityFloat32=new Float32Array(3),i._dynamic=[],i._kinematic=[],i._triggers=[],i._compounds=[],i.id="rigidbody",i._stats=e.stats.frame,i.ComponentType=kv,i.DataType=Fv,i.contactPointPool=null,i.contactResultPool=null,i.singleContactResultPool=null,i.schema=Vv,i.collisions={},i.frameCollisions={},i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.onLibraryLoaded=function(){if("undefined"!=typeof Ammo){if(this.collisionConfiguration=new Ammo.btDefaultCollisionConfiguration,this.dispatcher=new Ammo.btCollisionDispatcher(this.collisionConfiguration),this.overlappingPairCache=new Ammo.btDbvtBroadphase,this.solver=new Ammo.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new Ammo.btDiscreteDynamicsWorld(this.dispatcher,this.overlappingPairCache,this.solver,this.collisionConfiguration),this.dynamicsWorld.setInternalTickCallback){var t=Ammo.addFunction(this._checkForCollisions.bind(this),"vif");this.dynamicsWorld.setInternalTickCallback(t)}Pv=new Ammo.btVector3,Rv=new Ammo.btVector3,kv.onLibraryLoaded(),this.contactPointPool=new Iv(Nv,1),this.contactResultPool=new Iv(zv,1),this.singleContactResultPool=new Iv(Uv,1),this.app.systems.on("update",this.onUpdate,this)}else this.app.systems.off("update",this.onUpdate,this)},i.initializeComponentData=function(e,i,n){for(var s=0,r=["mass","linearDamping","angularDamping","linearFactor","angularFactor","friction","rollingFriction","restitution","type","group","mask"];s0)if(4&d||4&f){var v=c.collision&&(c.collision.hasEvent("triggerenter")||c.collision.hasEvent("triggerleave")),y=u.collision&&(u.collision.hasEvent("triggerenter")||u.collision.hasEvent("triggerleave")),x=c.rigidbody&&(c.rigidbody.hasEvent("triggerenter")||c.rigidbody.hasEvent("triggerleave")),S=u.rigidbody&&(u.rigidbody.hasEvent("triggerenter")||u.rigidbody.hasEvent("triggerleave"));v&&(!(g=this._storeCollision(c,u))||4&f||c.collision.fire("triggerenter",u)),y&&(!(g=this._storeCollision(u,c))||4&d||u.collision.fire("triggerenter",c)),x&&(g||(g=this._storeCollision(u,c)),g&&c.rigidbody.fire("triggerenter",u)),S&&(g||(g=this._storeCollision(c,u)),g&&u.rigidbody.fire("triggerenter",c))}else{var b=this._hasContactEvent(c),w=this._hasContactEvent(u),T=this.hasEvent("contact");if(T||b||w){for(var A=0;A=0&&n!==t.element.drawOrder)null==(i=this.system.app.batcher)||i.markGroupDirty(t.element._batchGroupId)}t.particlesystem&&(t.particlesystem.drawOrder=e++);for(var s=t.children,r=0;r255&&(t=255),this._priority!==t&&(this._priority=t,this.syncDrawOrder())}}]),e}(Dp),jv=function(){this.enabled=!0},Yv=["enabled"],Kv=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="screen",i.ComponentType=qv,i.DataType=jv,i.schema=Yv,i.windowResolution=new It,i._drawOrderSyncQueue=new at,i.app.graphicsDevice.on("resizecanvas",i._onResize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.on("beforeremove",i.onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){void 0!==i.priority&&(e.priority=i.priority),void 0!==i.screenSpace&&(e.screenSpace=i.screenSpace),e.cull=e.screenSpace,void 0!==i.scaleMode&&(e.scaleMode=i.scaleMode),void 0!==i.scaleBlend&&(e.scaleBlend=i.scaleBlend),void 0!==i.resolution&&(i.resolution instanceof It?e._resolution.copy(i.resolution):e._resolution.set(i.resolution[0],i.resolution[1]),e.resolution=e._resolution),void 0!==i.referenceResolution&&(i.referenceResolution instanceof It?e._referenceResolution.copy(i.referenceResolution):e._referenceResolution.set(i.referenceResolution[0],i.referenceResolution[1]),e.referenceResolution=e._referenceResolution),e.syncDrawOrder(),t.prototype.initializeComponentData.call(this,e,i,n)},i.destroy=function(){t.prototype.destroy.call(this),this.app.graphicsDevice.off("resizecanvas",this._onResize,this),this.app.systems.off("update",this._onUpdate,this)},i._onUpdate=function(t){var e=this.store;for(var i in e)e[i].entity.screen.update&&e[i].entity.screen.update(t)},i._onResize=function(t,e){this.windowResolution.x=t,this.windowResolution.y=e},i.cloneComponent=function(t,e){var i=t.screen;return this.addComponent(e,{enabled:i.enabled,screenSpace:i.screenSpace,scaleMode:i.scaleMode,resolution:i.resolution.clone(),referenceResolution:i.referenceResolution.clone()})},i.onRemoveComponent=function(t,e){e.onRemove()},i.processDrawOrderSyncQueue=function(){for(var t=this._drawOrderSyncQueue.list(),e=0;e=0&&this.instancesWithUpdate.splice(s,1)}if(n.fixedUpdate){var r=this.instancesWithFixedUpdate.indexOf(n);r>=0&&this.instancesWithFixedUpdate.splice(r,1)}if(n.postUpdate){var a=this.instancesWithPostUpdate.indexOf(n);a>=0&&this.instancesWithPostUpdate.splice(a,1)}if(n.toolsUpdate){var o=this.instancesWithToolsUpdate.indexOf(n);o>=0&&this.instancesWithToolsUpdate.splice(o,1)}t.instances[i].instance===t[i]&&delete t[i],delete t.instances[i]}},i._postInitializeScriptComponent=function(t){this._callInstancesMethod(t,ty),t.data.postInitialized=!0},i._updateInstances=function(t,e,i){for(var n=0,s=e.length;nthis.dragThreshold||Math.abs(i)>this.dragThreshold)&&this._disableContentInput()}},i._onSetContentOrViewportSize=function(){this._syncAll()},i._onSetHorizontalScrollbarValue=function(t){!this._scrollbarUpdateFlags[0]&&this.enabled&&this.entity.enabled&&this._onSetScroll(t,null)},i._onSetVerticalScrollbarValue=function(t){!this._scrollbarUpdateFlags[1]&&this.enabled&&this.entity.enabled&&this._onSetScroll(null,t)},i._onSetHorizontalScrollingEnabled=function(){this._syncScrollbarEnabledState(0)},i._onSetVerticalScrollingEnabled=function(){this._syncScrollbarEnabledState(1)},i._onHorizontalScrollbarGain=function(){this._syncScrollbarEnabledState(0),this._syncScrollbarPosition(0)},i._onVerticalScrollbarGain=function(){this._syncScrollbarEnabledState(1),this._syncScrollbarPosition(1)},i._onSetScroll=function(t,e,i){!1!==i&&this._velocity.set(0,0,0);var n=this._updateAxis(t,"x",0),s=this._updateAxis(e,"y",1);(n||s)&&this.fire("set:scroll",this._scroll)},i._updateAxis=function(t,e,i){var n=null!==t&&Math.abs(t-this._scroll[e])>1e-5;return(n||this._isDragging()||0===t)&&(this._scroll[e]=this._determineNewScrollValue(t,e,i),this._syncContentPosition(i),this._syncScrollbarPosition(i)),n},i._determineNewScrollValue=function(t,e,i){if(!this._getScrollingEnabled(i))return this._scroll[e];switch(this.scrollMode){case 0:return _t.clamp(t,0,this._getMaxScrollValue(i));case 1:return this._setVelocityFromOvershoot(t,e,i),t;case 2:return t;default:return console.warn("Unhandled scroll mode:"+this.scrollMode),t}},i._syncAll=function(){this._syncContentPosition(0),this._syncContentPosition(1),this._syncScrollbarPosition(0),this._syncScrollbarPosition(1),this._syncScrollbarEnabledState(0),this._syncScrollbarEnabledState(1)},i._syncContentPosition=function(t){var e=this._getAxis(t),i=this._getSign(t),n=this._contentReference.entity;if(n){var s=this._prevContentSizes[t],r=this._getContentSize(t);if(null!==s&&Math.abs(s-r)>1e-4){var a=this._getMaxOffset(t,s),o=this._getMaxOffset(t,r);this._scroll[e]=0===o?1:_t.clamp(this._scroll[e]*a/o,0,1)}var h=this._scroll[e]*this._getMaxOffset(t),l=n.getLocalPosition();l[e]=h*i,n.setLocalPosition(l),this._prevContentSizes[t]=r}},i._syncScrollbarPosition=function(t){var e=this._getAxis(t),i=this._scrollbarReferences[t].entity;i&&i.scrollbar&&(this._scrollbarUpdateFlags[t]=!0,i.scrollbar.value=this._scroll[e],i.scrollbar.handleSize=this._getScrollbarHandleSize(e,t),this._scrollbarUpdateFlags[t]=!1)},i._syncScrollbarEnabledState=function(t){var e=this._scrollbarReferences[t].entity;if(e){var i=this._getScrollingEnabled(t),n=this._getScrollbarVisibility(t);switch(n){case 0:return void(e.enabled=i);case 1:return void(e.enabled=i&&this._contentIsLargerThanViewport(t));default:console.warn("Unhandled scrollbar visibility:"+n),e.enabled=i}}},i._contentIsLargerThanViewport=function(t){return this._getContentSize(t)>this._getViewportSize(t)},i._contentPositionToScrollValue=function(t){var e=this._getMaxOffset(0),i=this._getMaxOffset(1);return my.x=0===e?0:t.x/e,my.y=0===i?0:t.y/-i,my},i._getMaxOffset=function(t,e){e=void 0===e?this._getContentSize(t):e;var i=this._getViewportSize(t);return e1e-4||Math.abs(this._velocity.y)>1e-4){var t=this._contentReference.entity.getLocalPosition();t.x+=this._velocity.x,t.y+=this._velocity.y,this._contentReference.entity.setLocalPosition(t),this._setScrollFromContentPosition(t)}this._velocity.x*=1-this.friction,this._velocity.y*=1-this.friction}},i._hasOvershoot=function(t,e){return Math.abs(this._toOvershoot(this.scroll[t],e))>.001},i._toOvershoot=function(t,e){var i=this._getMaxScrollValue(e);return t<0?t:t>i?t-i:0},i._setVelocityFromOvershoot=function(t,e,i){var n=this._toOvershoot(t,i)*this._getMaxOffset(i)*this._getSign(i);Math.abs(n)>0&&(this._velocity[e]=-n/(50*this.bounceAmount+1))},i._setVelocityFromContentPositionDelta=function(t){this._prevContentDragPosition?(this._velocity.sub2(t,this._prevContentDragPosition),this._prevContentDragPosition.copy(t)):(this._velocity.set(0,0,0),this._prevContentDragPosition=t.clone())},i._setScrollFromContentPosition=function(t){var e=this._contentPositionToScrollValue(t);this._isDragging()&&(e=this._applyScrollValueTension(e)),this._onSetScroll(e.x,e.y,!1)},i._applyScrollValueTension=function(t){var e=this._getMaxScrollValue(0),i=this._toOvershoot(t.x,0);return i>0?t.x=e+1*Math.log10(1+i):i<0&&(t.x=-1*Math.log10(1-i)),e=this._getMaxScrollValue(1),(i=this._toOvershoot(t.y,1))>0?t.y=e+1*Math.log10(1+i):i<0&&(t.y=-1*Math.log10(1-i)),t},i._isDragging=function(){return this._contentDragHelper&&this._contentDragHelper.isDragging},i._setScrollbarComponentsEnabled=function(t){this._scrollbarReferences[0].hasComponent("scrollbar")&&(this._scrollbarReferences[0].entity.scrollbar.enabled=t),this._scrollbarReferences[1].hasComponent("scrollbar")&&(this._scrollbarReferences[1].entity.scrollbar.enabled=t)},i._setContentDraggingEnabled=function(t){this._contentDragHelper&&(this._contentDragHelper.enabled=t)},i._onMouseWheel=function(t){if(this.useMouseWheel){var e=t.event,i=e.deltaX/this._contentReference.entity.element.calculatedWidth*this.mouseWheelSensitivity.x,n=e.deltaY/this._contentReference.entity.element.calculatedHeight*this.mouseWheelSensitivity.y,s=_t.clamp(this._scroll.x+i,0,this._getMaxScrollValue(0)),r=_t.clamp(this._scroll.y+n,0,this._getMaxScrollValue(1));this.scroll=new It(s,r)}},i._enableContentInput=function(){for(;this._disabledContentInputEntities.length;){var t=this._disabledContentInputEntities.pop();t.element&&(t.element.useInput=!0)}this._disabledContentInput=!1},i._disableContentInput=function(){var t=this,e=function e(i){i.element&&i.element.useInput&&(t._disabledContentInputEntities.push(i),i.element.useInput=!1);for(var n=i.children,s=0,r=n.length;s1e-5&&(this.data.value=_t.clamp(i,0,1),this._updateHandlePositionAndSize(),this.fire("set:value",this.data.value))},i._onSetHandleSize=function(t,e,i){Math.abs(i-e)>1e-5&&(this.data.handleSize=_t.clamp(i,0,1),this._updateHandlePositionAndSize())},i._onSetHandleAlignment=function(){this._updateHandlePositionAndSize()},i._onSetOrientation=function(t,e,i){i!==e&&this._handleReference.hasComponent("element")&&(this._handleReference.entity.element[this._getOppositeDimension()]=0)},i._updateHandlePositionAndSize=function(){var t=this._handleReference.entity,e=t&&t.element;if(t){var i=t.getLocalPosition();i[this._getAxis()]=this._getHandlePosition(),this._handleReference.entity.setLocalPosition(i)}e&&(e[this._getDimension()]=this._getHandleLength())},i._handlePositionToScrollValue=function(t){return t*this._getSign()/this._getUsableTrackLength()},i._scrollValueToHandlePosition=function(t){return t*this._getSign()*this._getUsableTrackLength()},i._getUsableTrackLength=function(){return Math.max(this._getTrackLength()-this._getHandleLength(),.001)},i._getTrackLength=function(){return this.entity.element?0===this.orientation?this.entity.element.calculatedWidth:this.entity.element.calculatedHeight:0},i._getHandleLength=function(){return this._getTrackLength()*this.handleSize},i._getHandlePosition=function(){return this._scrollValueToHandlePosition(this.value)},i._getSign=function(){return 0===this.orientation?1:-1},i._getAxis=function(){return 0===this.orientation?"x":"y"},i._getDimension=function(){return 0===this.orientation?"width":"height"},i._getOppositeDimension=function(){return 0===this.orientation?"height":"width"},i._destroyDragHelper=function(){this._handleDragHelper&&this._handleDragHelper.destroy()},i._setHandleDraggingEnabled=function(t){this._handleDragHelper&&(this._handleDragHelper.enabled=t)},i.onEnable=function(){this._handleReference.onParentComponentEnable(),this._setHandleDraggingEnabled(!0)},i.onDisable=function(){this._setHandleDraggingEnabled(!1)},i.onRemove=function(){this._destroyDragHelper(),this._toggleLifecycleListeners("off")},e}(Dp),Sy=function(){this.enabled=!0},by=[{name:"enabled",type:"boolean"},{name:"orientation",type:"number"},{name:"value",type:"number"},{name:"handleSize",type:"number"},{name:"handleEntity",type:"entity"}],wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="scrollbar",i.ComponentType=xy,i.DataType=Sy,i.schema=by,i.on("beforeremove",i._onRemoveComponent,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){t.prototype.initializeComponentData.call(this,e,i,by)},i._onRemoveComponent=function(t,e){e.onRemove()},e}(Op);Dp._buildAccessors(xy.prototype,by);var Ty={volume:0,pitch:0,loop:!1,startTime:0,duration:0,position:new Et,maxDistance:0,refDistance:0,rollOffFactor:0,distanceModel:0,onPlay:null,onPause:null,onResume:null,onStop:null,onEnd:null},Ay=function(t){function e(e,i,n){var s;return void 0===i&&(i="Untitled"),void 0===n&&(n={}),(s=t.call(this)||this).name=void 0,s.instances=[],s._component=e,s._assets=e.system.app.assets,s._manager=e.system.manager,s.name=i,s._volume=void 0!==n.volume?_t.clamp(Number(n.volume)||0,0,1):1,s._pitch=void 0!==n.pitch?Math.max(.01,Number(n.pitch)||0):1,s._loop=!(void 0===n.loop||!n.loop),s._duration=n.duration>0?n.duration:null,s._startTime=Math.max(0,Number(n.startTime)||0),s._overlap=!!n.overlap,s._autoPlay=!!n.autoPlay,s._firstNode=null,s._lastNode=null,s._asset=n.asset,s._asset instanceof $f&&(s._asset=s._asset.id),s._onInstancePlayHandler=s._onInstancePlay.bind(w(s)),s._onInstancePauseHandler=s._onInstancePause.bind(w(s)),s._onInstanceResumeHandler=s._onInstanceResume.bind(w(s)),s._onInstanceStopHandler=s._onInstanceStop.bind(w(s)),s._onInstanceEndHandler=s._onInstanceEnd.bind(w(s)),s}S(e,t);var i=e.prototype;return i.play=function(){if(this.overlap||this.stop(),this.isLoaded||this._hasAsset()){var t=this._createInstance();if(this.instances.push(t),this.isLoaded)t.play();else{var e=function(e){var i=t._playWhenLoaded;t.sound=e,i&&t.play()};this.off("load",e),this.once("load",e),this.load()}return t}},i.pause=function(){for(var t=!1,e=this.instances,i=0,n=e.length;i=0;r--){var a=s[r].isPlaying||s[r].isSuspended,o=s[r].currentTime;a&&s[r].stop();var h=n._createInstance();a&&(h.play(),h.currentTime=o),s.push(h)}}}},{key:"slots",get:function(){return this._slots},set:function(t){var e=this._slots;if(e)for(var i in e)e[i].stop();var n={};for(var s in t)t[s]instanceof Ay?n[t[s].name]=t[s]:t[s].name&&(n[t[s].name]=new Ay(this,t[s].name,t[s]));this._slots=n,this.enabled&&this.entity.enabled&&this.onEnable()}}]),e}(Dp),Ey=function(){this.enabled=!0},My=["enabled"],Py=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sound",i.ComponentType=Cy,i.DataType=Ey,i.schema=My,i.manager=e.soundManager,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["volume","pitch","positional","refDistance","maxDistance","rollOffFactor","distanceModel","slots"];for(var s=0;sn||i<0;this._setTime(i);var r=this.frame;(r=this._sprite?Math.floor(this._sprite.frameKeys.length*this._time/n):0)!==this._frame&&this._setFrame(r),s&&(this.loop?(this.fire("loop"),this._component.fire("loop",this)):(this._playing=!1,this._paused=!1,this.fire("end"),this._component.fire("end",this)))}},i._setTime=function(t){this._time=t;var e=this.duration;this._time<0?this.loop?this._time=this._time%e+e:this._time=0:this._time>e&&(this.loop?this._time%=e:this._time=e)},i._setFrame=function(t){this._sprite?this._frame=_t.clamp(t,0,this._sprite.frameKeys.length-1):this._frame=t,this._component.currentClip===this&&this._component._showFrame(this._frame)},i._destroy=function(){if(this._spriteAsset){var t=this._component.system.app.assets;this._unbindSpriteAsset(t.get(this._spriteAsset))}this._sprite&&(this.sprite=null),this._spriteAsset&&(this.spriteAsset=null)},i.play=function(){this._playing||(this._playing=!0,this._paused=!1,this.frame=0,this.fire("play"),this._component.fire("play",this))},i.pause=function(){this._playing&&!this._paused&&(this._paused=!0,this.fire("pause"),this._component.fire("pause",this))},i.resume=function(){this._paused&&(this._paused=!1,this.fire("resume"),this._component.fire("resume",this))},i.stop=function(){this._playing&&(this._playing=!1,this._paused=!1,this._time=0,this.frame=0,this.fire("stop"),this._component.fire("stop",this))},y(e,[{key:"duration",get:function(){if(this._sprite){var t=this.fps||Number.MIN_VALUE;return this._sprite.frameKeys.length/Math.abs(t)}return 0}},{key:"frame",get:function(){return this._frame},set:function(t){this._setFrame(t);var e=this.fps||Number.MIN_VALUE;this._setTime(this._frame/e)}},{key:"isPaused",get:function(){return this._paused}},{key:"isPlaying",get:function(){return this._playing}},{key:"sprite",get:function(){return this._sprite},set:function(t){var e;(this._sprite&&(this._sprite.off("set:meshes",this._onSpriteMeshesChange,this),this._sprite.off("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.off("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.off("set:texture",this._onSpriteMeshesChange,this)),this._sprite=t,this._sprite&&(this._sprite.on("set:meshes",this._onSpriteMeshesChange,this),this._sprite.on("set:pixelsPerUnit",this._onSpritePpuChanged,this),this._sprite.on("set:atlas",this._onSpriteMeshesChange,this),this._sprite.atlas&&this._sprite.atlas.on("set:texture",this._onSpriteMeshesChange,this)),this._component.currentClip===this)&&(t&&t.atlas?(t.atlas.texture&&((e=this._component._meshInstance)&&(e.setParameter("texture_emissiveMap",t.atlas.texture),e.setParameter("texture_opacityMap",t.atlas.texture)),this._component.enabled&&this._component.entity.enabled&&this._component._showModel()),this.time&&this.fps?this.time=this.time:this.frame=this.frame):((e=this._component._meshInstance)&&(e.deleteParameter("texture_emissiveMap"),e.deleteParameter("texture_opacityMap")),this._component._hideModel()))}},{key:"spriteAsset",get:function(){return this._spriteAsset},set:function(t){var e=this._component.system.app.assets,i=t;if(t instanceof $f&&(i=t.id),this._spriteAsset!==i){if(this._spriteAsset){var n=e.get(this._spriteAsset);n&&this._unbindSpriteAsset(n)}if(this._spriteAsset=i,this._spriteAsset){var s=e.get(this._spriteAsset);s?this._bindSpriteAsset(s):(this.sprite=null,e.on("add:"+this._spriteAsset,this._onSpriteAssetAdded,this))}else this.sprite=null}}},{key:"time",get:function(){return this._time},set:function(t){this._setTime(t),this._sprite?this.frame=Math.min(this._sprite.frameKeys.length-1,Math.floor(this._time*Math.abs(this.fps))):this.frame=0}}]),e}(P),Dy="texture_emissiveMap",Oy="texture_opacityMap",ky="material_emissive",Fy="material_opacity",By=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._type=Ry,n._material=e.defaultMaterial,n._color=new gt(1,1,1,1),n._colorUniform=new Float32Array(3),n._speed=1,n._flipX=!1,n._flipY=!1,n._width=1,n._height=1,n._drawOrder=0,n._layers=[0],n._outerScale=new It(1,1),n._outerScaleUniform=new Float32Array(2),n._innerOffset=new Dt,n._innerOffsetUniform=new Float32Array(4),n._atlasRect=new Dt,n._atlasRectUniform=new Float32Array(4),n._batchGroupId=-1,n._batchGroup=null,n._node=new _h,n._model=new $u,n._model.graph=n._node,n._meshInstance=null,i.addChild(n._model.graph),n._model._entity=i,n._updateAabbFunc=n._updateAabb.bind(w(n)),n._addedModel=!1,n._autoPlayClip=null,n._clips={},n._defaultClip=new Ly(w(n),{name:n.entity.name,fps:0,loop:!1,spriteAsset:null}),n._currentClip=n._defaultClip,n}S(e,t);var i=e.prototype;return i.onEnable=function(){var t,e=this.system.app,i=e.scene;(i.on("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.on("add",this._onLayerAdded,this),i.layers.on("remove",this._onLayerRemoved,this)),this._showModel(),this._autoPlayClip&&this._tryAutoPlay(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.insert(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDisable=function(){var t,e=this.system.app,i=e.scene;(i.off("set:layers",this._onLayersChanged,this),i.layers&&(i.layers.off("add",this._onLayerAdded,this),i.layers.off("remove",this._onLayerRemoved,this)),this.stop(),this._hideModel(),this._batchGroupId>=0)&&(null==(t=e.batcher)||t.remove(Qo.SPRITE,this._batchGroupId,this.entity))},i.onDestroy=function(){var t;for(var e in this._currentClip=null,this._defaultClip&&(this._defaultClip._destroy(),this._defaultClip=null),this._clips)this._clips[e]._destroy();this._clips=null,this._hideModel(),this._model=null,null==(t=this._node)||t.remove(),this._node=null,this._meshInstance&&(this._meshInstance.material=null,this._meshInstance.mesh=null,this._meshInstance=null)},i._showModel=function(){if(!this._addedModel&&this._meshInstance){for(var t=[this._meshInstance],e=0,i=this._layers.length;e=0)null==(e=this.system.app.batcher)||e.remove(Qo.SPRITE,n,this.entity);if(this.entity.enabled&&t>=0)null==(i=this.system.app.batcher)||i.insert(Qo.SPRITE,t,this.entity);else n>=0&&this._currentClip&&this._currentClip.sprite&&this.enabled&&this.entity.enabled&&this._showModel()}}},{key:"autoPlayClip",get:function(){return this._autoPlayClip},set:function(t){this._autoPlayClip=t instanceof Ly?t.name:t,this._tryAutoPlay()}},{key:"drawOrder",get:function(){return this._drawOrder},set:function(t){this._drawOrder=t,this._meshInstance&&(this._meshInstance.drawOrder=t)}},{key:"layers",get:function(){return this._layers},set:function(t){this._addedModel&&this._hideModel(),this._layers=t,this._meshInstance&&this.enabled&&this.entity.enabled&&this._showModel()}},{key:"aabb",get:function(){return this._meshInstance?this._meshInstance.aabb:null}}]),e}(Dp),Uy=function(){this.enabled=!0},Ny=["enabled"],zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="sprite",i.ComponentType=By,i.DataType=Uy,i.schema=Ny,i._defaultTexture=null,i._defaultMaterial=null,i._default9SlicedMaterialSlicedMode=null,i._default9SlicedMaterialTiledMode=null,i.app.systems.on("update",i.onUpdate,w(i)),i.on("beforeremove",i.onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this),this._defaultTexture&&(this._defaultTexture.destroy(),this._defaultTexture=null)},i.initializeComponentData=function(e,i,n){if(void 0!==i.enabled&&(e.enabled=i.enabled),e.type=i.type,i.layers&&Array.isArray(i.layers)&&(e.layers=i.layers.slice(0)),void 0!==i.drawOrder&&(e.drawOrder=i.drawOrder),void 0!==i.color){var s,r;if(i.color instanceof gt)e.color.set(i.color.r,i.color.g,i.color.b,null!=(s=i.opacity)?s:1);else e.color.set(i.color[0],i.color[1],i.color[2],null!=(r=i.opacity)?r:1);e.color=e.color}if(void 0!==i.opacity&&(e.opacity=i.opacity),void 0!==i.flipX&&(e.flipX=i.flipX),void 0!==i.flipY&&(e.flipY=i.flipY),void 0!==i.width&&(e.width=i.width),void 0!==i.height&&(e.height=i.height),void 0!==i.spriteAsset&&(e.spriteAsset=i.spriteAsset),i.sprite&&(e.sprite=i.sprite),void 0!==i.frame&&(e.frame=i.frame),i.clips)for(var a in i.clips)e.addClip(i.clips[a]);void 0!==i.speed&&(e.speed=i.speed),i.autoPlayClip&&(e.autoPlayClip=i.autoPlayClip),e.batchGroupId=void 0===i.batchGroupId||null===i.batchGroupId?-1:i.batchGroupId,t.prototype.initializeComponentData.call(this,e,i,n)},i.cloneComponent=function(t,e){var i=t.sprite;return this.addComponent(e,{enabled:i.enabled,type:i.type,spriteAsset:i.spriteAsset,sprite:i.sprite,width:i.width,height:i.height,frame:i.frame,color:i.color.clone(),opacity:i.opacity,flipX:i.flipX,flipY:i.flipY,speed:i.speed,clips:i.clips,autoPlayClip:i.autoPlayClip,batchGroupId:i.batchGroupId,drawOrder:i.drawOrder,layers:i.layers.slice(0)})},i.onUpdate=function(t){var e=this.store;for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];if(n.data.enabled&&n.entity.enabled){var s=n.entity.sprite;s._currentClip&&s._currentClip._update(t)}}},i.onBeforeRemove=function(t,e){e.onDestroy()},y(e,[{key:"defaultMaterial",get:function(){if(!this._defaultMaterial){var t=new Us(this.app.graphicsDevice,{width:1,height:1,format:7,name:"sprite"}),e=new Uint8Array(t.lock());e[0]=e[1]=e[2]=e[3]=255,t.unlock();var i=new vu;i.diffuse.set(0,0,0),i.emissive.set(.5,.5,.5),i.emissiveMap=t,i.emissiveTint=!0,i.opacityMap=t,i.opacityMapChannel="a",i.opacityTint=!0,i.opacity=0,i.useLighting=!1,i.useGammaTonemap=!1,i.useFog=!1,i.useSkybox=!1,i.blendType=4,i.depthWrite=!1,i.pixelSnap=!1,i.cull=he,i.update(),this._defaultTexture=t,this._defaultMaterial=i}return this._defaultMaterial},set:function(t){this._defaultMaterial=t}},{key:"default9SlicedMaterialSlicedMode",get:function(){if(!this._default9SlicedMaterialSlicedMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=1,t.update(),this._default9SlicedMaterialSlicedMode=t}return this._default9SlicedMaterialSlicedMode},set:function(t){this._default9SlicedMaterialSlicedMode=t}},{key:"default9SlicedMaterialTiledMode",get:function(){if(!this._default9SlicedMaterialTiledMode){var t=this.defaultMaterial.clone();t.nineSlicedMode=2,t.update(),this._default9SlicedMaterialTiledMode=t}return this._default9SlicedMaterialTiledMode},set:function(t){this._default9SlicedMaterialTiledMode=t}}]),e}(Op);Dp._buildAccessors(By.prototype,Ny);var Vy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._oldState=!0,n._size=new Et,n.on("set_enabled",n._onSetEnabled,w(n)),n}S(e,t);var i=e.prototype;return i.onEnable=function(){this._checkState()},i.onDisable=function(){this._checkState()},i._onSetEnabled=function(t,e,i){this._checkState()},i._checkState=function(){var t=this.enabled&&this.entity.enabled;t!==this._oldState&&(this._oldState=t,this.fire("enable"),this.fire("state",this.enabled))},i._onBeforeRemove=function(){this.fire("remove")},y(e,[{key:"size",get:function(){return this._size},set:function(t){t instanceof Et?this._size.copy(t):t instanceof Array&&t.length>=3&&this.size.set(t[0],t[1],t[2])}}]),e}(Dp),Gy=function(){this.enabled=!0},Hy=["enabled"],Wy=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="zone",i.ComponentType=Vy,i.DataType=Gy,i.schema=Hy,i.on("beforeremove",i._onBeforeRemove,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e,i){t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,e.size&&(e.size instanceof Et?t.size.copy(e.size):e.size instanceof Array&&e.size.length>=3&&t.size.set(e.size[0],e.size[1],e.size[2]))},i.cloneComponent=function(t,e){var i={size:t.zone.size};return this.addComponent(e,i)},i._onBeforeRemove=function(t,e){e._onBeforeRemove()},e}(Op);Dp._buildAccessors(Vy.prototype,Hy);var Xy=function(t,e){this.effect=t,this.inputTarget=e,this.outputTarget=null,this.name=t.constructor.name},qy=function(){function t(t,e){this.app=t,this.camera=e,this.destinationRenderTarget=null,this.effects=[],this.enabled=!1,this.depthTarget=null,e.on("set:rect",this.onCameraRectChanged,this)}var e=t.prototype;return e._allocateColorBuffer=function(t,e){var i,n,s=this.camera.rect,r=this.destinationRenderTarget,a=this.app.graphicsDevice,o=Math.floor(s.z*(null!=(i=null==r?void 0:r.width)?i:a.width)),h=Math.floor(s.w*(null!=(n=null==r?void 0:r.height)?n:a.height));return new Us(a,{name:e,format:t,width:o,height:h,mipmaps:!1,minFilter:0,magFilter:0,addressU:1,addressV:1})},e._createOffscreenTarget=function(t,e){var i=this.app.graphicsDevice,n=e&&i.getRenderableHdrFormat([ue,fe],!0)||7,s=this.camera.entity.name+"-posteffect-"+this.effects.length,r=this._allocateColorBuffer(n,s);return new ln({colorBuffer:r,depth:t,stencil:t&&this.app.graphicsDevice.supportsStencil,samples:t?i.samples:1})},e._resizeOffscreenTarget=function(t){var e=t.colorBuffer.format,i=t.colorBuffer.name;t.destroyFrameBuffers(),t.destroyTextureBuffers(),t._colorBuffer=this._allocateColorBuffer(e,i),t._colorBuffers=[t._colorBuffer]},e._destroyOffscreenTarget=function(t){t.destroyTextureBuffers(),t.destroy()},e.addEffect=function(t){var e=this.effects,i=0===e.length,n=this._createOffscreenTarget(i,t.hdr),s=new Xy(t,n);e.push(s),this._sourceTarget=s.inputTarget,e.length>1&&(e[e.length-2].outputTarget=s.inputTarget),this._newPostEffect=t,t.needsDepthBuffer&&this._requestDepthMap(),this.enable(),this._newPostEffect=void 0},e.removeEffect=function(t){for(var e=-1,i=0,n=this.effects.length;i=0&&(e>0?this.effects[e-1].outputTarget=e+11&&(this.effects[1].inputTarget._depth||(this._destroyOffscreenTarget(this.effects[1].inputTarget),this.effects[1].inputTarget=this._createOffscreenTarget(!0,this.effects[1].hdr),this._sourceTarget=this.effects[1].inputTarget),this.camera.renderTarget=this.effects[1].inputTarget),this._destroyOffscreenTarget(this.effects[e].inputTarget),this.effects.splice(e,1)),this.enabled&&t.needsDepthBuffer&&this._releaseDepthMap(),0===this.effects.length&&this.disable()},e._requestDepthMaps=function(){for(var t=0,e=this.effects.length;t0},set:function(t){t&&!this._sceneColorMapRequested?(this.requestSceneColorMap(!0),this._sceneColorMapRequested=!0):this._sceneColorMapRequested&&(this.requestSceneColorMap(!1),this._sceneColorMapRequested=!1)}},{key:"renderSceneDepthMap",get:function(){return this._renderSceneDepthMap>0},set:function(t){t&&!this._sceneDepthMapRequested?(this.requestSceneDepthMap(!0),this._sceneDepthMapRequested=!0):this._sceneDepthMapRequested&&(this.requestSceneDepthMap(!1),this._sceneDepthMapRequested=!1)}},{key:"renderTarget",get:function(){return this._camera.renderTarget},set:function(t){this._camera.renderTarget=t,this.dirtyLayerCompositionCameras()}},{key:"scissorRect",get:function(){return this._camera.scissorRect},set:function(t){this._camera.scissorRect=t}},{key:"sensitivity",get:function(){return this._camera.sensitivity},set:function(t){this._camera.sensitivity=t}},{key:"shutter",get:function(){return this._camera.shutter},set:function(t){this._camera.shutter=t}},{key:"viewMatrix",get:function(){return this._camera.viewMatrix}}]),e}(Dp),Yy=function(){this.enabled=!0},Ky=["enabled"],Zy=function(t){function e(e){var i;return(i=t.call(this,e)||this).cameras=[],i.id="camera",i.ComponentType=jy,i.DataType=Yy,i.schema=Ky,i.on("beforeremove",i.onBeforeRemove,w(i)),i.app.on("prerender",i.onAppPrerender,w(i)),i.app.systems.on("update",i.onUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(e,i,n){n=["aspectRatio","aspectRatioMode","calculateProjection","calculateTransform","clearColor","clearColorBuffer","clearDepthBuffer","clearStencilBuffer","renderSceneColorMap","renderSceneDepthMap","cullFaces","farClip","flipFaces","fov","frustumCulling","horizontalFov","layers","renderTarget","nearClip","orthoHeight","projection","priority","rect","scissorRect","aperture","shutter","sensitivity"];for(var s=0;s=0&&(this.cameras.splice(e,1),Nu(this.cameras))},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("update",this.onUpdate,this)},e}(Op);Dp._buildAccessors(jy.prototype,Ky);var Qy=[],$y=[],Jy=function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this)._cookieAsset=null,n._cookieAssetId=null,n._cookieAssetAdd=!1,n._cookieMatrix=null,n}S(e,t);var i=e.prototype;return i.addLightToLayers=function(){for(var t=0;t=0&&this.enabled&&this.entity.enabled&&(t.addLight(this),this.light.addLayer(t))},i.onLayerRemoved=function(t){this.layers.indexOf(t.id)>=0&&(t.removeLight(this),this.light.removeLayer(t))},i.refreshProperties=function(){for(var t=0;t=3&&i.length<=4){for(var u=0;ue.ind&&(o=e.ind),this._insertScriptInstance(r,o,a),this._scriptsIndex[s]={instance:r,onSwap:function(){i.swap(s)}},this[s]=r,e.preloading||r.__initializeAttributes(),this.fire("create",s,r),this.fire("create:"+s,r),this.system.app.scripts.on("swap:"+s,this._scriptsIndex[s].onSwap),e.preloading||(r.enabled&&!r._initialized&&(r._initialized=!0,r.initialize&&this._scriptMethod(r,ox)),r.enabled&&!r._postInitialized&&(r._postInitialized=!0,r.postInitialize&&this._scriptMethod(r,hx))),r}}else this._scriptsIndex[s]={awaiting:!0,ind:this._scripts.length};return null},i.destroy=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(delete this._scriptsIndex[e],!n)return!1;var s=n.instance;if(s&&!s._destroyed)if(s.enabled=!1,s._destroyed=!0,this._isLoopingThroughScripts)this._destroyedScripts.push(s);else{var r=this._removeScriptInstance(s);r>=0&&this._resetExecutionOrder(r,this._scripts.length)}return this.system.app.scripts.off("swap:"+e,n.onSwap),delete this[e],this.fire("destroy",e,s||null),this.fire("destroy:"+e,s||null),s&&s.fire("destroy"),!0},i.swap=function(t){var e=t,i=t;"string"==typeof i?i=this.system.app.scripts.get(i):i&&(e=i.__name);var n=this._scriptsIndex[e];if(!n||!n.instance)return!1;var s=n.instance,r=this._scripts.indexOf(s),a=new i({app:this.system.app,entity:this.entity,enabled:s.enabled,attributes:s.__attributes});return!!a.swap&&(a.__initializeAttributes(),this._scripts[r]=a,this._scriptsIndex[e].instance=a,this[e]=a,a.__executionOrder=r,s.update&&this._updateList.remove(s),s.postUpdate&&this._postUpdateList.remove(s),a.update&&this._updateList.insert(a),a.postUpdate&&this._postUpdateList.insert(a),this._scriptMethod(a,"swap",s),this.fire("swap",e,a),this.fire("swap:"+e,a),!0)},i.resolveDuplicatedEntityReferenceProperties=function(t,e){var i=this.entity.script;for(var n in t._scriptsIndex){var s=this.system.app.scripts.get(n);if(s){var r=t._scriptsIndex[n];if(r&&r.instance){var a=i[n].__attributesRaw,o=i[n].__attributes;if(a||o){var h=!!a,l=r.instance.__attributes;for(var c in l)if(l[c]){var u=s.attributes.get(c);if(u)if("entity"===u.type)this._resolveEntityScriptAttribute(u,c,l[c],h,a||o,e);else if("json"===u.type&&Array.isArray(u.schema))for(var d=l[c],f=a?a[c]:o[c],p=0;p=i||e<0)return!1;var n=t,s=t;"string"!=typeof s?s=t.__name:n=null;var r=this._scriptsIndex[s];if(!r||!r.instance)return!1;var a=r.instance;if(n&&!(a instanceof n))return!1;var o=this._scripts.indexOf(a);return-1!==o&&o!==e&&(this._scripts.splice(e,0,this._scripts.splice(o,1)[0]),this._resetExecutionOrder(0,i),this._updateList.sort(),this._postUpdateList.sort(),this.fire("move",s,a,e,o),this.fire("move:"+s,a,e,o),!0)},y(e,[{key:"scripts",get:function(){return this._scripts},set:function(t){for(var e in this._scriptsData=t,t)if(t.hasOwnProperty(e)){var i=this._scriptsIndex[e];if(i){if("boolean"==typeof t[e].enabled&&(i.enabled=!!t[e].enabled),"object"==typeof t[e].attributes)for(var n in t[e].attributes)if(!ax.reservedNames.has(n)){if(!i.__attributes.hasOwnProperty(n)){var s=this.system.app.scripts.get(e);s&&s.attributes.add(n,{})}i[n]=t[e].attributes[n]}}else console.log(this.order)}}},{key:"enabled",get:function(){return this._enabled},set:function(t){var e=this._enabled;this._enabled=t,this.fire("set","enabled",e,t)}}]),e}(Dp),cx=function(){this.enabled=!0},ux=0,dx=function(t){function e(e){var i;return(i=t.call(this,e)||this).id="script",i.ComponentType=lx,i.DataType=cx,i._components=new ct({sortBy:"_executionOrder"}),i._enabledComponents=new ct({sortBy:"_executionOrder"}),i.preloading=!0,i.on("beforeremove",i._onBeforeRemove,w(i)),i.app.systems.on("initialize",i._onInitialize,w(i)),i.app.systems.on("postInitialize",i._onPostInitialize,w(i)),i.app.systems.on("update",i._onUpdate,w(i)),i.app.systems.on("postUpdate",i._onPostUpdate,w(i)),i}S(e,t);var i=e.prototype;return i.initializeComponentData=function(t,e){if(t._executionOrder=ux++,this._components.append(t),ux>Number.MAX_SAFE_INTEGER&&this._resetExecutionOrder(),t.enabled=!e.hasOwnProperty("enabled")||!!e.enabled,t.enabled&&t.entity.enabled&&this._enabledComponents.append(t),e.hasOwnProperty("order")&&e.hasOwnProperty("scripts")){t._scriptsData=e.scripts;for(var i=0;i=0&&e._onBeforeRemove(),this._removeComponentFromEnabled(e),this._components.remove(e)},i.destroy=function(){t.prototype.destroy.call(this),this.app.systems.off("initialize",this._onInitialize,this),this.app.systems.off("postInitialize",this._onPostInitialize,this),this.app.systems.off("update",this._onUpdate,this),this.app.systems.off("postUpdate",this._onPostUpdate,this)},e}(Op),fx=function(t){function e(){var e;return(e=t.call(this)||this)._meshes=null,e}S(e,t);var i=e.prototype;return i.destroy=function(){this.meshes=null},i.decRefMeshes=function(){if(this._meshes)for(var t=this._meshes.length,e=0;e0){var r=e.jobQueue.shift();e.run(t,r)}else{var a=e.workers[2].indexOf(t);if(-1!==a)e.workers[2].splice(a,1),e.workers[1].push(t);else{var o=e.workers[1].indexOf(t);-1!==o&&(e.workers[1].splice(o,1),e.workers[0].push(t))}}}))})),this.workers[0]=t;this.jobQueue.length&&(this.workers[0].length||this.workers[1].length);){var i=this.jobQueue.shift();if(this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else{var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}}},e.enqueueJob=function(t,e){var i={jobId:this.jobId++,buffer:t};if(this.jobCallbacks.set(i.jobId,e),this.workers[0].length>0){var n=this.workers[0].shift();this.workers[1].push(n),this.run(n,i)}else if(this.workers[1].length>0){var s=this.workers[1].shift();this.workers[2].push(s),this.run(s,i)}else this.jobQueue.push(i)},t}(),Cx=function(t){var e=function(){return fetch(t).then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)}))};return WebAssembly.compileStreaming?WebAssembly.compileStreaming(fetch(t)).catch((function(t){return e()})):e()},Ex=function(t){if(Sx)return!0;if(!t)if(bx)t=bx;else{var e=ht.getConfig("DracoDecoderModule");t=e?{jsUrl:e.glueUrl,wasmUrl:e.wasmUrl,numWorkers:e.numWorkers}:{jsUrl:"draco.wasm.js",wasmUrl:"draco.wasm.wasm",numWorkers:1}}return!(!t.jsUrl||!t.wasmUrl)&&(Sx=new Ax,Promise.all([(i=t.jsUrl,new Promise((function(t,e){var n={cache:!0,responseType:"text",retry:!0,maxRetries:3};Ca.get(i,n,(function(i,n){i?e(i):t(n)}))}))),Cx(t.wasmUrl)]).then((function(e){for(var i=e[0],n=e[1],s=["/* draco */",i,"/* worker */","(\n"+xx.toString()+"\n)()\n\n"].join("\n"),r=new Blob([s],{type:"application/javascript"}),a=URL.createObjectURL(r),o=Math.max(1,Math.min(16,t.numWorkers||1)),h=[],l=0;l0&&o(n,Float32Array,1),s.length>0&&o(s,Uint16Array,65535),r.length>0&&o(r,Uint8Array,255)}(y),y.unlock(),y},Hx=function(t,e,i,n,s,r,a){var o,h=new no(t);h.aabb=Ux(i[e.attributes.POSITION]);for(var l=[],c=0,u=Object.entries(e.attributes);c0?i.name=t.name:i.name="node_"+e,t.hasOwnProperty("matrix")&&(nS.data.set(t.matrix),nS.getTranslation(sS),i.setLocalPosition(sS),nS.getEulerAngles(sS),i.setLocalEulerAngles(sS),nS.getScale(sS),i.setLocalScale(sS)),t.hasOwnProperty("rotation")){var n=t.rotation;i.setLocalRotation(n[0],n[1],n[2],n[3])}if(t.hasOwnProperty("translation")){var s=t.translation;i.setLocalPosition(s[0],s[1],s[2])}if(t.hasOwnProperty("scale")){var r=t.scale;i.setLocalScale(r[0],r[1],r[2])}return i},aS=function(t,e){var i="orthographic"===t.type?1:0,n=1===i?t.orthographic:t.perspective,s={enabled:!1,projection:i,nearClip:n.znear,aspectRatioMode:0};n.zfar&&(s.farClip=n.zfar),1===i?(s.orthoHeight=.5*n.ymag,n.ymag&&(s.aspectRatioMode=1,s.aspectRatio=n.xmag/n.ymag)):(s.fov=n.yfov*_t.RAD_TO_DEG,n.aspectRatio&&(s.aspectRatioMode=1,s.aspectRatio=n.aspectRatio));var r=new fp(t.name);return r.addComponent("camera",s),r},oS=function(t,e){var i={enabled:!1,type:"point"===t.type?"omni":t.type,color:t.hasOwnProperty("color")?new gt(t.color):gt.WHITE,range:t.hasOwnProperty("range")?t.range:9999,falloffMode:1,intensity:t.hasOwnProperty("intensity")?_t.clamp(t.intensity,0,2):1};t.hasOwnProperty("spot")&&(i.innerConeAngle=t.spot.hasOwnProperty("innerConeAngle")?t.spot.innerConeAngle*_t.RAD_TO_DEG:0,i.outerConeAngle=t.spot.hasOwnProperty("outerConeAngle")?t.spot.outerConeAngle*_t.RAD_TO_DEG:Math.PI/4),t.hasOwnProperty("intensity")&&(i.luminance=t.intensity*Yu.getLightUnitConversion(Wu[i.type],i.outerConeAngle,i.innerConeAngle));var n=new fp(e.name);return n.rotateLocal(90,0,0),n.addComponent("light",i),n},hS=function(t,e,i,n){if(!e.hasOwnProperty("skins")||0===e.skins.length)return[];var s=new Map;return e.skins.map((function(r){return function(t,e,i,n,s,r){var a,o,h,l=e.joints,c=l.length,u=[];if(e.hasOwnProperty("inverseBindMatrices")){var d=e.inverseBindMatrices,f=Fx(i[d],n,!0),p=[];for(a=0;a0&&"localRotation"===D.paths[0].propertyPath[0]&&2!==D.interpolation&&g.push(P[P.length-1].output))}g.sort();var O,k=null;for(o=0;o0){var s,r,a,o,h=null==i||null==(s=i.camera)?void 0:s.preprocess,l=null!=(r=null==i||null==(a=i.camera)?void 0:a.process)?r:aS,c=null==i||null==(o=i.camera)?void 0:o.postprocess;t.nodes.forEach((function(i,s){if(i.hasOwnProperty("camera")){var r=t.cameras[i.camera];if(r){h&&h(r);var a=l(r,e[s]);c&&c(r,a),a&&(n||(n=new Map),n.set(i,a))}}}))}return n},_S=function(t,e,i){var n=null;if(t.hasOwnProperty("nodes")&&t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("lights")){var s=t.extensions.KHR_lights_punctual.lights;if(s.length){var r,a,o,h,l=null==i||null==(r=i.light)?void 0:r.preprocess,c=null!=(a=null==i||null==(o=i.light)?void 0:o.process)?a:oS,u=null==i||null==(h=i.light)?void 0:h.postprocess;t.nodes.forEach((function(t,i){if(t.hasOwnProperty("extensions")&&t.extensions.hasOwnProperty("KHR_lights_punctual")&&t.extensions.KHR_lights_punctual.hasOwnProperty("light")){var r=t.extensions.KHR_lights_punctual.light,a=s[r];if(a){l&&l(a);var o=c(a,e[i]);u&&u(a,o),o&&(n||(n=new Map),n.set(t,o))}}}))}}return n},gS=function(t,e,i){t.nodes.forEach((function(t){t.hasOwnProperty("mesh")&&t.hasOwnProperty("skin")&&e[t.mesh].meshes.forEach((function(e){e.skin=i[t.skin]}))}))},vS=(Tx=g(m().mark((function t(e,i,n,s,r){var a,o,h,l,c,u,d,f,p,_,g,v,y,x,S,b,w,T,A,C,E,M,P,R;return m().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return h=null==r||null==(a=r.global)?void 0:a.preprocess,l=null==r||null==(o=r.global)?void 0:o.postprocess,h&&h(i),c=i.asset&&"PlayCanvas"===i.asset.generator,u=fS(i,r),d=pS(i,u),f=_S(i,u,r),p=mS(i,u,r),_=uS(i),t.next=12,Promise.all(n);case 12:return g=t.sent,v=lS(e,i,g,c,r),y=v.meshes,x=v.meshVariants,S=v.meshDefaultMaterials,b=v.promises,w=dS(i,u,g,r),t.next=17,Promise.all(s);case 17:for(T=t.sent,A=T.map((function(t){return t.resource})),C=cS(i,A,r,c),E=hS(e,i,u,g),M=[],P=0;Pi.byteLength)e("Invalid length found in glb header. Found "+r);else{for(var a=[],o=12;oi.byteLength&&e("Invalid chunk length found in glb. Found "+h);var l=i.getUint32(o+4,!0),c=new Uint8Array(i.buffer,i.byteOffset+o+8,h);a.push({length:h,type:l,data:c}),o+=h+8}1===a.length||2===a.length?1313821514===a[0].type?a.length>1&&5130562!==a[1].type?e("Invalid chunk type found in glb file. Expected 0x004E4942, found 0x"+a[1].type.toString(16)):e(null,{gltfChunk:a[0].data,binaryChunk:2===a.length?a[1].data:null}):e("Invalid chunk type found in glb file. Expected 0x4E4F534A, found 0x"+a[0].type.toString(16)):e("Invalid number of chunks found in glb file.")}else e("Invalid version number found in glb header. Expected 2, found "+s);else e("Invalid magic number found in glb header. Expected 0x46546C67, found 0x"+n.toString(16))}(e,i):i(null,{gltfChunk:e,binaryChunk:null})},SS=function(){function t(){}return t.parse=function(t,e,i,n,s,r,a){xS(t,i,(function(t,i){t?a(t):function(t,e){var i=JSON.parse(function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);for(var e="",i=0;i0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){var a;s?e("Error loading animation resource: "+t.original+" ["+s+"]"):".glb"===L.getExtension(t.original).toLowerCase()?SS.parse("filename.glb","",r,n.device,n.assets,null!=(a=null==i?void 0:i.options)?a:{},(function(t,n){if(t)e(t);else{var s,r=n.animations;if(null!=i&&null!=(s=i.data)&&s.events)for(var a=0;a0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation clip resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){var i=e.name,n=e.duration,s=e.inputs.map((function(t){return new yx(1,t)})),r=e.outputs.map((function(t){return new yx(t.components,t.data)})),a=e.curves.map((function(t){return new vx([t.path],t.inputIndex,t.outputIndex,t.interpolation)}));return new pm(i,n,s,r,a)},e.patch=function(t,e){},t}(),TS=function(){function t(t){this.handlerType="animstategraph",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading animation state graph resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return new Um(e)},e.patch=function(t,e){},t}(),AS=function(){if("undefined"==typeof window)return!1;var t=window.navigator.userAgent,e=t.indexOf("MSIE ");if(e>0)return parseInt(t.substring(e+5,t.indexOf(".",e)),10);if(t.indexOf("Trident/")>0){var i=t.indexOf("rv:");return parseInt(t.substring(i+3,t.indexOf(".",i)),10)}return!1}(),CS=[".ogg",".mp3",".wav",".mp4a",".m4a",".mp4",".aac",".opus"],ES=function(){function t(t){this.handlerType="audio",this.manager=t.soundManager,this.maxRetries=0}var e=t.prototype;return e._isSupported=function(t){var e=L.getExtension(t);return CS.indexOf(e)>-1},e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=function(i){var n="Error loading audio url: "+t.original;i&&(n+=": "+(i.message||i)),console.warn(n),e(n)};if(this._createSound){if(!this._isSupported(t.original))return void i("Audio format for "+t.original+" not supported");this._createSound(t.load,(function(t){e(null,new ka(t))}),i)}else i(null)},e.open=function(t,e){return e},e.patch=function(t,e){},e._createSound=function(t,e,i){if(Ea()){var n=this.manager;if(!n.context)return void i("Audio manager has no audio context");var s={retry:this.maxRetries>0,maxRetries:this.maxRetries};(t.startsWith("blob:")||t.startsWith("data:"))&&(s.responseType=Aa.ResponseType.ARRAY_BUFFER),Ca.get(t,s,(function(t,s){t?i(t):n.context.decodeAudioData(s,e,i)}))}else{var r=null;try{r=new Audio}catch(t){return void i("No support for Audio element")}AS&&document.body.appendChild(r);r.onerror=function(){r.onerror=null,AS&&document.body.removeChild(r),i()},r.addEventListener("canplaythrough",(function t(){r.removeEventListener("canplaythrough",t),AS&&document.body.removeChild(r),e(r)})),r.src=t}},t}(),MS=function(){function t(t){this.handlerType="binary",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{responseType:Aa.ResponseType.ARRAY_BUFFER,retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading binary resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),PS=function(){function t(e,i,n,s){for(var r=function(e,s,r){var a=t.createAsset(i.name,e,s,r);return n.add(a),a},a=[],o=0;o=0?t.split("?")[0]:t},e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s):SS.parse(n._getUrlWithoutParams(t.original),L.extractPath(t.load),r,n._device,i.registry,i.options,(function(t,s){t?e(t):e(null,new PS(s,i,n._assets,n._defaultMaterial))}))}),i,this.maxRetries)},e.open=function(t,e,i){return e},e.patch=function(t,e){},t}(),IS=function(){function t(){}var e=t.prototype;return e.instantiateModelEntity=function(t){return null},e.instantiateRenderEntity=function(t){return null},e.getMaterialVariants=function(){return null},e.applyMaterialVariant=function(t,e){},e.applyMaterialVariantInstances=function(t,e){},t}(),LS=function(){function t(t){this.handlerType="container",this.glbContainerParser=new RS(t.graphicsDevice,t.assets,0),this.parsers={}}var e=t.prototype;return e._getUrlWithoutParams=function(t){return t.indexOf("?")>=0?t.split("?")[0]:t},e._getParser=function(t){var e=t?L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".",""):null;return this.parsers[e]||this.glbContainerParser},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){return this._getParser(t).open(t,e,i)},e.patch=function(t,e){},y(t,[{key:"maxRetries",get:function(){return this.glbContainerParser.maxRetries},set:function(t){for(var e in this.glbContainerParser.maxRetries=t,this.parsers)this.parsers.hasOwnProperty(e)&&(this.parsers[e].maxRetries=t)}}]),t}(),DS=function(){function t(t){this.handlerType="css",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading css resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),OS=function(){function t(t){this.handlerType="cubemap",this._device=t.graphicsDevice,this._registry=t.assets,this._loader=t.loader}var e=t.prototype;return e.load=function(t,e,i){this.loadAssets(i,e)},e.open=function(t,e,i){return i?i.resource:null},e.patch=function(t,e){this.loadAssets(t,(function(i,n){i&&(e.fire("error",t),e.fire("error:"+t.id,i,t),t.fire("error",t))}))},e.getAssetIds=function(t){var e=[];if(e[0]=t.file,(t.loadFaces||!t.file)&&t.data&&t.data.textures)for(var i=0;i<6;++i)e[i+1]=t.data.textures[i];else e[1]=e[2]=e[3]=e[4]=e[5]=e[6]=null;return e},e.compareAssetIds=function(t,e){return t&&e?parseInt(t,10)===t||"string"==typeof t?t===e:t.url===e.url:null!==t==(null!==e)},e.update=function(t,e,i){var n,s,r,a=t.data||{},o=t._handlerState.assets,h=t._resources,l=[null,null,null,null,null,null,null],c=function(){return a.hasOwnProperty("type")?a.type:a.hasOwnProperty("rgbm")?a.rgbm?ai:ri:null};if(t.loaded&&i[0]===o[0])l[1]=h[1]||null,l[2]=h[2]||null,l[3]=h[3]||null,l[4]=h[4]||null,l[5]=h[5]||null,l[6]=h[6]||null;else if(i[0])if((n=i[0].resource).cubemap)for(r=0;r<6;++r)l[r+1]=new Us(this._device,{name:t.name+"_prelitCubemap"+(n.width>>r),cubemap:!0,type:c()||n.type,width:n.width>>r,height:n.height>>r,format:n.format,levels:[n._levels[r]],fixCubemapSeams:!0,addressU:1,addressV:1,mipmaps:0===r});else n.type=hi,n.addressU=1,n.addressV=1,n.mipmaps=!1,l[1]=n;var u=i.slice(1);if(t.loaded&&this.cmpArrays(u,o.slice(1)))l[0]=h[0]||null;else if(-1===u.indexOf(null)){var d,f=u.map((function(t){return t.resource})),p=[];for(s=0;s0,maxRetries:this.maxRetries},(function(i,s){if(i)e("Error loading font resource: "+t.original+" ["+i+"]");else{var r=BS(s);n._loadTextures(t.load.replace(".json",".png"),r,(function(t,i){t?e(t):e(null,{data:r,textures:i})}))}})):(i&&i.data&&(i.data=BS(i.data)),this._loadTextures(t.load,i&&i.data,e))},e._loadTextures=function(t,e,i){for(var n=e.info.maps.length,s=0,r=null,a=new Array(n),o=this._loader,h=function(e){var h=function(t,o){if(!r){if(t)return r=t,void i(t);o.upload(),a[e]=o,++s===n&&i(null,a)}};0===e?o.load(t,"texture",h):o.load(t.replace(".png",e+".png"),"texture",h)},l=0;l0,maxRetries:e},(function(e,n){if(e){var s="Error while loading scene JSON "+t.original;e.message?(s+=": "+e.message,e.stack&&(s+="\n"+e.stack)):s+=": "+e,i(s)}else i(e,n)}))},t}(),HS=function(){function t(t){this.handlerType="hierarchy",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){GS.load(t,this.maxRetries,e)},e.open=function(t,e){this._app.systems.script.preloading=!0;var i=new VS(this._app,!1).parse(e);return this._app.systems.script.preloading=!1,i},t}(),WS=function(){function t(t){this.handlerType="html",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading html resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),XS=function(){function t(t){this.handlerType="json",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};t.load.startsWith("blob:")&&(i.responseType=Aa.ResponseType.JSON),Ca.get(t.load,i,(function(i,n){i?e("Error loading JSON resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),qS=function(){function t(){this.removeInvalid=!0,this.valid=!0,this.enumValidators={occludeSpecular:this._createEnumValidator([0,1,2]),cull:this._createEnumValidator([he,1,2,3]),blendType:this._createEnumValidator([0,1,2,3,4,5,6,7,8,9,10]),depthFunc:this._createEnumValidator([0,1,2,3,4,5,6,7]),shadingModel:this._createEnumValidator([0,1])}}var e=t.prototype;return e.setInvalid=function(t,e){this.valid=!1,this.removeInvalid&&delete e[t]},e.validate=function(t){var e=lu,i=pu,n="path"===t.mappingFormat;for(var s in t){var r=e[s];if(r)if(r.startsWith("enum")){var a=r.split(":")[1];this.enumValidators[a]&&(this.enumValidators[a](t[s])||this.setInvalid(s,t))}else if("number"===r)"number"!=typeof t[s]&&this.setInvalid(s,t);else if("boolean"===r)"boolean"!=typeof t[s]&&this.setInvalid(s,t);else if("string"===r)"string"!=typeof t[s]&&this.setInvalid(s,t);else if("vec2"===r)t[s]instanceof Array&&2===t[s].length||this.setInvalid(s,t);else if("rgb"===r)t[s]instanceof Array&&3===t[s].length||this.setInvalid(s,t);else if("texture"===r)n?"string"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t)):"number"!=typeof t[s]&&null!==t[s]&&(t[s]instanceof Us||this.setInvalid(s,t));else if("boundingbox"===r)t[s].center&&t[s].center instanceof Array&&3===t[s].center.length||this.setInvalid(s,t),t[s].halfExtents&&t[s].halfExtents instanceof Array&&3===t[s].halfExtents.length||this.setInvalid(s,t);else if("cubemap"===r)"number"!=typeof t[s]&&null!==t[s]&&void 0!==t[s]&&(t[s]instanceof Us&&t[s].cubemap||this.setInvalid(s,t));else if("chunks"===r)for(var o=Object.keys(t[s]),h=0;h=0}},t}(),jS=function(){function t(){this._validator=null}var e=t.prototype;return e.parse=function(t){var e=this.migrate(t),i=this._validate(e),n=new vu;return this.initialize(n,i),n},e.initialize=function(t,e){for(var i in e.validated||(e=this._validate(e)),e.chunks&&(t.chunks=x({},e.chunks)),e){var n=lu[i],s=e[i];if("vec2"===n)t[i]=new It(s[0],s[1]);else if("rgb"===n)t[i]=new gt(s[0],s[1],s[2]);else if("texture"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null);else if("cubemap"===n)s instanceof Us?t[i]=s:t[i]instanceof Us&&"number"==typeof s&&s>0||(t[i]=null),"cubeMap"!==i||s||(t.prefilteredCubemaps=null);else if("boundingbox"===n){var r=new Et(s.center[0],s.center[1],s.center[2]),a=new Et(s.halfExtents[0],s.halfExtents[1],s.halfExtents[2]);t[i]=new jt(r,a)}else t[i]=e[i]}t.update()},e.migrate=function(t){var e;void 0===t.shadingModel&&("blinn"===t.shader?t.shadingModel=1:t.shadingModel=0),t.shader&&delete t.shader,t.mapping_format&&(t.mappingFormat=t.mapping_format,delete t.mapping_format);var i=[["bumpMapFactor","bumpiness"],["aoUvSet","aoMapUv"],["aoMapVertexColor","aoVertexColor"],["diffuseMapVertexColor","diffuseVertexColor"],["emissiveMapVertexColor","emissiveVertexColor"],["specularMapVertexColor","specularVertexColor"],["metalnessMapVertexColor","metalnessVertexColor"],["opacityMapVertexColor","opacityVertexColor"],["glossMapVertexColor","glossVertexColor"],["lightMapVertexColor","lightVertexColor"],["diffuseMapTint","diffuseTint"],["specularMapTint","specularTint"],["emissiveMapTint","emissiveTint"],["metalnessMapTint","metalnessTint"],["clearCoatGlossiness","clearCoatGloss"]];for(e=0;e0,maxRetries:this.maxRetries},(function(i,n){i?e&&e("Error loading material: "+t.original+" ["+i+"]"):e&&(n._engine=!0,e(null,n))}))},e.open=function(t,e){var i=this._parser.parse(e);return e._engine&&(i._data=e,delete e._engine),i},e._createPlaceholders=function(){this._placeholderTextures={};var t={white:[255,255,255,255],gray:[128,128,128,255],black:[0,0,0,255],normal:[128,128,255,255]};for(var e in t)if(t.hasOwnProperty(e)){this._placeholderTextures[e]=new Us(this._device,{width:2,height:2,format:7,name:"material_placeholder"});for(var i=this._placeholderTextures[e].lock(),n=0;n<4;n++)for(var s=0;s<4;s++)i[4*n+s]=t[e][s];this._placeholderTextures[e].unlock()}},e.patch=function(t,e){t.resource._data&&(t._data=t.resource._data,delete t.resource._data),t.data.name=t.name,t.resource.name=t.name,this._bindAndAssignAssets(t,e),t.off("unload",this._onAssetUnload,this),t.on("unload",this._onAssetUnload,this)},e._onAssetUnload=function(t){delete t.data.parameters,delete t.data.chunks,delete t.data.name},e._assignTexture=function(t,e,i){e.resource[t]=i},e._getPlaceholderTexture=function(t){this._placeholderTextures||this._createPlaceholders();var e=YS[t];return this._placeholderTextures[e]},e._assignPlaceholderTexture=function(t,e){e.resource[t]=this._getPlaceholderTexture(t)},e._onTextureLoad=function(t,e,i){this._assignTexture(t,e,i.resource),e.resource.update()},e._onTextureAdd=function(t,e,i){this._assets.load(i)},e._onTextureRemoveOrUnload=function(t,e,i){var n=e.resource;n&&e.resource[t]===i.resource&&(this._assignPlaceholderTexture(t,e),n.update())},e._assignCubemap=function(t,e,i){if(e.resource[t]=i[0],"cubeMap"===t){var n=i.slice(1);n.every((function(t){return t}))?e.resource.prefilteredCubemaps=n:n[0]&&(e.resource.envAtlas=n[0])}},e._onCubemapLoad=function(t,e,i){this._assignCubemap(t,e,i.resources),this._parser.initialize(e.resource,e.data)},e._onCubemapAdd=function(t,e,i){0===e.data.shadingModel&&(e.loadFaces=!0),this._assets.load(i)},e._onCubemapRemoveOrUnload=function(t,e,i){var n=e.resource;e.data.prefilteredCubeMap128===i.resources[1]&&(this._assignCubemap(t,e,[null,null,null,null,null,null,null]),n.update())},e._bindAndAssignAssets=function(t,e){var i,n,s,r=this._parser.migrate(t.data),a=t.resource,o="path"===r.mappingFormat,h=cu;for(i=0;i0){for(var c=i.blendIndices.data[4*h+l],u=!0,d=0;dn)return!1;for(var f=0;f=0;n--)if(l[n].boneNames.length>i){var f=l.splice(n,1)[0],p=[];for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.push({mesh:o,node:u[r].node}),e&&e.push({material:e[r].material,path:e[r].path}));for(s=0;s=0;r--)u[r].mesh===_.originalMesh&&(u.splice(r,1),e&&e.splice(r,1))}!function(t){for(var e=t.vertices,i=t.skins,n=t.meshes,s=t.meshInstances,r=0;r0&&JS(s,null,this._device.getBoneLimit());for(i=0;i0&&(h>65535&&this._device.extUintElement?(s=new Tr(this._device,2,a),r=new Uint32Array(s.lock())):(s=new Tr(this._device,1,a),r=new Uint16Array(s.lock()))),{buffer:s,data:r}},e._parseMeshes=function(t,e,i,n,s,r){for(var a=t.model,o=[],h=0,l=0;l0,maxRetries:this.maxRetries};(t.load.startsWith("blob:")||t.load.startsWith("data:"))&&(".glb"===L.getExtension(t.original).toLowerCase()?s.responseType=Aa.ResponseType.ARRAY_BUFFER:s.responseType=Aa.ResponseType.JSON),Ca.get(t.load,s,(function(s,r){if(e)if(s)e("Error loading model: "+t.original+" ["+s+"]");else{for(var a=0;a0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading shader resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}();function ob(t){this.resource&&(this.resource.atlas=t.resource)}function hb(t){this.registry.load(t)}var lb=function(){function t(t){this.handlerType="sprite",this._assets=t.assets,this._device=t.graphicsDevice,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),".json"===L.getExtension(t.original)&&Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(t,i){t?e(t):e(null,i)}))},e.open=function(t,e){var i=new lf(this._device);return t&&(i.__data=e),i},e.patch=function(t,e){var i=t.resource;if(i.__data&&(t.data.pixelsPerUnit=i.__data.pixelsPerUnit,t.data.renderMode=i.__data.renderMode,t.data.frameKeys=i.__data.frameKeys,i.__data.textureAtlasAsset)){var n=e.getByUrl(i.__data.textureAtlasAsset);n?t.data.textureAtlasAsset=n.id:console.warn("Could not find textureatlas with url: "+i.__data.textureAtlasAsset)}i.startUpdate(),i.renderMode=t.data.renderMode,i.pixelsPerUnit=t.data.pixelsPerUnit,i.frameKeys=t.data.frameKeys,this._updateAtlas(t),i.endUpdate(),t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)},e._updateAtlas=function(t){var e=t.resource;if(t.data.textureAtlasAsset){this._assets.off("load:"+t.data.textureAtlasAsset,ob,t),this._assets.on("load:"+t.data.textureAtlasAsset,ob,t);var i=this._assets.get(t.data.textureAtlasAsset);i&&i.resource?e.atlas=i.resource:i?this._assets.load(i):(this._assets.off("add:"+t.data.textureAtlasAsset,hb,t),this._assets.on("add:"+t.data.textureAtlasAsset,hb,t))}else e.atlas=null},e._onAssetChange=function(t,e,i,n){"data"===e&&i&&i.textureAtlasAsset&&n&&i.textureAtlasAsset!==n.textureAtlasAsset&&(this._assets.off("load:"+n.textureAtlasAsset,ob,t),this._assets.off("add:"+n.textureAtlasAsset,hb,t))},t}(),cb=function(){function t(t,e){this._app=void 0,this._data=void 0,this._templateRoot=null,this._app=t,this._data=e}var e=t.prototype;return e.instantiate=function(){return this._templateRoot||this._parseTemplate(),this._templateRoot.clone()},e._parseTemplate=function(){var t=new VS(this._app,!0);this._templateRoot=t.parse(this._data)},t}(),ub=function(){function t(t){this.handlerType="template",this._app=t,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i={retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t.load,i,(function(i,n){i?e("Error requesting template: "+t.original):e(i,n)}))},e.open=function(t,e){return new cb(this._app,e)},t}(),db=function(){function t(t){this.handlerType="text",this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t}),Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(i,n){i?e("Error loading text resource: "+t.original+" ["+i+"]"):e(null,n)}))},e.open=function(t,e){return e},e.patch=function(t,e){},t}(),fb={repeat:0,clamp:1,mirror:2},pb={nearest:0,linear:1,nearest_mip_nearest:2,linear_mip_nearest:4,nearest_mip_linear:3,linear_mip_linear:5},mb=/^data\.frames\.(\d+)$/,_b=function(){function t(t){this.handlerType="textureatlas",this._loader=t.loader,this.maxRetries=0}var e=t.prototype;return e.load=function(t,e){"string"==typeof t&&(t={load:t,original:t});var i=this,n=this._loader.getHandler("texture");".json"===L.getExtension(t.original)?Ca.get(t.load,{retry:this.maxRetries>0,maxRetries:this.maxRetries},(function(n,s){if(n)e(n);else{var r=t.original.replace(".json",".png");i._loader.load(r,"texture",(function(t,i){t?e(t):e(null,{data:s,texture:i})}))}})):n.load(t,e)},e.open=function(t,e){var i=new cf;if(e.texture&&e.data)i.texture=e.texture,i.__data=e.data;else{var n=this._loader.getHandler("texture").open(t,e);if(!n)return null;i.texture=n}return i},e.patch=function(t,e){if(t.resource){t.resource.__data&&(void 0!==t.resource.__data.minfilter&&(t.data.minfilter=t.resource.__data.minfilter),void 0!==t.resource.__data.magfilter&&(t.data.magfilter=t.resource.__data.magfilter),void 0!==t.resource.__data.addressu&&(t.data.addressu=t.resource.__data.addressu),void 0!==t.resource.__data.addressv&&(t.data.addressv=t.resource.__data.addressv),void 0!==t.resource.__data.mipmaps&&(t.data.mipmaps=t.resource.__data.mipmaps),void 0!==t.resource.__data.anisotropy&&(t.data.anisotropy=t.resource.__data.anisotropy),void 0!==t.resource.__data.rgbm&&(t.data.rgbm=!!t.resource.__data.rgbm),t.data.frames=t.resource.__data.frames,delete t.resource.__data);var i=t.resource.texture;if(i&&(i.name=t.name,t.data.hasOwnProperty("minfilter")&&i.minFilter!==pb[t.data.minfilter]&&(i.minFilter=pb[t.data.minfilter]),t.data.hasOwnProperty("magfilter")&&i.magFilter!==pb[t.data.magfilter]&&(i.magFilter=pb[t.data.magfilter]),t.data.hasOwnProperty("addressu")&&i.addressU!==fb[t.data.addressu]&&(i.addressU=fb[t.data.addressu]),t.data.hasOwnProperty("addressv")&&i.addressV!==fb[t.data.addressv]&&(i.addressV=fb[t.data.addressv]),t.data.hasOwnProperty("mipmaps")&&i.mipmaps!==t.data.mipmaps&&(i.mipmaps=t.data.mipmaps),t.data.hasOwnProperty("anisotropy")&&i.anisotropy!==t.data.anisotropy&&(i.anisotropy=t.data.anisotropy),t.data.hasOwnProperty("rgbm"))){var n=t.data.rgbm?ai:ri;i.type!==n&&(i.type=n)}t.resource.texture=i;var s={};for(var r in t.data.frames){var a=t.data.frames[r];s[r]={rect:new Dt(a.rect),pivot:new It(a.pivot),border:new Dt(a.border)}}t.resource.frames=s,t.off("change",this._onAssetChange,this),t.on("change",this._onAssetChange,this)}},e._onAssetChange=function(t,e,i){var n;if("data"===e||"data.frames"===e){var s={};for(var r in i.frames)n=i.frames[r],s[r]={rect:new Dt(n.rect),pivot:new It(n.pivot),border:new Dt(n.border)};t.resource.frames=s}else{var a=e.match(mb);if(a){var o=a[1];i?(t.resource.frames[o]?((n=t.resource.frames[o]).rect.set(i.rect[0],i.rect[1],i.rect[2],i.rect[3]),n.pivot.set(i.pivot[0],i.pivot[1]),n.border.set(i.border[0],i.border[1],i.border[2],i.border[3])):t.resource.frames[o]={rect:new Dt(i.rect),pivot:new It(i.pivot),border:new Dt(i.border)},t.resource.fire("set:frame",o,t.resource.frames[o])):t.resource.frames[o]&&(delete t.resource.frames[o],t.resource.fire("remove:frame",o))}}},t}();function gb(){var t,e,i,n=0,s=1,r=2,a=3,o=8,h=9,l=10,c=11,u=12,d=13,f=14,p=16,m={astc:l,dxt:r,etc1:n,etc2:n,pvr:o,atc:c,none:f},_={astc:l,dxt:a,etc1:p,etc2:s,pvr:h,atc:u,none:p},g=21,v=22,y=23,x=8,S=10,b=26,w=27,T=28,A=29,C=30,E=7,M=3,P=5,R=function(t,e){switch(t){case n:return e.formats.etc1?g:v;case s:return y;case r:return x;case a:return S;case o:return b;case h:return w;case l:return T;case c:return A;case u:return C;case d:return E;case f:return M;case p:return P}},I=function(t){for(var e=function(t,e){var i=t*(2/255)-1,n=e*(2/255)-1,s=Math.sqrt(1-Math.min(1,i*i+n*n));return Math.max(0,Math.min(255,Math.floor(.5*(s+1)*255)))},i=0;i>3}return e},D=function(){return"undefined"!=typeof performance?performance.now():0},O=function(t,n,s){if(s){if(t.formats.astc)return"astc"}else if(n){if(t.formats.etc2)return"etc2"}else if(t.formats.etc1||t.formats.etc2)return"etc1";return function(e){for(var i=0;i0,maxRetries:t.maxRetries};if(t.glueUrl&&t.wasmUrl&&function(){try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){}return!1}()){var r=null,a=null;Ca.get(t.glueUrl,s,(function(t,i){t?e(t):a?n(i,a):r=i}));var o=fetch(t.wasmUrl),h=function(){o.then((function(t){return t.arrayBuffer()})).then((function(t){return WebAssembly.compile(t)})).then((function(t){r?n(r,t):a=t})).catch((function(t){e(t,null)}))};WebAssembly.compileStreaming?WebAssembly.compileStreaming(o).then((function(t){r?n(r,t):a=t})).catch((function(t){h()})):h()}else Ca.get(t.fallbackUrl,s,(function(t,i){t?e(t,null):n(i,null)}))},xb=function(){function t(){this.callbacks={},this.queue=[],this.clients=[]}var e=t.prototype;return e.enqueueJob=function(t,e,i,n){if(this.callbacks.hasOwnProperty(t))this.callbacks[t].push(i);else{this.callbacks[t]=[i];var s={url:t,data:e,options:n};this.clients.length>0?this.clients.shift().run(s):this.queue.push(s)}},e.enqueueClient=function(t){this.queue.length>0?t.run(this.queue.shift()):this.clients.push(t)},e.handleResponse=function(t,e,i){var n=this.callbacks[t];if(e)for(var s=0;s0&&++a<=o){var i=100*Math.pow(2,a);console.log("Error loading Texture from: '"+e+"' - Retrying in "+i+"ms...");var h=t.indexOf("?")>=0?"&":"?";r=setTimeout((function(){s.src=t+h+"retry="+Date.now(),r=null}),i)}else n("Error loading Texture from: '"+e+"'")},s.src=t},e._loadImageBitmap=function(t,e,i,n){var s=this,r={cache:!0,responseType:"blob",retry:this.maxRetries>0,maxRetries:this.maxRetries};Ca.get(t,r,(function(t,e){t?n(t):s._loadImageBitmapFromBlob(e,n)}))},e._loadImageBitmapFromBlob=function(t,e){createImageBitmap(t,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(t){return e(null,t)})).catch((function(t){return e(t)}))},t}(),Ob=[1481919403,3140563232,169478669],kb={33776:8,33778:9,33779:le,36196:ve,37492:22,37496:23,35840:Se,35841:ye,35842:be,35843:xe,32849:6,32856:7,35905:19,35907:20,35898:ge,34843:ce,34842:ue};for(var Fb=function(){function t(t){this.maxRetries=0}var e=t.prototype;return e.load=function(t,e,i){$f.fetchArrayBuffer(t.load,e,i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=this.parse(e);if(!s)return null;var r=new Us(i,x({name:t,addressU:s.cubemap?1:0,addressV:s.cubemap?1:0,width:s.width,height:s.height,format:s.format,cubemap:s.cubemap,levels:s.levels},n));return r.upload(),r},e.parse=function(t){var e=new Uint32Array(t);if(Ob[0]!==e[0]||Ob[1]!==e[1]||Ob[2]!==e[2])return null;var i={endianness:e[3],glType:e[4],glTypeSize:e[5],glFormat:e[6],glInternalFormat:e[7],glBaseInternalFormat:e[8],pixelWidth:e[9],pixelHeight:e[10],pixelDepth:e[11],numberOfArrayElements:e[12],numberOfFaces:e[13],numberOfMipmapLevels:e[14],bytesOfKeyValueData:e[15]};if(i.pixelDepth>1)return null;if(0!==i.numberOfArrayElements)return null;var n=kb[i.glInternalFormat];if(void 0===n)return null;for(var s,r,a,o=16+i.bytesOfKeyValueData/4,h=i.numberOfFaces>1,l=[],c=0;c<(i.numberOfMipmapLevels||1);c++){var u=e[o++];h&&l.push([]);for(var d=h?l[c]:l,f=0;f<(h?6:1);++f)d.push((s=t,r=4*o,a=u,n===ge?new Uint32Array(s,r,a/4):new Uint8Array(s,r,a))),o+=u+3>>2}return{format:n,width:i.pixelWidth,height:i.pixelHeight,levels:l,cubemap:h}},t}(),Bb=166,Ub=function(){function t(t,e){this.maxRetries=0,this.device=e}var e=t.prototype;return e.load=function(t,e,i){var n=this;$f.fetchArrayBuffer(t.load,(function(s,r){s?e(s,r):n.parse(r,t,e,i)}),i,this.maxRetries)},e.open=function(t,e,i,n){void 0===n&&(n={});var s=new Us(i,x({name:t,addressU:e.cubemap?1:0,addressV:e.cubemap?1:0,width:e.width,height:e.height,format:e.format,cubemap:e.cubemap,levels:e.levels},n));return s.upload(),s},e.parse=function(t,e,i,n){var s=new lt(t),r=[s.readU32be(),s.readU32be(),s.readU32be()];if(2873840728!==r[0]||540160187!==r[1]||218765834!==r[2])return null;for(var a={vkFormat:s.readU32(),typeSize:s.readU32(),pixelWidth:s.readU32(),pixelHeight:s.readU32(),pixelDepth:s.readU32(),layerCount:s.readU32(),faceCount:s.readU32(),levelCount:s.readU32(),supercompressionScheme:s.readU32()},o={dfdByteOffset:s.readU32(),dfdByteLength:s.readU32(),kvdByteOffset:s.readU32(),kvdByteLength:s.readU32(),sgdByteOffset:s.readU64(),sgdByteLength:s.readU64()},h=[],l=0;l1},n));for(var w,T=128,A=d?6:1,C=c===f?8:16,E=0;E32767)return this._readPixelsFlat(t,e,i);var s=[0,0,0,0];if(t.readArray(s),2!==s[0]||2!==s[1]||0!=(128&s[2]))return t.skip(-4),this._readPixelsFlat(t,e,i);var r,a,o,h,l,c,u=new ArrayBuffer(e*i*4),d=new Uint8Array(u),f=n?0:4*e*(i-1);for(a=0;a128){if(r+(l-=128)>e)return null;for(c=t.readU8(),o=0;oe)return null;for(o=0;o=0?t.split("?")[0]:t},e._getParser=function(t){var e=L.getExtension(this._getUrlWithoutParams(t)).toLowerCase().replace(".","");return this.parsers[e]||this.imgParser},e._getTextureOptions=function(t){var e={};if(t){var i;(null==(i=t.name)?void 0:i.length)>0&&(e.name=t.name);var n=t.data;n.hasOwnProperty("minfilter")&&(e.minFilter=Gb[n.minfilter]),n.hasOwnProperty("magfilter")&&(e.magFilter=Gb[n.magfilter]),n.hasOwnProperty("addressu")&&(e.addressU=Vb[n.addressu]),n.hasOwnProperty("addressv")&&(e.addressV=Vb[n.addressv]),n.hasOwnProperty("mipmaps")&&(e.mipmaps=n.mipmaps),n.hasOwnProperty("anisotropy")&&(e.anisotropy=n.anisotropy),n.hasOwnProperty("flipY")&&(e.flipY=!!n.flipY),n.hasOwnProperty("type")?e.type=Hb[n.type]:n.hasOwnProperty("rgbm")&&n.rgbm?e.type=ai:t.file&&0!=(8&t.file.opt)&&(e.type=li)}return e},e.load=function(t,e,i){"string"==typeof t&&(t={load:t,original:t}),this._getParser(t.original).load(t,e,i)},e.open=function(t,e,i){if(t){var n=this._getTextureOptions(i),s=this._getParser(t).open(t,e,this._device,n);return null===s?s=new Us(this._device,{width:4,height:4,format:6}):(!function(t){var e=es.calcMipLevelsCount(t._width,t._height);if(!(7!==t._format&&t._format!==fe||t._volume||t._compressed||1===t._levels.length||t._levels.length===e||(i=t._cubemap?t._levels[0][0]:t._levels[0],i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement))){for(var i,n=function(t,e,i){for(var n=Math.max(1,t>>1),s=Math.max(1,e>>1),r=new i.constructor(n*s*4),a=Math.floor(t/n),o=Math.floor(e/s),h=a*o,l=0;l>s-1),a=Math.max(1,t._height>>s-1);if(t._cubemap){for(var o=[],h=0;h<6;++h)o.push(n(r,a,t._levels[s-1][h]));t._levels.push(o)}else t._levels.push(n(r,a,t._levels[s-1]))}t._levelsUpdated=t._cubemap?[[!0,!0,!0,!0,!0,!0]]:[!0]}}(s),e.unswizzledGGGR&&(i.file.variants.basis.opt&=-9)),s}},e.patch=function(t,e){var i=t.resource;if(i)for(var n=this._getTextureOptions(t),s=0,r=Object.keys(n);s=a||(a=d,o=t[c],h.copy(u.transform.position),l.copy(u.transform.orientation))}this.fire("result",h,l,e,o),this.manager.hitTest.fire("result",this,h,l,e,o),iw.push(r),iw.push(h),nw.push(l)}},e}(P),rw=function(t){function e(e){var i;return(i=t.call(this)||this).manager=void 0,i._supported=G.browser&&!(!window.XRSession||!window.XRSession.prototype.requestHitTestSource),i._session=null,i.sources=[],i.manager=e,i._supported&&(i.manager.on("start",i._onSessionStart,w(i)),i.manager.on("end",i._onSessionEnd,w(i))),i}S(e,t);var i=e.prototype;return i._onSessionStart=function(){this.manager.type===Yb&&(this._session=this.manager.session)},i._onSessionEnd=function(){if(this._session){this._session=null;for(var t=0;tthis.views.length;){var a=this.viewsPool.pop();a||(a={viewport:new Dt,projMat:new zt,viewMat:new zt,viewOffMat:new zt,viewInvMat:new zt,viewInvOffMat:new zt,projViewOffMat:new zt,viewMat3:new Pt,position:new Float32Array(3),rotation:new Vt}),this.views.push(a)}for(;r0){var p=new zt,m=this.views[0];p.copy(m.projMat);var _=p.data,g=2*Math.atan(1/_[5])*180/Math.PI,v=_[5]/_[0],y=_[14]/(_[10]+1),x=_[14]/(_[10]-1);this._camera.camera.setXrProperties({aspectRatio:v,farClip:y,fov:g,horizontalFov:!1,nearClip:x})}return this._camera.camera._node.setLocalPosition(this._localPosition),this._camera.camera._node.setLocalRotation(this._localRotation),this.input.update(t),this._type===Yb&&(this.hitTest.supported&&this.hitTest.update(t),this.lightEstimation.supported&&this.lightEstimation.update(t),this.depthSensing.supported&&this.depthSensing.update(t,n&&n.views[0]),this.imageTracking.supported&&this.imageTracking.update(t),this.anchors.supported&&this.anchors.update(t),this.planeDetection.supported&&this.planeDetection.update(t)),this.fire("update",t),!0},y(e,[{key:"supported",get:function(){return this._supported}},{key:"active",get:function(){return!!this._session}},{key:"type",get:function(){return this._type}},{key:"spaceType",get:function(){return this._spaceType}},{key:"session",get:function(){return this._session}},{key:"camera",get:function(){return this._camera?this._camera.entity:null}},{key:"visibilityState",get:function(){return this._session?this._session.visibilityState:null}}]),e}(P),kw=function(t){function e(e,i){var n;void 0===i&&(i={}),n=t.call(this,e)||this;var s=new bp;return s.graphicsDevice=n.createDevice(e,i),n.addComponentSystems(s),n.addResourceHandles(s),s.elementInput=i.elementInput,s.keyboard=i.keyboard,s.mouse=i.mouse,s.touch=i.touch,s.gamepads=i.gamepads,s.scriptPrefix=i.scriptPrefix,s.assetPrefix=i.assetPrefix,s.scriptsOrder=i.scriptsOrder,s.soundManager=new Oa,s.lightmapper=Lp,s.batchManager=kh,s.xr=Ow,n.init(s),n}S(e,t);var i=e.prototype;return i.createDevice=function(t,e){return e.graphicsDeviceOptions||(e.graphicsDeviceOptions={}),G.browser&&navigator.xr&&(e.graphicsDeviceOptions.xrCompatible=!0),e.graphicsDeviceOptions.alpha=e.graphicsDeviceOptions.alpha||!1,new mr(t,e.graphicsDeviceOptions)},i.addComponentSystems=function(t){t.componentSystems=[Gv,H_,Bg,Sm,Gm,ov,Tv,Zy,ix,Df.legacy?ry:dx,Zm,Py,qm,_v,Kv,Mg,m_,yy,wy,zy,nv,Vg,Wy]},i.addResourceHandles=function(t){t.resourceHandlers=[gx,bS,wS,TS,nb,KS,Xb,db,XS,ES,rb,sb,OS,WS,DS,ab,HS,kS,US,MS,_b,lb,ub,LS]},e}(yp),Fw=function(t){function e(e,i){var n;return(n=t.call(this)||this)._assets=new Set,n._loadingAssets=new Set,n._waitingAssets=new Set,n._registry=i,n._loading=!1,n._loaded=!1,n._failed=[],e.forEach((function(t){if(t instanceof $f)t.registry||(t.registry=i),n._assets.add(t);else{var e=i.get(t);e?n._assets.add(e):n._waitForAsset(t)}})),n}S(e,t);var i=e.prototype;return i.destroy=function(){var t=this;this._registry.off("load",this._onLoad),this._registry.off("error",this._onError),this._waitingAssets.forEach((function(e){t._registry.off("add:"+e,this._onAddAsset)})),this.off("progress"),this.off("load")},i._assetHasDependencies=function(t){var e;return"model"===t.type&&(null==(e=t.file)?void 0:e.url)&&t.file.url&&t.file.url.match(/.json$/g)},i.load=function(t,e){var i=this;if(!this._loading){this._loading=!0,this._callback=t,this._scope=e,this._registry.on("load",this._onLoad,this),this._registry.on("error",this._onError,this);var n=!1;this._assets.forEach((function(t){t.loaded||(n=!0,i._assetHasDependencies(t)&&i._registry.loadFromUrl(t.file.url,t.type,(function(e,n){e?i._onError(e,t):i._onLoad(t)})),i._loadingAssets.add(t),i._registry.add(t))})),this._loadingAssets.forEach((function(t){i._assetHasDependencies(t)||i._registry.load(t)})),n||0!==this._waitingAssets.size||this._loadingComplete()}},i.ready=function(t,e){void 0===e&&(e=this),this._loaded?t.call(e,Array.from(this._assets)):this.once("load",(function(i){t.call(e,i)}))},i._loadingComplete=function(){this._loaded||(this._loaded=!0,this._registry.off("load",this._onLoad,this),this._registry.off("error",this._onError,this),this._failed.length?(this._callback&&this._callback.call(this._scope,"Failed to load some assets",this._failed),this.fire("error",this._failed)):(this._callback&&this._callback.call(this._scope),this.fire("load",Array.from(this._assets))))},i._onLoad=function(t){var e=this;this._loadingAssets.has(t)&&(this.fire("progress",t),this._loadingAssets.delete(t)),0===this._loadingAssets.size&&setTimeout((function(){e._loadingComplete(e._failed)}),0)},i._onError=function(t,e){var i=this;this._loadingAssets.has(e)&&(this._failed.push(e),this._loadingAssets.delete(e)),0===this._loadingAssets.size&&setTimeout((function(){i._loadingComplete(i._failed)}),0)},i._onAddAsset=function(t){this._waitingAssets.delete(t),this._assets.add(t),t.loaded||(this._loadingAssets.add(t),this._registry.load(t))},i._waitForAsset=function(t){this._waitingAssets.add(t),this._registry.once("add:"+t,this._onAddAsset,this)},e}(P),Bw=function(){function t(t,e,i,n){this.canvas=document.createElement("canvas"),this.canvas.width=e,this.canvas.height=i,this.texture=new Us(t,{name:n,format:7,width:e,height:i,mipmaps:!0,minFilter:5,magFilter:1,addressU:1,addressV:1,levels:[this.canvas]}),this.ctx=this.canvas.getContext("2d",{alpha:!0})}var e=t.prototype;return e.destroy=function(){this.texture.destroy()},e.clear=function(t){var e=this.canvas,i=e.width,n=e.height;this.ctx.clearRect(0,0,i,n),this.ctx.fillStyle=t,this.ctx.fillRect(0,0,i,n)},t}(),Uw=function(t){function e(e,i){var n;return void 0===i&&(i={}),(n=t.call(this)||this).type="bitmap",n.app=e,n.intensity=0,n.fontWeight=i.fontWeight||"normal",n.fontSize=parseInt(i.fontSize,10),n.glyphSize=n.fontSize,n.fontName=i.fontName||"Arial",n.color=i.color||new gt(1,1,1),n.padding=i.padding||0,n.width=Math.min(4096,i.width||512),n.height=Math.min(4096,i.height||512),n.atlases=[],n.chars="",n.data={},n}S(e,t);var i=e.prototype;return i.createTextures=function(t){var e=this._normalizeCharsSet(t);if(e.length===this.chars.length){for(var i=0;i0&&this._renderAtlas(this.chars.concat(i))},i.destroy=function(){this.atlases.forEach((function(t){return t.destroy()})),this.chars=null,this.color=null,this.data=null,this.fontName=null,this.fontSize=null,this.glyphSize=null,this.intensity=null,this.atlases=null,this.type=null,this.fontWeight=null},i._colorToRgbString=function(t,e){var i=Math.round(255*t.r),n=Math.round(255*t.g),s=Math.round(255*t.b);return e?"rgba("+i+", "+n+", "+s+", "+t.a+")":"rgb("+i+", "+n+", "+s+")"},i.renderCharacter=function(t,e,i,n,s){t.fillStyle=s,t.fillText(e,i,n)},i._getAtlas=function(t){return t>=this.atlases.length&&(this.atlases[t]=new Bw(this.app.graphicsDevice,this.width,this.height,"font-atlas-"+this.fontName+"-"+t)),this.atlases[t]},i._renderAtlas=function(t){this.chars=t;var e=this.width,i=this.height,n=this._colorToRgbString(this.color,!1),s=this.color.a;this.color.a=1/255;var r=this._colorToRgbString(this.color,!0);this.color.a=s;var a=0,o=this._getAtlas(a++);o.clear(r),this.data=this._createJson(this.chars,this.fontName,e,i);for(var h=rt.getSymbols(this.chars.join("")),l=0,c=0,u={},d=0;dw&&(w=this.fontSize*this.fontSize/T,o.ctx.font=this.fontWeight+" "+w.toString()+"px "+this.fontName,T=this.fontSize),this.renderCharacter(o.ctx,S,v+_,y+g,n);var A=this.padding+(this.glyphSize-T)/2,C=-this.padding+u[S].descent-c,E=T;this._addChar(this.data,S,b,v,y,p,m,A,C,E,a-1,e,i),(v+=p)+p>e&&(v=0,(y+=m)+m>i&&((o=this._getAtlas(a++)).clear(r),y=0))}this.atlases.splice(a).forEach((function(t){return t.destroy()})),this.atlases.forEach((function(t){return t.texture.upload()})),this.fire("render")},i._createJson=function(t,e,i,n){return{version:3,intensity:this.intensity,info:{face:e,width:i,height:n,maps:[{width:i,height:n}]},chars:{}}},i._addChar=function(t,e,i,n,s,r,a,o,h,l,c,u,d){t.info.maps.length0&&(e.setCameraUniforms(i.camera,a),e.renderForward(i.camera,Nw,zw,3,(function(e){var i=e.id;u[0]=(i>>16&255)/255,u[1]=(i>>8&255)/255,u[2]=(255&i)/255,u[3]=(i>>24&255)/255,c.setValue(u),t.setBlendState(Gi.NOBLEND)})),Nw.length=0)}}},e}(Er),Gw=new Set,Hw=function(){function t(t,e,i){this.renderTarget=null,this.mapping=new Map,t instanceof on&&(t=Mf()),this.renderer=t.renderer,this.device=t.graphicsDevice,this.renderPass=new Vw(this.device,t.renderer),this.width=0,this.height=0,this.resize(e,i)}var e=t.prototype;return e.getSelection=function(t,e,i,n){var s=this.device;if("object"==typeof t){var r=t;t=r.x,e=r.y,i=r.width,n=r.height}else e=this.renderTarget.height-(e+(n||1));t=Math.floor(t),e=Math.floor(e),i=Math.floor(Math.max(i||1,1)),n=Math.floor(Math.max(n||1,1)),s.setRenderTarget(this.renderTarget),s.updateBegin();var a=new Uint8Array(4*i*n);s.readPixels(t,e,i,n,a),s.updateEnd();for(var o=this.mapping,h=0;h0?h.wheelDelta=1:e.deltaY<0&&(h.wheelDelta=-1)),h}return S(e,t),e}(yT),ST=function(t){function e(e,i,n,s,r,a){var o;return(o=t.call(this,e,i,n)||this).touches=e.touches,o.changedTouches=e.changedTouches,o.x=s,o.y=r,o.touch=a,o}return S(e,t),e}(yT),bT=function(t){function e(e,i,n,s){var r;return(r=t.call(this,e,i,n)||this).inputSource=s,r}return S(e,t),e}(yT),wT=function(){function t(t,e){this._app=null,this._attached=!1,this._target=null,this._enabled=!0,this._lastX=0,this._lastY=0,this._upHandler=this._handleUp.bind(this),this._downHandler=this._handleDown.bind(this),this._moveHandler=this._handleMove.bind(this),this._wheelHandler=this._handleWheel.bind(this),this._touchstartHandler=this._handleTouchStart.bind(this),this._touchendHandler=this._handleTouchEnd.bind(this),this._touchcancelHandler=this._touchendHandler,this._touchmoveHandler=this._handleTouchMove.bind(this),this._sortHandler=this._sortElements.bind(this),this._elements=[],this._hoveredElement=null,this._pressedElement=null,this._touchedElements={},this._touchesForWhichTouchLeaveHasFired={},this._selectedElements={},this._selectedPressedElements={},this._useMouse=!e||!1!==e.useMouse,this._useTouch=!e||!1!==e.useTouch,this._useXr=!e||!1!==e.useXr,this._selectEventsAttached=!1,G.touch&&(this._clickedEntities={}),this.attach(t)}var e=t.prototype;return e.attach=function(t){this._attached&&(this._attached=!1,this.detach()),this._target=t,this._attached=!0;var e=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.addEventListener("mouseup",this._upHandler,e),window.addEventListener("mousedown",this._downHandler,e),window.addEventListener("mousemove",this._moveHandler,e),window.addEventListener("wheel",this._wheelHandler,e)),this._useTouch&&G.touch&&(this._target.addEventListener("touchstart",this._touchstartHandler,e),this._target.addEventListener("touchend",this._touchendHandler,!1),this._target.addEventListener("touchmove",this._touchmoveHandler,!1),this._target.addEventListener("touchcancel",this._touchcancelHandler,!1)),this.attachSelectEvents()},e.attachSelectEvents=function(){!this._selectEventsAttached&&this._useXr&&this.app&&this.app.xr&&this.app.xr.supported&&(this._clickedEntities||(this._clickedEntities={}),this._selectEventsAttached=!0,this.app.xr.on("start",this._onXrStart,this))},e.detach=function(){if(this._attached){this._attached=!1;var t=!!G.passiveEvents&&{passive:!0};this._useMouse&&(window.removeEventListener("mouseup",this._upHandler,t),window.removeEventListener("mousedown",this._downHandler,t),window.removeEventListener("mousemove",this._moveHandler,t),window.removeEventListener("wheel",this._wheelHandler,t)),this._useTouch&&(this._target.removeEventListener("touchstart",this._touchstartHandler,t),this._target.removeEventListener("touchend",this._touchendHandler,!1),this._target.removeEventListener("touchmove",this._touchmoveHandler,!1),this._target.removeEventListener("touchcancel",this._touchcancelHandler,!1)),this._selectEventsAttached&&(this._selectEventsAttached=!1,this.app.xr.off("start",this._onXrStart,this),this.app.xr.off("end",this._onXrEnd,this),this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)),this._target=null}},e.addElement=function(t){-1===this._elements.indexOf(t)&&this._elements.push(t)},e.removeElement=function(t){var e=this._elements.indexOf(t);-1!==e&&this._elements.splice(e,1)},e._handleUp=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mouseup",t)))},e._handleDown=function(t){this._enabled&&(aa.isPointerLocked()||(this._calcMouseCoords(t),this._onElementMouseEvent("mousedown",t)))},e._handleMove=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousemove",t),this._lastX=gw,this._lastY=vw)},e._handleWheel=function(t){this._enabled&&(this._calcMouseCoords(t),this._onElementMouseEvent("mousewheel",t))},e._determineTouchedElements=function(t){for(var e={},i=this.app.systems.camera.cameras,n=i.length-1;n>=0;n--){for(var s=i[n],r=0,a=t.changedTouches.length,o=0;o=0;d--){this._getTargetElementByCoords(e[d],u.x,u.y)===o&&(this._clickedEntities[o.entity.getGuid()]||(this._fireEvent("click",new ST(t,o,h,l,c,r)),this._clickedEntities[o.entity.getGuid()]=Date.now()))}this._fireEvent(t.type,new ST(t,o,h,l,c,r))}}}},e._handleTouchMove=function(t){if(t.preventDefault(),this._enabled)for(var e=this._determineTouchedElements(t),i=0,n=t.changedTouches.length;i=0&&(s=r[a],!(i=this._getTargetElementByCoords(s,gw,vw)));a--);if(this._hoveredElement=i,"mousemove"!==t&&"mouseup"!==t||!this._pressedElement?i&&(this._fireEvent(t,new xT(e,i,s,gw,vw,this._lastX,this._lastY)),"mousedown"===t&&(this._pressedElement=i)):this._fireEvent(t,new xT(e,this._pressedElement,s,gw,vw,this._lastX,this._lastY)),n!==this._hoveredElement&&(n&&this._fireEvent("mouseleave",new xT(e,n,s,gw,vw,this._lastX,this._lastY)),this._hoveredElement&&this._fireEvent("mouseenter",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))),"mouseup"===t&&this._pressedElement){if(this._pressedElement===this._hoveredElement){var o=this._hoveredElement.entity.getGuid(),h=!this._clickedEntities;if(this._clickedEntities){var l=this._clickedEntities[o]||0;h=Date.now()-l>300,delete this._clickedEntities[o]}h&&this._fireEvent("click",new xT(e,this._hoveredElement,s,gw,vw,this._lastX,this._lastY))}this._pressedElement=null}},e._onXrStart=function(){this.app.xr.on("end",this._onXrEnd,this),this.app.xr.on("update",this._onXrUpdate,this),this.app.xr.input.on("selectstart",this._onSelectStart,this),this.app.xr.input.on("selectend",this._onSelectEnd,this),this.app.xr.input.on("remove",this._onXrInputRemove,this)},e._onXrEnd=function(){this.app.xr.off("update",this._onXrUpdate,this),this.app.xr.input.off("selectstart",this._onSelectStart,this),this.app.xr.input.off("selectend",this._onSelectEnd,this),this.app.xr.input.off("remove",this._onXrInputRemove,this)},e._onXrUpdate=function(){if(this._enabled)for(var t=this.app.xr.input.inputSources,e=0;e=0&&(r=o[h],!(n=this._getTargetElementByRay(Zw,r)));h--);}e._elementEntity=n||null,n?(this._selectedElements[e.id]=n,s=n):delete this._selectedElements[e.id],a!==s&&(a&&this._fireEvent("selectleave",new bT(i,a,r,e)),s&&this._fireEvent("selectenter",new bT(i,s,r,e)));var l=this._selectedPressedElements[e.id];"selectmove"===t&&l&&this._fireEvent("selectmove",new bT(i,l,r,e)),"selectstart"===t&&(this._selectedPressedElements[e.id]=s,s&&this._fireEvent("selectstart",new bT(i,s,r,e))),!e.elementInput&&l&&(delete this._selectedPressedElements[e.id],a&&this._fireEvent("selectend",new bT(i,l,r,e))),"selectend"===t&&e.elementInput&&(delete this._selectedPressedElements[e.id],l&&this._fireEvent("selectend",new bT(i,l,r,e)),l&&l===a&&this._fireEvent("click",new bT(i,l,r,e)))},e._fireEvent=function(t,e){for(var i=e.element;i.fire(t,e),!e._stopPropagation&&i.entity.parent&&(i=i.entity.parent.element););},e._calcMouseCoords=function(t){var e=this._target.getBoundingClientRect(),i=Math.floor(e.left),n=Math.floor(e.top);gw=t.clientX-i,vw=t.clientY-n},e._calcTouchCoords=function(t){for(var e=0,i=0,n=t.target;!(n instanceof HTMLElement);)n=n.parentNode;var s=n;do{e+=s.offsetLeft-s.scrollLeft,i+=s.offsetTop-s.scrollTop,s=s.offsetParent}while(s);return{x:t.pageX-e,y:t.pageY-i}},e._sortElements=function(t,e){var i=this.app.scene.layers.sortTransparentLayers(t.layers,e.layers);return 0!==i?i:t.screen&&!e.screen?-1:!t.screen&&e.screen?1:t.screen||e.screen?t.screen.screen.screenSpace&&!e.screen.screen.screenSpace?-1:e.screen.screen.screenSpace&&!t.screen.screen.screenSpace?1:e.drawOrder-t.drawOrder:0},e._getTargetElementByCoords=function(t,e,i){var n=this._calculateRayScreen(e,i,t,Yw)?Yw:null,s=this._calculateRay3d(e,i,t,Kw)?Kw:null;return this._getTargetElement(t,n,s)},e._getTargetElementByRay=function(t,e){Yw.origin.copy(t.origin),Yw.direction.copy(t.direction),Yw.end.copy(Yw.direction).mulScalar(2*e.farClip).add(Yw.origin);var i=Yw,n=e.worldToScreen(i.origin,qw),s=this._calculateRayScreen(n.x,n.y,e,Kw)?Kw:null;return this._getTargetElement(e,s,i)},e._getTargetElement=function(t,e,i){var n=null,s=1/0;this._elements.sort(this._sortHandler);for(var r=0,a=this._elements.length;r=0){n=o;break}}else{if(!i)continue;var h=this._checkElement(i,o,!1);if(h>=0&&(h=h&&d<=l&&f<=c&&f>=u&&(d=s*(d-h)/a,f=r-(f=r*(f-u)/o),n.origin.set(d,f,1),n.direction.set(0,0,-1),n.end.copy(n.direction).mulScalar(2).add(n.origin),!0)},e._calculateRay3d=function(t,e,i,n){var s=this._target.clientWidth,r=this._target.clientHeight,a=i.rect.z*s,o=i.rect.w*r,h=i.rect.x*s,l=h+a,c=(1-i.rect.y)*r,u=c-o,d=t,f=e;return t>=h&&t<=l&&e<=c&&f>=u&&(d=s*(d-h)/a,f=r*(f-u)/o,i.screenToWorld(d,f,i.nearClip,qw),i.screenToWorld(d,f,i.farClip,jw),n.origin.copy(qw),n.direction.set(0,0,-1),n.end.copy(jw),!0)},e._checkElement=function(e,i,n){if(i.maskedBy&&this._checkElement(e,i.maskedBy.element,n)<0)return-1;var s;s=n?t.calculateScaleToScreen(i):t.calculateScaleToWorld(i);var r=t.buildHitCorners(i,n?i.screenCorners:i.worldCorners,s);return function(t,e,i){Qw.sub2(e,t),$w.sub2(i[0],t),Jw.sub2(i[1],t),tT.sub2(i[2],t),iT.cross(tT,Qw);var n,s,r=$w.dot(iT);if(r>=0){if((n=-Jw.dot(iT))<0)return-1;if((s=vT(Qw,Jw,$w))<0)return-1;var a=1/(n+r+s);nT.copy(i[0]).mulScalar(n*a),sT.copy(i[1]).mulScalar(r*a),rT.copy(i[2]).mulScalar(s*a),aT.copy(nT).add(sT).add(rT)}else{if(eT.sub2(i[3],t),(n=eT.dot(iT))<0)return-1;if((s=vT(Qw,$w,eT))<0)return-1;var o=1/(n+(r=-r)+s);nT.copy(i[0]).mulScalar(n*o),sT.copy(i[3]).mulScalar(r*o),rT.copy(i[2]).mulScalar(s*o),aT.copy(nT).add(sT).add(rT)}return Qw.sub2(i[0],i[2]).lengthSq()<1e-8||Qw.sub2(i[1],i[3]).lengthSq()<1e-8?-1:aT.sub(t).lengthSq()}(e.origin,e.end,r)},t.buildHitCorners=function(t,e,i){var n=e;if(t.entity&&t.entity.button){var s=t.entity.button.hitPadding||gT;lT.copy(t.entity.up),cT.copy(lT).mulScalar(-1),dT.copy(t.entity.right),uT.copy(dT).mulScalar(-1),lT.mulScalar(s.w*i.y),cT.mulScalar(s.y*i.y),dT.mulScalar(s.z*i.x),uT.mulScalar(s.x*i.x),fT.copy(n[0]).add(cT).add(uT),pT.copy(n[1]).add(cT).add(dT),mT.copy(n[2]).add(lT).add(dT),_T.copy(n[3]).add(lT).add(uT),n=[fT,pT,mT,_T]}if(i.x<0){var r=n[2].x,a=n[0].x;n[0].x=r,n[1].x=a,n[2].x=a,n[3].x=r}if(i.y<0){var o=n[2].y,h=n[0].y;n[0].y=o,n[1].y=o,n[2].y=h,n[3].y=h}if(i.z<0){var l=n[2].x,c=n[2].y,u=n[2].z;n[2].x=n[0].x,n[2].y=n[0].y,n[2].z=n[0].z,n[0].x=l,n[0].y=c,n[0].z=u}return n},t.calculateScaleToScreen=function(t){var e=t.entity,i=t.screen.screen.scale;for(hT.set(i,i,i);e&&!e.screen;)hT.mul(e.getLocalScale()),e=e.parent;return hT},t.calculateScaleToWorld=function(t){var e=t.entity;for(hT.set(1,1,1);e;)hT.mul(e.getLocalScale()),e=e.parent;return hT},y(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"app",get:function(){return this._app||Mf()},set:function(t){this._app=t}}]),t}(),TT=new RegExp("^\\s*function(?:\\s|\\s*\\/\\*.*\\*\\/\\s*)+([^\\(\\s\\/]*)\\s*"),AT=function(t){function e(e){var i;return(i=t.call(this)||this).app=void 0,i.entity=void 0,i._enabled=void 0,i._enabledOld=void 0,i._initialized=void 0,i._postInitialized=void 0,i.__destroyed=void 0,i.__attributes=void 0,i.__attributesRaw=void 0,i.__scriptType=void 0,i.__executionOrder=void 0,i.initScriptType(e),i}S(e,t);var i=e.prototype;return i.initScriptType=function(t){var e=this.constructor;this.app=t.app,this.entity=t.entity,this._enabled="boolean"!=typeof t.enabled||t.enabled,this._enabledOld=this.enabled,this.__destroyed=!1,this.__attributes={},this.__attributesRaw=t.attributes||{},this.__scriptType=e,this.__executionOrder=-1},e.__getScriptName=function(t){if("function"==typeof t){if("name"in Function.prototype)return t.name;if(t===Function||t===Function.prototype.constructor)return"Function";var e=(""+t).match(TT);return e?e[1]:void 0}},i.__initializeAttributes=function(t){if(t||this.__attributesRaw){for(var e in this.__scriptType.attributes.index)this.__attributesRaw&&this.__attributesRaw.hasOwnProperty(e)?this[e]=this.__attributesRaw[e]:this.__attributes.hasOwnProperty(e)||(this.__scriptType.attributes.index[e].hasOwnProperty("default")?this[e]=this.__scriptType.attributes.index[e].default:this[e]=null);this.__attributesRaw=null}},e.extend=function(t){for(var e in t)t.hasOwnProperty(e)&&(this.prototype[e]=t[e])},y(e,[{key:"enabled",get:function(){return this._enabled&&!this._destroyed&&this.entity.script.enabled&&this.entity.enabled},set:function(t){this._enabled=!!t,this.enabled!==this._enabledOld&&(this._enabledOld=this.enabled,this.fire(this.enabled?"enable":"disable"),this.fire("state",this.enabled),!this._initialized&&this.enabled&&(this._initialized=!0,this.__initializeAttributes(!0),this.initialize&&this.entity.script._scriptMethod(this,ox)),this._initialized&&!this._postInitialized&&this.enabled&&!this.entity.script._beingEnabled&&(this._postInitialized=!0,this.postInitialize&&this.entity.script._scriptMethod(this,hx)))}}],[{key:"scriptName",get:function(){return this.__name}},{key:"attributes",get:function(){return this.hasOwnProperty("__attributes")||(this.__attributes=new ax(this)),this.__attributes}}]),e}(P);AT.__name=null;var CT=new Set(["system","entity","create","destroy","swap","move","data","scripts","_scripts","_scriptsIndex","_scriptsData","enabled","_oldState","onEnable","onDisable","onPostStateChange","_onSetEnabled","_checkState","_onBeforeRemove","_onInitializeAttributes","_onInitialize","_onPostInitialize","_onUpdate","_onPostUpdate","_callbacks","_callbackActive","has","get","on","off","fire","once","hasEvent"]);function ET(t,e){if(Df.legacy)return null;if(CT.has(t))throw new Error("Script name '"+t+"' is reserved, please rename the script");var i=function(t){P.prototype.initEventHandler.call(this),AT.prototype.initScriptType.call(this,t)};return(i.prototype=Object.create(AT.prototype)).constructor=i,i.extend=AT.extend,i.attributes=new ax(i),PT(i,t,e),i}var MT={};function PT(t,e,i){if(!t.legacy){if("function"!=typeof t)throw new Error("script class: '"+t+"' must be a constructor function (i.e. class).");if(!(t.prototype instanceof AT))throw new Error("script class: '"+AT.__getScriptName(t)+"' does not extend pc.ScriptType.");if(e=e||t.__name||AT.__getScriptName(t),CT.has(e))throw new Error("script name: '"+e+"' is reserved, please change script name");t.__name=e,(i?i.scripts:yp.getApplication().scripts).add(t),Rf.push(t,t.legacy)}}ax.reservedNames.forEach((function(t,e,i){MT[t]=1})),ET.reservedAttributes=MT;var RT={write:function(t){console.log(t)},open:function(){RT.write("Powered by PlayCanvas "+c+" "+u)},info:function(t){console.info("INFO: "+t)},debug:function(t){console.debug("DEBUG: "+t)},error:function(t){console.error("ERROR: "+t)},warning:function(t){console.warn("WARNING: "+t)},alert:function(t){function e(e){return t.apply(this,arguments)}return e.toString=function(){return t.toString()},e}((function(t){RT.write("ALERT: "+t),alert(t)})),assert:function(t,e){!1===t&&RT.write("ASSERT: "+e)}};rt.endsWith=function(t,e){return t.endsWith(e)},rt.startsWith=function(t,e){return t.startsWith(e)};var IT=function(){function t(){this._isRunning=!1,this._a=0,this._b=0}var e=t.prototype;return e.start=function(){this._isRunning=!0,this._a=dt()},e.stop=function(){this._isRunning=!1,this._b=dt()},e.getMilliseconds=function(){return this._b-this._a},t}(),LT={now:dt,Timer:IT};Object.defineProperty(gt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.r,this._data[1]=this.g,this._data[2]=this.b,this._data[3]=this.a,this._data}}),Object.defineProperty(gt.prototype,"data3",{get:function(){return this._data3||(this._data3=new Float32Array(3)),this._data3[0]=this.r,this._data3[1]=this.g,this._data3[2]=this.b,this._data3}}),_t.INV_LOG2=Math.LOG2E,_t.intToBytes=_t.intToBytes32,_t.bytesToInt=_t.bytesToInt32,Object.defineProperty(It.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(2)),this._data[0]=this.x,this._data[1]=this.y,this._data}}),It.prototype.scale=It.prototype.mulScalar,Object.defineProperty(Et.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(3)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data}}),Et.prototype.scale=Et.prototype.mulScalar,Object.defineProperty(Dt.prototype,"data",{get:function(){return this._data||(this._data=new Float32Array(4)),this._data[0]=this.x,this._data[1]=this.y,this._data[2]=this.z,this._data[3]=this.w,this._data}}),Dt.prototype.scale=Dt.prototype.mulScalar;var DT={Aabb:jt,Sphere:Zt,Plane:se};Zt.prototype.intersectRay=Zt.prototype.intersectsRay,Qt.prototype.update=function(t,e){var i=new zt;i.mul2(t,e),this.setFromMat4(i)};var OT=yi;function kT(t){this.name="UnsupportedBrowserError",this.message=t||""}function FT(t){this.name="ContextCreationError",this.message=t||""}kT.prototype=Error.prototype,FT.prototype=Error.prototype;var BT={begin:Eo.begin,dummyFragmentCode:hr.dummyFragmentCode,end:Eo.end,fogCode:Eo.fogCode,gammaCode:Eo.gammaCode,precisionCode:hr.precisionCode,skinCode:Eo.skinCode,tonemapCode:Eo.tonemapCode,versionCode:hr.versionCode},UT={ADDRESS_CLAMP_TO_EDGE:1,ADDRESS_MIRRORED_REPEAT:2,ADDRESS_REPEAT:0,BLENDMODE_ZERO:0,BLENDMODE_ONE:1,BLENDMODE_SRC_COLOR:2,BLENDMODE_ONE_MINUS_SRC_COLOR:3,BLENDMODE_DST_COLOR:4,BLENDMODE_ONE_MINUS_DST_COLOR:5,BLENDMODE_SRC_ALPHA:6,BLENDMODE_SRC_ALPHA_SATURATE:7,BLENDMODE_ONE_MINUS_SRC_ALPHA:8,BLENDMODE_DST_ALPHA:9,BLENDMODE_ONE_MINUS_DST_ALPHA:10,BUFFER_STATIC:0,BUFFER_DYNAMIC:1,BUFFER_STREAM:2,CULLFACE_NONE:he,CULLFACE_BACK:1,CULLFACE_FRONT:2,CULLFACE_FRONTANDBACK:3,ELEMENTTYPE_INT8:0,ELEMENTTYPE_UINT8:yi,ELEMENTTYPE_INT16:2,ELEMENTTYPE_UINT16:3,ELEMENTTYPE_INT32:4,ELEMENTTYPE_UINT32:5,ELEMENTTYPE_FLOAT32:6,FILTER_NEAREST:0,FILTER_LINEAR:1,FILTER_NEAREST_MIPMAP_NEAREST:2,FILTER_NEAREST_MIPMAP_LINEAR:3,FILTER_LINEAR_MIPMAP_NEAREST:4,FILTER_LINEAR_MIPMAP_LINEAR:5,INDEXFORMAT_UINT8:0,INDEXFORMAT_UINT16:1,INDEXFORMAT_UINT32:2,PIXELFORMAT_RGB565:3,PIXELFORMAT_RGB8:6,PIXELFORMAT_RGBA8:7,PRIMITIVE_POINTS:0,PRIMITIVE_LINES:1,PRIMITIVE_LINELOOP:2,PRIMITIVE_LINESTRIP:3,PRIMITIVE_TRIANGLES:4,PRIMITIVE_TRISTRIP:Ce,PRIMITIVE_TRIFAN:6,SEMANTIC_POSITION:Ee,SEMANTIC_NORMAL:Me,SEMANTIC_COLOR:Le,SEMANTIC_TEXCOORD:De,SEMANTIC_TEXCOORD0:Oe,SEMANTIC_TEXCOORD1:ke,SEMANTIC_ATTR0:He,SEMANTIC_ATTR1:We,SEMANTIC_ATTR2:Xe,SEMANTIC_ATTR3:qe,TEXTURELOCK_READ:1,TEXTURELOCK_WRITE:2,drawQuadWithShader:Uo,programlib:BT,shaderChunks:wo,ContextCreationError:FT,Device:on,IndexBuffer:Tr,ProgramLibrary:bf,RenderTarget:ln,ScopeId:ji,Shader:vs,ShaderInput:Gs,Texture:Us,UnsupportedBrowserError:kT,VertexBuffer:Zi,VertexFormat:sn,VertexIterator:Gr},NT=new Dt;function zT(t,e,i,n,s){var r;if(s){var a=e?e.width:t.width,o=e?e.height:t.height;r=NT.set(s.x*a,s.y*o,s.z*a,s.w*o)}Uo(t,e,n,r)}var VT={createFullscreenQuad:function(t){return t.quadVertexBuffer},drawFullscreenQuad:zT,PostEffect:gf,PostEffectQueue:qy};Object.defineProperty(wo,"transformSkinnedVS",{get:function(){return"#define SKIN\n"+wo.transformVS}});Object.keys({"ambientPrefilteredCube.frag":"ambientEnv.frag","ambientPrefilteredCubeLod.frag":"ambientEnv.frag","dpAtlasQuad.frag":null,"genParaboloid.frag":null,"prefilterCubemap.frag":null,"reflectionDpAtlas.frag":"reflectionEnv.frag","reflectionPrefilteredCube.frag":"reflectionEnv.frag","reflectionPrefilteredCubeLod.frag":"reflectionEnv.frag"}).forEach((function(t){Object.defineProperty(wo,t,{get:function(){return null},set:function(){}})})),Object.defineProperties(ln.prototype,{_glFrameBuffer:{get:function(){return this.impl._glFrameBuffer},set:function(t){}}}),Object.defineProperty(sn,"defaultInstancingFormat",{get:function(){return sn.getDefaultInstancingFormat(Ja.get())}}),Object.defineProperties(Us.prototype,{rgbm:{get:function(){return this.type===ai},set:function(t){this.type=t?ai:ri}},swizzleGGGR:{get:function(){return this.type===li},set:function(t){this.type=t?li:ri}},_glTexture:{get:function(){return this.impl._glTexture}},autoMipmap:{get:function(){return this._mipmaps},set:function(t){this._mipmaps=t}}}),Object.defineProperty(on.prototype,"webgl2",{get:function(){return this.isWebGL2}}),on.prototype.getProgramLibrary=function(){return Ao(this)},on.prototype.setProgramLibrary=function(t){Co(this,t)},on.prototype.removeShaderFromCache=function(t){Ao(this).removeFromCache(t)},Gi.DEFAULT=Object.freeze(new Gi);var GT=new Gi,HT=new Hi;on.prototype.setBlendFunction=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(i.colorOp,t,e),GT.setAlphaBlend(i.alphaOp,t,e),this.setBlendState(GT)},on.prototype.setBlendFunctionSeparate=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorBlend(s.colorOp,t,e),GT.setAlphaBlend(s.alphaOp,i,n),this.setBlendState(GT)},on.prototype.setBlendEquation=function(t){var e=this.blendState;GT.copy(e),GT.setColorBlend(t,e.colorSrcFactor,e.colorDstFactor),GT.setAlphaBlend(t,e.alphaSrcFactor,e.alphaDstFactor),this.setBlendState(GT)},on.prototype.setBlendEquationSeparate=function(t,e){var i=this.blendState;GT.copy(i),GT.setColorBlend(t,i.colorSrcFactor,i.colorDstFactor),GT.setAlphaBlend(e,i.alphaSrcFactor,i.alphaDstFactor),this.setBlendState(GT)},on.prototype.setColorWrite=function(t,e,i,n){var s=this.blendState;GT.copy(s),GT.setColorWrite(t,e,i,n),this.setBlendState(GT)},on.prototype.getBlending=function(){return this.blendState.blend},on.prototype.setBlending=function(t){GT.copy(this.blendState),GT.blend=t,this.setBlendState(GT)},on.prototype.setDepthWrite=function(t){HT.copy(this.depthState),HT.write=t,this.setDepthState(HT)},on.prototype.setDepthFunc=function(t){HT.copy(this.depthState),HT.func=t,this.setDepthState(HT)},on.prototype.setDepthTest=function(t){HT.copy(this.depthState),HT.test=t,this.setDepthState(HT)},on.prototype.getCullMode=function(){return this.cullMode};var WT=vu,XT=Qh,qT={partitionSkin:JS,procedural:{calculateTangents:ho,createMesh:lo,createTorus:co,createCylinder:fo,createCapsule:po,createCone:mo,createSphere:_o,createPlane:go,createBox:vo},BasicMaterial:Ko,ForwardRenderer:Ru,GraphNode:_h,Material:Yo,Mesh:no,MeshInstance:Eh,Model:$u,ParticleEmitter:Kd,PhongMaterial:vu,Picker:Hw,Projection:{ORTHOGRAPHIC:1,PERSPECTIVE:0},Scene:rf,Skin:af,SkinInstance:Jo};function jT(t,e){Object.defineProperty(vu.prototype,e,{get:function(){return this[t]},set:function(e){this[t]=e}})}function YT(t,e){"pass"!==t&&Object.defineProperty(tu.prototype,t,{get:function(){return this.litOptions[e||t]},set:function(i){this.litOptions[e||t]=i}})}Object.defineProperty(rf.prototype,"defaultMaterial",{get:function(){return Xo(Mf().graphicsDevice)}}),Object.defineProperty(zu.prototype,"_meshInstances",{get:function(){return null}}),Object.defineProperty(rf.prototype,"drawCalls",{get:function(){return null}}),["128","64","32","16","8","4"].forEach((function(t,e){Object.defineProperty(rf.prototype,"skyboxPrefiltered"+t,{get:function(){return this._prefilteredCubemaps[e]},set:function(t){this._prefilteredCubemaps[e]=t,this.updateShaders=!0}})})),Object.defineProperty(rf.prototype,"models",{get:function(){return this._models||(this._models=[]),this._models}}),Object.defineProperty(Bu.prototype,"renderTarget",{set:function(t){this._renderTarget=t,this._dirtyComposition=!0},get:function(){return this._renderTarget}}),rf.prototype._updateSkybox=function(t){this._updateSky(t)},rf.prototype.addModel=function(t){if(!this.containsModel(t)){var e=this.layers.getLayerById(0);e&&(e.addMeshInstances(t.meshInstances),this.models.push(t))}},rf.prototype.addShadowCaster=function(t){var e=this.layers.getLayerById(0);e&&e.addShadowCasters(t.meshInstances)},rf.prototype.removeModel=function(t){var e=this.models.indexOf(t);if(-1!==e){var i=this.layers.getLayerById(0);if(!i)return;i.removeMeshInstances(t.meshInstances),this.models.splice(e,1)}},rf.prototype.removeShadowCasters=function(t){var e=this.layers.getLayerById(0);e&&e.removeShadowCasters(t.meshInstances)},rf.prototype.containsModel=function(t){return this.models.indexOf(t)>=0},rf.prototype.getModels=function(t){return this.models},Object.defineProperty(Zo.prototype,"model",{get:function(){return null}}),Ru.prototype.renderComposition=function(t){Mf().renderComposition(t)},Eh.prototype.syncAabb=function(){},Ju.prototype.getTarget=function(t){return this.targets[t]},_h.prototype._dirtify=function(t){t?this._dirtifyLocal():this._dirtifyWorld()},_h.prototype.addLabel=function(t){this._labels[t]=!0},_h.prototype.getLabels=function(){return Object.keys(this._labels)},_h.prototype.hasLabel=function(t){return!!this._labels[t]},_h.prototype.removeLabel=function(t){delete this._labels[t]},_h.prototype.findByLabel=function(t,e){void 0===e&&(e=[]),this.hasLabel(t)&&e.push(this);for(var i=0;i=r.length?e(new Error("Failed to create a graphics device")):Promise.resolve(r[i++]()).then((function(e){e?t(e):n()})).catch((function(t){console.log(t),n()}))}()}))},t.createMesh=lo,t.createPlane=go,t.createScript=ET,t.createShader=Mo,t.createShaderFromCode=Po,t.createSphere=_o,t.createStyle=function(t){var e=document.createElement("style");return e.type="text/css",e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t)),e},t.createTorus=co,t.createURI=function(t){var e="";if((t.authority||t.scheme)&&(t.host||t.hostpath))throw new Error("Can't have 'scheme' or 'authority' and 'host' or 'hostpath' option");if(t.host&&t.hostpath)throw new Error("Can't have 'host' and 'hostpath' option");if(t.path&&t.hostpath)throw new Error("Can't have 'path' and 'hostpath' option");return t.scheme&&(e+=t.scheme+":"),t.authority&&(e+="//"+t.authority),t.host&&(e+=t.host),t.path&&(e+=t.path),t.hostpath&&(e+=t.hostpath),t.query&&(e+="?"+t.query),t.fragment&&(e+="#"+t.fragment),e},t.data={},t.dracoInitialize=function(t){null!=t&&t.lazyInit?bx=t:Ex(t)},t.drawFullscreenQuad=zT,t.drawQuadWithShader=Uo,t.drawTexture=function(t,e,i,n,s,r){n=n||t.getCopyShader(),t.constantTexSource.setValue(e),Uo(t,i,n,s,r)},t.events=R,t.extend=p,t.getPixelFormatArrayType=Ae,t.getReservedScriptNames=function(){return CT},t.getTouchTargetCoords=Sa,t.gfx=UT,t.guid=I,t.http=Ca,t.inherits=function(t,e){var i=function(){},n=function(i,n,s,r,a,o,h,l){e.call(this,i,n,s,r,a,o,h,l),t.call(this,i,n,s,r,a,o,h,l)};return n._super=e.prototype,i.prototype=e.prototype,n.prototype=new i,n},t.input=tA,t.isCompressedPixelFormat=Te,t.log=RT,t.makeArray=function(t){return Array.prototype.slice.call(t)},t.math=_t,t.now=dt,t.path=L,t.pixelFormatInfo=we,t.platform=G,t.posteffect=VT,t.prefilterCubemap=function(t){},t.programlib=BT,t.registerScript=PT,t.reprojectTexture=Qc,t.revision=u,t.scene=qT,t.script=Df,t.semanticToLocation=Oi,t.shFromCubemap=function(t,e,i){if(7!==e.format)return null;if(!e._levels[0]||!e._levels[0][0])return null;var n=e.width;if(!e._levels[0][0].length){if(!(e._levels[0][0]instanceof HTMLImageElement))return null;for(var s=Po(t,wo.fullscreenQuadVS,wo.fullscreenQuadPS,"fsQuadSimple"),r=t.scope.resolve("source"),a=0;a<6;a++){var o=e._levels[0][a],h=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1});h._levels[0]=o,h.upload();var l=new Us(t,{name:"prefiltered-cube",cubemap:!1,type:ri,format:e.format,width:n,height:n,mipmaps:!1}),c=new ln({colorBuffer:l,depth:!1});r.setValue(h),t.setBlendState(Gi.NOBLEND),Uo(t,c,s);var u=t.gl;u.bindFramebuffer(u.FRAMEBUFFER,c.impl._glFrameBuffer);var d=new Uint8Array(n*n*4);u.readPixels(0,0,h.width,h.height,u.RGBA,u.UNSIGNED_BYTE,d),e._levels[0][a]=d}}for(var f=[],p=0;p